heheng
9 hours ago d45f521ab36d3c4759fc3ac3a6e0d6548c233567
expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertClassifyServiceImpl.java
@@ -1,15 +1,15 @@
package com.gkhy.system.service.impl;
import cn.hutool.core.util.ObjectUtil;
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.common.enums.DeleteFlagEnum;
import com.gkhy.common.exception.ServiceException;
import com.gkhy.common.utils.SecurityUtils;
import com.gkhy.common.utils.StringUtils;
import com.gkhy.system.domain.SysExpertClassify;
import com.gkhy.system.mapper.SysExpertClassifyMapper;
import com.gkhy.system.service.SysExpertClassifyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -27,14 +27,17 @@
@Service
public class SysExpertClassifyServiceImpl extends ServiceImpl<SysExpertClassifyMapper, SysExpertClassify> implements SysExpertClassifyService {
    @Autowired
    private SysExpertClassifyMapper sysExpertClassifyMapper;
    @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);
//        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);
        List<SysExpertClassify> classifies = sysExpertClassifyMapper.classifyList(expertClassify);
        //筛选出所有一级标签
        return classifies.stream()
                .filter(classifyEntity -> classifyEntity.getParentId()==0L)
@@ -53,6 +56,7 @@
    @Override
    public int modClassify(SysExpertClassify expertClassify) {
        //checkParams(expertClassify);
        expertClassify.setUpdateBy(SecurityUtils.getUsername());
        boolean b=updateById(expertClassify);
        if(!b){
@@ -76,6 +80,7 @@
    @Override
    public int addClassify(SysExpertClassify expertClassify) {
        //checkParams(expertClassify);
        expertClassify.setCreateBy(SecurityUtils.getUsername());
        boolean b=save(expertClassify);
        if(!b){
@@ -83,4 +88,28 @@
        }
        return 1;
    }
    @Override
    public long countByDeptId(Long deptId) {
        LambdaQueryWrapper<SysExpertClassify> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(SysExpertClassify::getDeptId,deptId).eq(SysExpertClassify::getDelFlag, DeleteFlagEnum.UN_DELETE.getCode());
        return baseMapper.selectCount(queryWrapper);
    }
    private void checkParams(SysExpertClassify expertClassify){
        if(expertClassify==null){
            throw new ServiceException("参数错误");
        }
        if(expertClassify.getDeptId() != null){
           LambdaQueryWrapper<SysExpertClassify> queryWrapper = new LambdaQueryWrapper<>();
           queryWrapper.eq(SysExpertClassify::getDeptId,expertClassify.getDeptId()).eq(SysExpertClassify::getDelFlag, DeleteFlagEnum.UN_DELETE.getCode());
           if (expertClassify.getId() != null){
               queryWrapper.ne(SysExpertClassify::getId,expertClassify.getId());
           }
            List<SysExpertClassify> sysExpertClassifies = baseMapper.selectList(queryWrapper);
            if(ObjectUtil.isNotEmpty(sysExpertClassifies)){
               throw new ServiceException("该处室已被"+sysExpertClassifies.get(0).getClassifyName()+"专业领域选中,请修改或者重新选择!");
           }
        }
    }
}