package com.zhongzheng.service.impl; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.zhongzheng.bo.SysCertificateBo; import com.zhongzheng.common.filter.CustomException; import com.zhongzheng.common.util.DateUtils; import com.zhongzheng.domian.*; import com.zhongzheng.mapper.SysCertificateAdditionMapper; import com.zhongzheng.mapper.SysCertificateMapper; import com.zhongzheng.mapper.SysPersonMapper; import com.zhongzheng.service.ISysCertificateAdditionService; import com.zhongzheng.service.ISysCertificateService; import com.zhongzheng.service.ISysCompanyService; import com.zhongzheng.service.ISysPersonService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Collections; import java.util.List; /** * 菜单 业务层处理 * * @author zhongzheng */ @Service public class SysCertificateAdditionServiceImpl extends ServiceImpl implements ISysCertificateAdditionService { public static final String PREMISSION_STRING = "perms[\"{0}\"]"; @Autowired private SysPersonMapper personMapper; @Autowired private ISysCertificateService sysCertSeaService; @Autowired private ISysCompanyService sysCompanyService; @Autowired private ISysPersonService sysPersonService; @Autowired private SysCertificateMapper certMapper; @Autowired private SysCertificateAdditionMapper certAddMapper; @Override public long insertCertificateAddition(SysCertificateBo entity) { SysCertificateAddition p =null; p = getOne(new LambdaUpdateWrapper() .eq(SysCertificateAddition::getCertificateId, entity.getCertificateId()) .eq(ObjectUtils.isNotNull(entity.getMajorId()), SysCertificateAddition::getMajorId, entity.getMajorId()) .eq(SysCertificateAddition::getStatus, 1)); if(p!=null&&p.getCertificateAdditionId()>0){ throw new CustomException("证书对应的专业已存在"); } SysCertificateAddition p2 = getOne(new LambdaUpdateWrapper() .eq(SysCertificateAddition::getCertificateId,entity.getCertificateId()) .eq(SysCertificateAddition::getStatus,1)); SysCertificateAddition model = new SysCertificateAddition(); model.setCertificateId(entity.getCertificateId()); model.setExpiryDate(entity.getExpiryDate()); model.setCreateTime(DateUtils.getNowTime()); model.setMajorId(entity.getMajorId()); model.setCreator(entity.getUserId()); model.setIsPrimary(0); if(p2==null) { model.setIsPrimary(1); } return certAddMapper.insert(model); } @Override public void updateCertificateAddition(SysCertificateBo entity, long userid) { SysCertificateAddition model = new SysCertificateAddition(); model.setCertificateId(entity.getCertificateId()); model.setCreator(entity.getUserId()); model.setExpiryDate(entity.getExpiryDate()); model.setCreateTime(DateUtils.getNowTime()); model.setStatus(1); model.setMajorId(entity.getMajorId()); model.setMajorName(entity.getMajorName()); model.setCertificateAdditionId(entity.getCertificateAdditionId()); String majorName = entity.getMajorName(); Integer majorId = entity.getMajorId(); if (model.getCertificateAdditionId() !=null&&model.getCertificateAdditionId() > 0) { certAddMapper.updateById(model); } else { SysCertificateAddition p =null; p = getOne(new LambdaUpdateWrapper() .eq(SysCertificateAddition::getCertificateId, entity.getCertificateId()) .eq(ObjectUtils.isNotNull(entity.getMajorId()), SysCertificateAddition::getMajorId, entity.getMajorId()) .eq(SysCertificateAddition::getStatus, 1)); if(p==null){ certAddMapper.insert(model); } } } @Override public boolean deleteCertificateAdditionById(Long id, long userid) { SysCertificateAddition model = certAddMapper.selectById(id); model.setStatus(-1); model.setModifier(userid); model.setUpdateTime(DateUtils.getNowTime()); return certAddMapper.updateById(model)>0; } @Override public List selectCertificateAdditionByCertId(Long id) { return list(new LambdaUpdateWrapper() .eq(SysCertificateAddition::getCertificateId, id) .eq(SysCertificateAddition::getStatus, 1)); } @Override public List selectCertificateAdditionByCertIds(List ids) { return list(new LambdaUpdateWrapper() .in(SysCertificateAddition::getCertificateId, ids) .eq(SysCertificateAddition::getStatus, 1)); } }