heheng
2024-11-20 2d27b24029adafdbfc5703b38a519d65beda6a68
expert-system/src/main/java/com/gkhy/system/service/impl/SysExpertInfoServiceImpl.java
@@ -1,17 +1,18 @@
package com.gkhy.assess.system.service.impl;
package com.gkhy.system.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.gkhy.assess.common.api.CommonPage;
import com.gkhy.assess.common.enums.DeleteFlagEnum;
import com.gkhy.assess.common.exception.ApiException;
import com.gkhy.assess.common.utils.PageUtil;
import com.gkhy.assess.system.domain.SysAgency;
import com.gkhy.assess.system.domain.SysExpertInfo;
import com.gkhy.assess.system.domain.SysUser;
import com.gkhy.assess.system.mapper.SysExpertInfoMapper;
import com.gkhy.assess.system.service.SysExpertInfoService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.gkhy.assess.system.utils.ShiroUtils;
import com.gkhy.common.enums.DeleteFlagEnum;
import com.gkhy.common.exception.ServiceException;
import com.gkhy.common.utils.SecurityUtils;
import com.gkhy.system.domain.SysExpertInfo;
import com.gkhy.system.domain.vo.request.SysExpertInfoRoundReq;
import com.gkhy.system.domain.vo.request.SysExpertSearchReqDto;
import com.gkhy.system.domain.vo.response.ProjectExpertSectionResp;
import com.gkhy.system.domain.vo.response.SysExpertSearchRep;
import com.gkhy.system.mapper.SysExpertInfoMapper;
import com.gkhy.system.service.SysExpertInfoService;
import org.springframework.stereotype.Service;
import java.util.List;
@@ -28,21 +29,23 @@
public class SysExpertInfoServiceImpl extends ServiceImpl<SysExpertInfoMapper, SysExpertInfo> implements SysExpertInfoService {
    @Override
    public CommonPage exportInfoList(SysExpertInfo expertInfo) {
        PageUtil.startPage();
        List<SysExpertInfo> agencyList=baseMapper.expertInfoList(expertInfo);
        return CommonPage.restPage(agencyList);
    public List<SysExpertInfo> exportInfoList(SysExpertInfo expertInfo) {
        //todo 验证是否是管理不是管理只能看本部门
        if (!SecurityUtils.isAdmin(SecurityUtils.getUserId())){
            expertInfo.setDeptId(SecurityUtils.getDeptId());
        }
        return baseMapper.expertInfoList(expertInfo);
    }
    @Override
    public int addExpertInfo(SysExpertInfo expertInfo) {
        if(!checkIdCardUnique(new SysExpertInfo().setIdCard(expertInfo.getIdCard()))){
            throw new ApiException(expertInfo.getIdCard()+"身份证号码已经存在");
            throw new ServiceException("该业务处室申请数据已存在");
        }
        expertInfo.setCreateBy(ShiroUtils.getSysUser().getUsername());
        expertInfo.setCreateBy(expertInfo.getName());
        boolean b=save(expertInfo);
        if(!b){
            throw new ApiException("新增专家信息失败");
            throw new ServiceException("新增专家信息失败");
        }
        return 1;
    }
@@ -50,12 +53,12 @@
    @Override
    public int modExpertInfo(SysExpertInfo expertInfo) {
        if(!checkIdCardUnique(expertInfo)){
            throw new ApiException(expertInfo.getIdCard()+"身份证号码已经存在");
            throw new ServiceException("该业务处室申请数据已存在");
        }
        expertInfo.setUpdateBy(ShiroUtils.getSysUser().getUsername());
        expertInfo.setUpdateBy(SecurityUtils.getUsername());
        boolean b=updateById(expertInfo);
        if(!b){
            throw new ApiException("修改专家信息失败");
            throw new ServiceException("修改专家信息失败");
        }
        return 1;
    }
@@ -65,10 +68,10 @@
        SysExpertInfo expertInfo = new SysExpertInfo();
        expertInfo.setId(expertId);
        expertInfo.setDelFlag(DeleteFlagEnum.DELETED.getCode());
        expertInfo.setUpdateBy(ShiroUtils.getSysUser().getUsername());
        expertInfo.setUpdateBy(SecurityUtils.getUsername());
        boolean b= updateById(expertInfo);
        if(!b){
            throw new ApiException("删除专家信息失败");
            throw new ServiceException("删除专家信息失败");
        }
        return 1;
    }
@@ -87,12 +90,12 @@
    public SysExpertInfo checkExpertInfoDataScope(Long expertId) {
        if(expertId==null){
            throw new ApiException("专家id为空!");
            throw new ServiceException("专家id为空!");
        }
        SysExpertInfo expertInfo = baseMapper.getExpertInfoById(expertId);
        if (ObjectUtil.isNull(expertInfo))
        {
            throw new ApiException("专家数据不存在!");
            throw new ServiceException("专家数据不存在!");
        }
        return expertInfo;
    }
@@ -101,13 +104,27 @@
    public boolean changeApprove(SysExpertInfo expertInfo) {
        checkExpertInfoDataScope(expertInfo.getId());
        SysExpertInfo se=new SysExpertInfo().setId(expertInfo.getId()).setState(expertInfo.getState());
        se.setUpdateBy(ShiroUtils.getSysUser().getUsername());
        se.setUpdateBy(SecurityUtils.getUsername());
        return updateById(se);
    }
    @Override
    public SysExpertSearchRep queryApprove(SysExpertSearchReqDto expertInfo) {
        SysExpertSearchRep sysExpertSearchRep = baseMapper.queryApprove(expertInfo);
        if (null == sysExpertSearchRep){
            throw new ServiceException("申请记录不存!");
        }
        return sysExpertSearchRep;
    }
    @Override
    public List<ProjectExpertSectionResp> getExpertRound(SysExpertInfoRoundReq req) {
        return baseMapper.getExpertRound(req);
    }
    public boolean checkIdCardUnique(SysExpertInfo expertInfo){
        Long expertId = expertInfo.getId()==null? -1L : expertInfo.getId();
        SysExpertInfo info = baseMapper.checkIdcardUnique(expertInfo.getIdCard());
        SysExpertInfo info = baseMapper.checkIdcardUnique(expertInfo.getIdCard(),expertInfo.getDeptId());
        if (info!=null && info.getId().longValue() != expertId.longValue())
        {
            return false;