package com.gk.firework.Service.ServiceImpl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.Config.Oauth2.IRedisService; import com.gk.firework.Domain.Enterprise; import com.gk.firework.Domain.EnterpriseLicense; import com.gk.firework.Domain.EnterpriseResource; import com.gk.firework.Domain.Exception.BusinessException; import com.gk.firework.Domain.UserInfo; import com.gk.firework.Domain.Utils.Constants; import com.gk.firework.Domain.Utils.Properties; import com.gk.firework.Domain.Utils.StringUtils; import com.gk.firework.Domain.Utils.UploadUtil; import com.gk.firework.Domain.Vo.EnterpriseLicenseVo; import com.gk.firework.Mapper.EnterpriseLicenseMapper; import com.gk.firework.Service.EnterpriseLicenseService; import com.gk.firework.Service.EnterpriseResourceService; import org.apache.catalina.User; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; import java.util.*; @Service("enterpriseLicenseService") public class EnterpriseLicenseServiceImpl extends ServiceImpl implements EnterpriseLicenseService { @Autowired private EnterpriseLicenseMapper enterpriseLicenseMapper; @Autowired private EnterpriseResourceService enterpriseResourceService; /** * @Description: 根据创建时间排序,分页 * @date 2021/3/24 14:57 */ @Override public IPage selectPage(Long id, Page page) { Map params = new HashMap<>(); params.put("id", id); params.put("tabletype", Constants.LICENSE); List list = enterpriseLicenseMapper.selectPages(page,params); page.setRecords(list); return page; } /** * @Description: 新增许可证信息 * @date 2021/3/24 14:09 */ @Override @Transactional public void addEnterpriseLicense(EnterpriseLicenseVo enterpriseLicenseVo, UserInfo user) throws Exception { //新增信息 EnterpriseLicense el = new EnterpriseLicense(); el.setLicensenumber(enterpriseLicenseVo.getLicensenumber()); el.setLicensename(enterpriseLicenseVo.getLicensename()); el.setRanges(enterpriseLicenseVo.getRanges()); el.setValidstarttime(enterpriseLicenseVo.getValidstarttime()); el.setValidendtime(enterpriseLicenseVo.getValidendtime()); el.setEnterpriseid(enterpriseLicenseVo.getEnterpriseid()); el.setAuthority(enterpriseLicenseVo.getAuthority()); el.setCreateby(user.getId()); el.setCreatebyname(user.getUsername()); el.setCreatetime(new Date()); el.setValidflag(true); this.save(el); //新增资源 List adds = null; if (enterpriseLicenseVo.getFile() != null && enterpriseLicenseVo.getFile().length > 0) { adds = new ArrayList<>(); Date now = new Date(); for (MultipartFile file : enterpriseLicenseVo.getFile()) { String name = UploadUtil.uploadFile(file, Properties.enterprisePath); EnterpriseResource er = new EnterpriseResource(); er.setTabletype(Constants.LICENSE); er.setFilename(file.getOriginalFilename()); er.setUrl(Properties.enterprise + name); er.setCreatetime(now); er.setCreateby(user.getId()); er.setCreatebyname(user.getUsername()); er.setBelongid(el.getId()); er.setValidflag(true); adds.add(er); } //执行 enterpriseResourceService.saveBatch(adds); } } /** * @Description: 修改许可证信息 * @date 2021/3/24 14:35 */ @Override @Transactional public void modEnterpriseLicense(EnterpriseLicenseVo enterpriseLicenseVo, UserInfo user) throws Exception { //修改 EnterpriseLicense el = new EnterpriseLicense(); el.setId(enterpriseLicenseVo.getId()); el.setLicensenumber(enterpriseLicenseVo.getLicensenumber()); el.setLicensename(enterpriseLicenseVo.getLicensename()); el.setRanges(enterpriseLicenseVo.getRanges()); el.setAuthority(enterpriseLicenseVo.getAuthority()); el.setValidstarttime(enterpriseLicenseVo.getValidstarttime()); el.setValidendtime(enterpriseLicenseVo.getValidendtime()); el.setEnterpriseid(enterpriseLicenseVo.getEnterpriseid()); el.setAuthority(enterpriseLicenseVo.getAuthority()); el.setValidflag(true); el.setUpdateby(user.getId()); el.setUpdatebyname(user.getUsername()); el.setUpdatetime(new Date()); this.updateById(el); //删除资源 List ids = enterpriseLicenseVo.getImgids(); List dels = null; if (ids != null && ids.size() > 0) { dels = new ArrayList<>(); Date now = new Date(); for (Long id:ids) { 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 (enterpriseLicenseVo.getFile() !=null && enterpriseLicenseVo.getFile().length > 0) { adds = new ArrayList<>(); Date now = new Date(); for (MultipartFile file : enterpriseLicenseVo.getFile()) { String name = UploadUtil.uploadFile(file, Properties.enterprisePath); EnterpriseResource er = new EnterpriseResource(); er.setTabletype(Constants.LICENSE); er.setFilename(file.getOriginalFilename()); er.setUrl(Properties.enterprise + name); er.setCreatetime(now); er.setCreateby(user.getId()); er.setCreatebyname(user.getUsername()); er.setBelongid(enterpriseLicenseVo.getId()); er.setValidflag(true); adds.add(er); } //执行 enterpriseResourceService.saveBatch(adds); } } @Override public void delEnterpriseLicense(Long id, UserInfo user) { LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.set(EnterpriseLicense::getUpdatebyname, new Date()) .set(EnterpriseLicense::getUpdateby, user.getId()) .set(EnterpriseLicense::getUpdatebyname, user.getUsername()) .set(EnterpriseLicense::getValidflag, false) .eq(EnterpriseLicense::getId, id); this.update(updateWrapper); } /** * @Description: 证书新增校验 * @date 2021/4/6 14:41 */ @Override public void checkEnterpriseLicense(EnterpriseLicenseVo enterpriseLicenseVo) { if (StringUtils.isBlank(enterpriseLicenseVo.getLicensenumber())) { throw new BusinessException("许可证号不能为空"); } if (StringUtils.isBlank(enterpriseLicenseVo.getLicensename())) { throw new BusinessException("许可证名称不能为空"); } if (StringUtils.isBlank(enterpriseLicenseVo.getAuthority())) { throw new BusinessException("发证机关不能为空"); } if (StringUtils.isBlank(enterpriseLicenseVo.getRanges())) { throw new BusinessException("许可范围不能为空"); } if (enterpriseLicenseVo.getValidstarttime() == null || enterpriseLicenseVo.getValidendtime() == null) { throw new BusinessException("许可证有效期不能为空"); } } @Override public void deleteByLicenseNumber(String licensecode) { if (StringUtils.isBlank(licensecode)) { throw new BusinessException("许可证编号为空"); } LambdaUpdateWrapper updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.set(EnterpriseLicense::getValidflag, false) .eq(EnterpriseLicense::getLicensenumber, licensecode) .eq(EnterpriseLicense::getValidflag, true); this.update(updateWrapper); } }