package com.gk.firework.Service.ServiceImpl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.gk.firework.Domain.Enterprise; import com.gk.firework.Domain.EnterpriseResource; import com.gk.firework.Domain.EnterpriseStandardization; import com.gk.firework.Domain.Exception.BusinessException; import com.gk.firework.Domain.UserInfo; import com.gk.firework.Domain.Utils.*; import com.gk.firework.Domain.Utils.Properties; import com.gk.firework.Domain.Vo.EnterpriseStandardizationVo; import com.gk.firework.Mapper.EnterpriseStandardizationMapper; import com.gk.firework.Service.EnterpriseResourceService; import com.gk.firework.Service.EnterpriseStandardizationService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import java.util.*; @Service("enterpriseStandardizationService") public class EnterpriseStandardizationServiceImpl extends ServiceImpl implements EnterpriseStandardizationService { @Autowired private EnterpriseStandardizationMapper enterpriseStandardizationMapper; @Autowired private EnterpriseResourceService enterpriseResourceService; @Override public Page selectPage(Page page, Long id) { Map params = new HashMap<>(); params.put("id", id); params.put("tabletype", Constants.STANDARDIZATION); List enterpriseStandardizations = enterpriseStandardizationMapper.selectPages(page, params); page.setRecords(enterpriseStandardizations); return page; } @Override @Transactional public void addEnterpriseStandardization(EnterpriseStandardizationVo enterpriseStandardizationVo, UserInfo user) throws Exception { //新增标准化 EnterpriseStandardization es = new EnterpriseStandardization(); es.setLevel(enterpriseStandardizationVo.getLevel()); es.setLicensenumber(enterpriseStandardizationVo.getLicensenumber()); es.setReviewunit(enterpriseStandardizationVo.getReviewunit()); es.setLicensingunit(enterpriseStandardizationVo.getLicensingunit()); es.setScore(enterpriseStandardizationVo.getScore()); es.setValidstarttime(enterpriseStandardizationVo.getValidstarttime()); es.setValidendtime(enterpriseStandardizationVo.getValidendtime()); es.setCreatetime(new Date()); es.setCreateby(user.getId()); es.setCreatebyname(user.getUsername()); es.setEnterpriseid(enterpriseStandardizationVo.getEnterpriseid()); es.setValidflag(true); this.save(es); //新增图片信息 List ers = null; if (enterpriseStandardizationVo.getFile() != null && enterpriseStandardizationVo.getFile().length > 0) { ers = new ArrayList<>(); Date now = new Date(); for (MultipartFile file : enterpriseStandardizationVo.getFile()) { //上传文件 获取新的文件名 String name = UploadUtil.uploadFile(file, Properties.enterprisePath); EnterpriseResource er = new EnterpriseResource(); er.setBelongid(es.getId()); er.setTabletype(Constants.STANDARDIZATION); er.setCreateby(user.getId()); er.setCreatebyname(user.getUsername()); er.setCreatetime(now); er.setFilename(file.getOriginalFilename()); er.setUrl(Properties.enterprise + name); er.setValidflag(true); ers.add(er); } enterpriseResourceService.saveBatch(ers); } } @Override @Transactional public void modEnterpriseStandardization(EnterpriseStandardizationVo enterpriseStandardizationVo, UserInfo user) throws Exception { //修改标准化 EnterpriseStandardization es = new EnterpriseStandardization(); es.setId(enterpriseStandardizationVo.getId()); es.setLevel(enterpriseStandardizationVo.getLevel()); es.setLicensenumber(enterpriseStandardizationVo.getLicensenumber()); es.setReviewunit(enterpriseStandardizationVo.getReviewunit()); es.setLicensingunit(enterpriseStandardizationVo.getLicensingunit()); es.setScore(enterpriseStandardizationVo.getScore()); es.setValidstarttime(enterpriseStandardizationVo.getValidstarttime()); es.setValidendtime(enterpriseStandardizationVo.getValidendtime()); es.setUpdatetime(new Date()); es.setUpdateby(user.getId()); es.setUpdatebyname(user.getUsername()); es.setEnterpriseid(enterpriseStandardizationVo.getEnterpriseid()); this.updateById(es); //修改图片 List imgIds = enterpriseStandardizationVo.getImgids(); //1.删除图片 List dels = null; if (imgIds !=null && imgIds.size() > 0) { dels = new ArrayList<>(); Date now = new Date(); for (Long id:imgIds) { EnterpriseResource er = new EnterpriseResource(); er.setId(id); er.setValidflag(false); er.setUpdateby(user.getId()); er.setUpdatebyname(user.getUsername()); er.setUpdatetime(now); dels.add(er); } //删除 enterpriseResourceService.updateBatchById(dels); } //2.新增 List adds = null; if (enterpriseStandardizationVo.getFile() !=null && enterpriseStandardizationVo.getFile().length > 0) { adds = new ArrayList<>(); Date now = new Date(); for (MultipartFile file : enterpriseStandardizationVo.getFile()) { String name = UploadUtil.uploadFile(file, Properties.enterprisePath); EnterpriseResource er = new EnterpriseResource(); er.setTabletype(Constants.STANDARDIZATION); er.setFilename(file.getOriginalFilename()); er.setUrl(Properties.enterprise + name); er.setCreatetime(now); er.setCreateby(user.getId()); er.setCreatebyname(user.getUsername()); er.setBelongid(enterpriseStandardizationVo.getId()); er.setValidflag(true); adds.add(er); } //执行 enterpriseResourceService.saveBatch(adds); } } @Override public void delEnterpriseStandardization(Long id, UserInfo user) { EnterpriseStandardization es = new EnterpriseStandardization(); es.setId(id); es.setUpdatebyname(user.getUsername()); es.setUpdateby(user.getId()); es.setUpdatetime(new Date()); es.setValidflag(false); this.updateById(es); } @Override public EnterpriseStandardization getOne(Long id) { Map params = new HashMap<>(); params.put("id", id); params.put("tabletype", Constants.STANDARDIZATION); List enterpriseStandardizations = enterpriseStandardizationMapper.selectStandardization(params); if (enterpriseStandardizations.size() > 0) { return enterpriseStandardizations.get(0); } return null; } /** * @Description: 新增|修改的校验 * @date 2021/4/6 14:54 */ @Override public void checkEnterpriseStandardization(EnterpriseStandardizationVo enterpriseStandardizationVo) { if (StringUtils.isBlank(enterpriseStandardizationVo.getLevel())) { throw new BusinessException("标准化级别不能为空"); } if (StringUtils.isBlank(enterpriseStandardizationVo.getLicensenumber())) { throw new BusinessException("证书编号不能为空"); } if (StringUtils.isBlank(enterpriseStandardizationVo.getReviewunit())) { throw new BusinessException("评审单位不能为空"); } if (StringUtils.isBlank(enterpriseStandardizationVo.getLicensingunit())) { throw new BusinessException("发牌单位不能为空"); } if (enterpriseStandardizationVo.getScore() == null) { throw new BusinessException("考核得分不能为空"); } if (enterpriseStandardizationVo.getValidstarttime() == null || enterpriseStandardizationVo.getValidendtime() == null) { throw new BusinessException("有效期不能为空"); } } }