郑永安
2023-06-19 2fcd97552d16718cc7997629fd637a73a5a4483f
src/main/java/com/gk/firework/Service/ServiceImpl/EnterpriseLicenseServiceImpl.java
对比新文件
@@ -0,0 +1,222 @@
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<EnterpriseLicenseMapper, EnterpriseLicense> implements EnterpriseLicenseService {
    @Autowired
    private EnterpriseLicenseMapper enterpriseLicenseMapper;
    @Autowired
    private EnterpriseResourceService enterpriseResourceService;
    /**
     * @Description: 根据创建时间排序,分页
     * @date 2021/3/24 14:57
     */
    @Override
    public IPage<EnterpriseLicense> selectPage(Long id, Page<EnterpriseLicense> page) {
        Map<String, Object> params = new HashMap<>();
        params.put("id", id);
        params.put("tabletype", Constants.LICENSE);
        List<EnterpriseLicense> 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<EnterpriseResource> 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<Long> ids = enterpriseLicenseVo.getImgids();
        List<EnterpriseResource> 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<EnterpriseResource> 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<EnterpriseLicense> 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<EnterpriseLicense> updateWrapper = new LambdaUpdateWrapper<>();
        updateWrapper.set(EnterpriseLicense::getValidflag, false)
                .eq(EnterpriseLicense::getLicensenumber, licensecode)
                .eq(EnterpriseLicense::getValidflag, true);
        this.update(updateWrapper);
    }
}