package com.smartor.service.impl;
|
|
import com.ruoyi.common.exception.base.BaseException;
|
import com.ruoyi.common.utils.DateUtils;
|
import com.ruoyi.common.utils.DtoConversionUtils;
|
import com.smartor.domain.IvrLibaTemplateAssort;
|
import com.smartor.domain.IvrLibaTemplateAssortVO;
|
import com.smartor.mapper.IvrLibaTemplateAssortMapper;
|
import com.smartor.service.IIvrLibaTemplateAssortService;
|
import io.jsonwebtoken.lang.Collections;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.commons.collections4.CollectionUtils;
|
import org.apache.commons.lang3.ObjectUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
import java.util.stream.Collectors;
|
|
/**
|
* 模板分类Service业务层处理
|
*
|
* @author ruoyi
|
* @date 2023-12-23
|
*/
|
@Slf4j
|
@Service
|
public class IvrLibaTemplateAssortServiceImpl implements IIvrLibaTemplateAssortService {
|
@Autowired
|
private IvrLibaTemplateAssortMapper ivrLibaTemplateAssortMapper;
|
|
/**
|
* 查询模板分类
|
*
|
* @param id 模板分类主键
|
* @return 模板分类
|
*/
|
@Override
|
public IvrLibaTemplateAssort selectIvrLibaTemplateAssortById(Long id) {
|
return ivrLibaTemplateAssortMapper.selectIvrLibaTemplateAssortById(id);
|
}
|
|
/**
|
* 查询模板分类列表
|
*
|
* @param ivrLibaScriptAssort 模板分类
|
* @return 模板分类
|
*/
|
@Override
|
public List<IvrLibaTemplateAssortVO> selectIvrLibaTemplateAssortList(IvrLibaTemplateAssort ivrLibaScriptAssort) {
|
List<IvrLibaTemplateAssort> ivrLibaTemplateAssorts = ivrLibaTemplateAssortMapper.selectIvrLibaTemplateAssortList(ivrLibaScriptAssort);
|
//将pid为空的,过滤掉
|
// ivrLibaTemplateAssorts = ivrLibaTemplateAssorts.stream().filter(assort -> assort.getPid() == null).collect(Collectors.toList());
|
|
List<IvrLibaTemplateAssortVO> ivrLibaTemplateAssortVOS = DtoConversionUtils.sourceToTarget(ivrLibaTemplateAssorts, IvrLibaTemplateAssortVO.class);
|
//遍历查出来的数据,通过 id=pid 获取他们的子数据
|
for (IvrLibaTemplateAssortVO ivrLibaTemplateAssortVO : ivrLibaTemplateAssortVOS) {
|
// if (ivrLibaTemplateAssortVO.getPid() != null) {
|
// continue;
|
// }
|
IvrLibaTemplateAssort ivrLibaTemplateAssort = new IvrLibaTemplateAssort();
|
ivrLibaTemplateAssort.setPid(ivrLibaTemplateAssortVO.getId());
|
List<IvrLibaTemplateAssort> ivrLibaTemplateAssorts1 = ivrLibaTemplateAssortMapper.selectIvrLibaTemplateAssortList(ivrLibaTemplateAssort);
|
if (!Collections.isEmpty(ivrLibaTemplateAssorts1)) {
|
ivrLibaTemplateAssortVO.setIvrLibaTemplateAssortList(ivrLibaTemplateAssorts1);
|
}
|
}
|
return ivrLibaTemplateAssortVOS;
|
}
|
|
/**
|
* 新增模板分类
|
*
|
* @param ivrLibaTemplateAssort 模板分类
|
* @return 结果
|
*/
|
@Override
|
public int insertIvrLibaTemplateAssort(IvrLibaTemplateAssort ivrLibaTemplateAssort) {
|
ivrLibaTemplateAssort.setCreateTime(DateUtils.getNowDate());
|
return ivrLibaTemplateAssortMapper.insertIvrLibaTemplateAssort(ivrLibaTemplateAssort);
|
}
|
|
@Override
|
public int insertIvrLibaTemplateAssortTree(IvrLibaTemplateAssortVO ivrLibaTemplateAssortVO) {
|
Integer i = null;
|
if (ObjectUtils.isEmpty(ivrLibaTemplateAssortVO)) {
|
throw new BaseException("入参为空,请检查后,再新增");
|
}
|
Integer seqMax = null;
|
try {
|
seqMax = ivrLibaTemplateAssortMapper.selectSeqMax();
|
} catch (Exception e) {
|
seqMax = 0;
|
}
|
|
IvrLibaTemplateAssort ivrLibaTemplateAssort = DtoConversionUtils.sourceToTarget(ivrLibaTemplateAssortVO, IvrLibaTemplateAssort.class);
|
ivrLibaTemplateAssort.setSeqno(1);
|
if (seqMax != null) {
|
ivrLibaTemplateAssort.setSeqno(seqMax + 1);
|
}
|
i = ivrLibaTemplateAssortMapper.insertIvrLibaTemplateAssort(ivrLibaTemplateAssort);
|
log.info("问模板分类一级树的主键:{}", ivrLibaTemplateAssort.getId());
|
|
//新增二级树
|
if (CollectionUtils.isNotEmpty(ivrLibaTemplateAssortVO.getIvrLibaTemplateAssortList())) {
|
for (IvrLibaTemplateAssort ivrLibaTemplateAssort1 : ivrLibaTemplateAssortVO.getIvrLibaTemplateAssortList()) {
|
Integer seqMax1 = null;
|
try {
|
seqMax1 = ivrLibaTemplateAssortMapper.selectSeqMax();
|
} catch (Exception e) {
|
seqMax1 = 0;
|
}
|
ivrLibaTemplateAssort1.setGuid(ivrLibaTemplateAssortVO.getGuid());
|
ivrLibaTemplateAssort1.setOrgid(ivrLibaTemplateAssortVO.getOrgid());
|
ivrLibaTemplateAssort1.setPid(ivrLibaTemplateAssort.getId());
|
ivrLibaTemplateAssort1.setSeqno(seqMax1 + 1);
|
ivrLibaTemplateAssortMapper.insertIvrLibaTemplateAssort(ivrLibaTemplateAssort1);
|
}
|
}
|
|
return i;
|
}
|
|
/**
|
* 修改模板分类
|
*
|
* @param ivrLibaTemplateAssort 模板分类
|
* @return 结果
|
*/
|
@Override
|
public int updateIvrLibaTemplateAssort(IvrLibaTemplateAssort ivrLibaTemplateAssort) {
|
ivrLibaTemplateAssort.setUpdateTime(DateUtils.getNowDate());
|
return ivrLibaTemplateAssortMapper.updateIvrLibaTemplateAssort(ivrLibaTemplateAssort);
|
}
|
|
/**
|
* 批量删除模板分类
|
*
|
* @param ids 需要删除的模板分类主键
|
* @return 结果
|
*/
|
@Override
|
public Integer deleteIvrLibaTemplateAssortByIds(Long[] ids) {
|
Integer i = null;
|
for (Long id : ids) {
|
if (id < 0) {
|
log.info("该模板分类id为默认id,不能删除,id:{}", id);
|
continue;
|
}
|
i = ivrLibaTemplateAssortMapper.deleteIvrLibaTemplateAssortById(id);
|
IvrLibaTemplateAssort ivrLibaTemplateAssort = new IvrLibaTemplateAssort();
|
ivrLibaTemplateAssort.setPid(id);
|
List<IvrLibaTemplateAssort> ivrLibaTemplateAssorts = ivrLibaTemplateAssortMapper.selectIvrLibaTemplateAssortList(ivrLibaTemplateAssort);
|
if (CollectionUtils.isNotEmpty(ivrLibaTemplateAssorts)) {
|
for (IvrLibaTemplateAssort ivrLibaTemplateAssort1 : ivrLibaTemplateAssorts) {
|
ivrLibaTemplateAssort1.setPid(-1L);
|
ivrLibaTemplateAssortMapper.updateIvrLibaTemplateAssort(ivrLibaTemplateAssort1);
|
}
|
}
|
|
}
|
return i;
|
}
|
|
/**
|
* 删除模板分类信息
|
*
|
* @param id 模板分类主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteIvrLibaTemplateAssortById(Long id) {
|
return ivrLibaTemplateAssortMapper.deleteIvrLibaTemplateAssortById(id);
|
}
|
|
}
|