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.SvyLibTitleCategory;
|
import com.smartor.domain.SvyLibTitleCategoryVO;
|
import com.smartor.mapper.SvyLibTitleCategoryMapper;
|
import com.smartor.service.ISvyLibTitleCategoryService;
|
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-27
|
*/
|
@Slf4j
|
@Service
|
public class SvyLibTitleCategoryServiceImpl implements ISvyLibTitleCategoryService {
|
@Autowired
|
private SvyLibTitleCategoryMapper svyLibTitleCategoryMapper;
|
|
/**
|
* 查询问卷模板分类
|
*
|
* @param id 问卷模板分类主键
|
* @return 问卷模板分类
|
*/
|
@Override
|
public SvyLibTitleCategory selectSvyLibTitleCategoryById(Long id) {
|
return svyLibTitleCategoryMapper.selectSvyLibTitleCategoryById(id);
|
}
|
|
/**
|
* 查询问卷模板分类列表
|
*
|
* @param svyLibTitleCategory 问卷模板分类
|
* @return 问卷模板分类
|
*/
|
@Override
|
public List<SvyLibTitleCategoryVO> selectSvyLibTitleCategoryList(SvyLibTitleCategory svyLibTitleCategory) {
|
List<SvyLibTitleCategory> svyLibTitleCategories = svyLibTitleCategoryMapper.selectSvyLibTitleCategoryList(svyLibTitleCategory);
|
//将pid为空的,过滤掉
|
svyLibTitleCategories = svyLibTitleCategories.stream().filter(assort -> assort.getPid() == null).collect(Collectors.toList());
|
|
List<SvyLibTitleCategoryVO> svyLibTitleCategoryVOList = DtoConversionUtils.sourceToTarget(svyLibTitleCategories, SvyLibTitleCategoryVO.class);
|
//遍历查出来的数据,通过 id=pid 获取他们的子数据
|
for (SvyLibTitleCategoryVO svyLibTitleCategoryVO : svyLibTitleCategoryVOList) {
|
if (svyLibTitleCategoryVO.getPid() != null) {
|
continue;
|
}
|
SvyLibTitleCategory svyLibTitleCategory1 = new SvyLibTitleCategory();
|
svyLibTitleCategory1.setPid(svyLibTitleCategoryVO.getId());
|
List<SvyLibTitleCategory> svyLibTitleCategoryList = svyLibTitleCategoryMapper.selectSvyLibTitleCategoryList(svyLibTitleCategory1);
|
if (!Collections.isEmpty(svyLibTitleCategoryList)) {
|
svyLibTitleCategoryVO.setSvyLibTitleCategoryList(svyLibTitleCategoryList);
|
}
|
}
|
return svyLibTitleCategoryVOList;
|
}
|
|
/**
|
* 新增问卷模板分类
|
*
|
* @param svyLibTitleCategory 问卷模板分类
|
* @return 结果
|
*/
|
@Override
|
public int insertSvyLibTitleCategory(SvyLibTitleCategory svyLibTitleCategory) {
|
svyLibTitleCategory.setCreateTime(DateUtils.getNowDate());
|
return svyLibTitleCategoryMapper.insertSvyLibTitleCategory(svyLibTitleCategory);
|
}
|
|
/**
|
* 修改问卷模板分类
|
*
|
* @param svyLibTitleCategory 问卷模板分类
|
* @return 结果
|
*/
|
@Override
|
public int updateSvyLibTitleCategory(SvyLibTitleCategory svyLibTitleCategory) {
|
svyLibTitleCategory.setUpdateTime(DateUtils.getNowDate());
|
return svyLibTitleCategoryMapper.updateSvyLibTitleCategory(svyLibTitleCategory);
|
}
|
|
/**
|
* 批量删除问卷模板分类
|
*
|
* @param ids 需要删除的问卷模板分类主键
|
* @return 结果
|
*/
|
@Override
|
public int deleteSvyLibTitleCategoryByIds(Long[] ids) {
|
Integer i = null;
|
for (Long id : ids) {
|
i = svyLibTitleCategoryMapper.deleteSvyLibTitleCategoryById(id);
|
SvyLibTitleCategory svyLibTitleCategory = new SvyLibTitleCategory();
|
svyLibTitleCategory.setPid(id);
|
|
//放到未分配下面
|
List<SvyLibTitleCategory> svyLibTitleCategoryList = svyLibTitleCategoryMapper.selectSvyLibTitleCategoryList(svyLibTitleCategory);
|
if (CollectionUtils.isNotEmpty(svyLibTitleCategoryList)) {
|
for (SvyLibTitleCategory svyLibTitleCategory1 : svyLibTitleCategoryList) {
|
svyLibTitleCategory1.setPid(999999999L);
|
svyLibTitleCategoryMapper.updateSvyLibTitleCategory(svyLibTitleCategory1);
|
}
|
}
|
}
|
return i;
|
}
|
|
@Override
|
public int insertSvyLibTitleCategoryTree(SvyLibTitleCategoryVO svyLibTitleCategoryVO) {
|
Integer i = null;
|
if (ObjectUtils.isEmpty(svyLibTitleCategoryVO)) {
|
throw new BaseException("入参为空,请检查后,再新增");
|
}
|
Integer seqMax = svyLibTitleCategoryMapper.selectSeqMax();
|
SvyLibTitleCategory svyLibTitleCategory = DtoConversionUtils.sourceToTarget(svyLibTitleCategoryVO, SvyLibTitleCategory.class);
|
svyLibTitleCategory.setSeqno(1);
|
if (seqMax != null) {
|
svyLibTitleCategory.setSeqno(seqMax + 1);
|
}
|
|
i = svyLibTitleCategoryMapper.insertSvyLibTitleCategory(svyLibTitleCategory);
|
log.info("问题话术分类库一级树的主键:{}", svyLibTitleCategory.getId());
|
|
//新增二级树
|
if (CollectionUtils.isNotEmpty(svyLibTitleCategoryVO.getSvyLibTitleCategoryList())) {
|
for (SvyLibTitleCategory svyLibTitleCategory1 : svyLibTitleCategoryVO.getSvyLibTitleCategoryList()) {
|
Integer seqMax1 = svyLibTitleCategoryMapper.selectSeqMax();
|
svyLibTitleCategory1.setPid(svyLibTitleCategory.getId());
|
svyLibTitleCategory1.setSeqno(1);
|
if (seqMax1 != null) {
|
svyLibTitleCategory1.setSeqno(seqMax1 + 1);
|
}
|
svyLibTitleCategoryMapper.insertSvyLibTitleCategory(svyLibTitleCategory1);
|
}
|
}
|
return i;
|
}
|
|
}
|