package com.gkhy.assess.system.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
import com.gkhy.assess.common.enums.DeleteFlagEnum;
|
import com.gkhy.assess.common.exception.ApiException;
|
import com.gkhy.assess.common.utils.StringUtils;
|
import com.gkhy.assess.system.domain.SysExpertClassify;
|
import com.gkhy.assess.system.mapper.SysExpertClassifyMapper;
|
import com.gkhy.assess.system.service.SysExpertClassifyService;
|
import com.gkhy.assess.system.utils.ShiroUtils;
|
import org.springframework.stereotype.Service;
|
|
import java.util.List;
|
import java.util.Objects;
|
import java.util.stream.Collectors;
|
|
/**
|
* <p>
|
* 系统专家分类表 服务实现类
|
* </p>
|
*
|
* @author kzy
|
* @since 2023-11-27 16:33:33
|
*/
|
@Service
|
public class SysExpertClassifyServiceImpl extends ServiceImpl<SysExpertClassifyMapper, SysExpertClassify> implements SysExpertClassifyService {
|
|
@Override
|
public List<SysExpertClassify> classifyTree(SysExpertClassify expertClassify) {
|
LambdaQueryWrapper<SysExpertClassify> lambdaQueryWrapper = Wrappers.<SysExpertClassify>lambdaQuery();
|
if(StringUtils.isNotBlank(expertClassify.getClassifyName())){
|
lambdaQueryWrapper.like(SysExpertClassify::getClassifyName,expertClassify.getClassifyName());
|
}
|
lambdaQueryWrapper.eq(SysExpertClassify::getDelFlag,DeleteFlagEnum.UN_DELETE.getCode());
|
List<SysExpertClassify> classifies= list(lambdaQueryWrapper);
|
//筛选出所有一级标签
|
return classifies.stream()
|
.filter(classifyEntity -> classifyEntity.getParentId()==0L)
|
.peek(classifyEntity -> classifyEntity.setChildren(this.listClassifyChildren(classifyEntity,classifies)))
|
.collect(Collectors.toList());
|
}
|
|
public List<SysExpertClassify> listClassifyChildren(SysExpertClassify classify,List<SysExpertClassify> classifies){
|
//递归查找子类
|
return classifies.stream()
|
.filter(classifyEntity -> Objects.equals(classifyEntity.getParentId(), classify.getId()))
|
.peek(classifyEntity -> classifyEntity.setChildren(this.listClassifyChildren(classifyEntity,classifies)))
|
.collect(Collectors.toList());
|
}
|
|
|
@Override
|
public int modClassify(SysExpertClassify expertClassify) {
|
expertClassify.setUpdateBy(ShiroUtils.getSysUser().getUsername());
|
boolean b=updateById(expertClassify);
|
if(!b){
|
throw new ApiException("修改专家分类失败");
|
}
|
return 1;
|
}
|
|
@Override
|
public int delClassify(Long classifyId) {
|
SysExpertClassify classify = new SysExpertClassify();
|
classify.setId(classifyId);
|
classify.setDelFlag(DeleteFlagEnum.DELETED.getCode());
|
classify.setUpdateBy(ShiroUtils.getSysUser().getUsername());
|
boolean b=updateById(classify);
|
if(!b){
|
throw new ApiException("删除专家分类失败");
|
}
|
return 1;
|
}
|
|
@Override
|
public int addClassify(SysExpertClassify expertClassify) {
|
expertClassify.setCreateBy(ShiroUtils.getSysUser().getUsername());
|
boolean b=save(expertClassify);
|
if(!b){
|
throw new ApiException("新增专家分类失败");
|
}
|
return 1;
|
}
|
}
|