heweichun 2 months ago
parent
commit
4b8ff2011e
22 changed files with 603 additions and 125 deletions
  1. 12 0
      src/main/java/com/zhongzheng/bo/SysCertificateBo.java
  2. 1 1
      src/main/java/com/zhongzheng/common/config/SecurityConfig.java
  3. 3 0
      src/main/java/com/zhongzheng/common/croe/CustomTenantLineHandler.java
  4. 31 5
      src/main/java/com/zhongzheng/controller/SysCompanyController.java
  5. 74 0
      src/main/java/com/zhongzheng/domian/CertificateMajor.java
  6. 25 2
      src/main/java/com/zhongzheng/domian/SysCertificate.java
  7. 1 4
      src/main/java/com/zhongzheng/domian/SysCertificateAddition.java
  8. 4 0
      src/main/java/com/zhongzheng/domian/SysCertificateType.java
  9. 23 0
      src/main/java/com/zhongzheng/mapper/CertificateMajorMapper.java
  10. 3 1
      src/main/java/com/zhongzheng/mapper/SysCertificateMapper.java
  11. 24 0
      src/main/java/com/zhongzheng/service/ICertificateMajorService.java
  12. 7 3
      src/main/java/com/zhongzheng/service/ISysCertificateAdditionService.java
  13. 4 0
      src/main/java/com/zhongzheng/service/ISysCertificateService.java
  14. 2 1
      src/main/java/com/zhongzheng/service/ISysCertificateTypeService.java
  15. 82 0
      src/main/java/com/zhongzheng/service/impl/CertificateMajorServiceImpl.java
  16. 47 17
      src/main/java/com/zhongzheng/service/impl/SysCertificateAdditionServiceImpl.java
  17. 224 62
      src/main/java/com/zhongzheng/service/impl/SysCertificateServiceImpl.java
  18. 13 8
      src/main/java/com/zhongzheng/service/impl/SysCertificateTypeServiceImpl.java
  19. 1 1
      src/main/java/com/zhongzheng/service/impl/SysCustomerSeaServiceImpl.java
  20. 4 3
      src/main/java/com/zhongzheng/service/impl/SysPersonServiceImpl.java
  21. 1 1
      src/main/java/com/zhongzheng/vo/MajorVo.java
  22. 17 16
      src/main/resources/mapper/SysCertificateMapper.xml

+ 12 - 0
src/main/java/com/zhongzheng/bo/SysCertificateBo.java

@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 /**
  * 用户对象 SysCertificateBo
  *
@@ -81,6 +83,11 @@ public class SysCertificateBo
     @ApiModelProperty("证书类型 1个人,2企业")
     private Integer certificateType;
 
+
+    private List<Long> personIds;
+    @ApiModelProperty("证书类型专类自增ID")
+    private Long  CertificateAdditionId;
+
     /**
      * 证书类型 小类型  (对应sys_certificate_Type)
      */
@@ -91,6 +98,11 @@ public class SysCertificateBo
      */
     private Integer certificateTypeId2;
 
+    /**
+     * 1有专业,0无专业
+     */
+    private  Integer isHasMajor;
+
 
 
 

+ 1 - 1
src/main/java/com/zhongzheng/common/config/SecurityConfig.java

@@ -126,7 +126,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
                 .antMatchers("/actuator").anonymous()
                 .antMatchers("/actuator/**").anonymous()
                 .antMatchers("/webSocket/**").anonymous()
-               // .antMatchers("/system/company/**").anonymous()
+                //.antMatchers("/system/company/**").anonymous()
                 // 除上面外的所有请求全部需要鉴权认证
                 .anyRequest().authenticated()
                 .and()

+ 3 - 0
src/main/java/com/zhongzheng/common/croe/CustomTenantLineHandler.java

@@ -45,6 +45,9 @@ public class CustomTenantLineHandler implements TenantLineHandler {
         add("sys_old_org");
         add("top_sys_tenant_register");
         add("sys_customer_sea");
+        add("sys_certificate_addition");
+        add("certificate_major");
+        add("sys_certificate_type");
     }};
 
     /**

+ 31 - 5
src/main/java/com/zhongzheng/controller/SysCompanyController.java

@@ -51,6 +51,14 @@ public class SysCompanyController extends BaseController
     @Autowired
     private ISysCertificateService certService;
 
+    @Autowired
+    private ICertificateMajorService majorService;
+
+    @Autowired
+    private ISysCertificateTypeService typeService;
+
+
+
     @ApiOperation("客户列表")
     @GetMapping("/list")
     public TableDataInfo<SysCompany> list(SysCompany model) {
@@ -163,33 +171,51 @@ public class SysCompanyController extends BaseController
     @GetMapping("/cert/list")
     public TableDataInfo<SysCertificate>  cert_list(SysCertificateBo model) {
 
-        model.setUserId(1L);
-        return certService.selectCertificateList(model);
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        model.setUserId(loginUser.getUser().getUserId());
+        return certService.selectList(model);
     }
 
     @ApiOperation("添加证书")
     @PostMapping("/cert/add")
     public AjaxResult cert_add(@Validated @RequestBody SysCertificateBo model) {
-        model.setUserId(1L);
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        model.setUserId(loginUser.getUser().getUserId());
         return toAjax(certService.insertCertificate(model)>0?1:0);
     }
 
     @ApiOperation("编辑证书")
     @PostMapping("/cert/edit")
     public AjaxResult cert_edit(@Validated @RequestBody SysCertificateBo model) {
-        model.setUserId(1L);
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        model.setUserId(loginUser.getUser().getUserId());
         return toAjax(certService.updateCertificate(model,model.getUserId()));
     }
 
     @ApiOperation("删除证书")
     @PostMapping("/cert/del")
     public AjaxResult cert_del(@Validated @RequestBody SysCertificateBo model) {
-        model.setUserId(1L);
+        LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+        model.setUserId(loginUser.getUser().getUserId());
         return toAjax(certService.deleteCertificateById(model.getCertificateId(),model.getUserId()));
     }
+    @ApiOperation("获取证书类型列表 parentId=2 个人证书")
+    @GetMapping("/cert/certificate_type_list")
+    public TableDataInfo<SysCertificateType>  certificate_type_list(Integer parentId) {
+
+        return typeService.selectCertificateTypeList(parentId);
+    }
 
 
 
+@ApiOperation("获取专业列表")
+@GetMapping("/cert/major_list")
+public TableDataInfo<CertificateMajor>  cert_major_list(Integer certificateTypeId) {
+
+    return majorService.selectCertificateMajorList(certificateTypeId);
+}
+
+
 
 
 

+ 74 - 0
src/main/java/com/zhongzheng/domian/CertificateMajor.java

@@ -0,0 +1,74 @@
+package com.zhongzheng.domian;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * 用户对象 sys_company
+ *
+ * @author zhongzheng
+ */
+
+@Data
+@NoArgsConstructor
+@Accessors(chain = true)
+@TableName(value ="certificate_major",autoResultMap = true)
+public class CertificateMajor implements Serializable
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 用户ID */
+    @TableId(value = "major_id",type = IdType.AUTO)
+    private Integer majorId;
+
+
+        /**
+         * 专业名称
+         */
+        private String majorName;
+
+        /**
+         * 企业Id
+         */
+        private Integer status;
+
+
+
+        /**
+         * 对类专业类型
+         */
+       private Integer certificateTypeId;
+
+
+        /**
+         * 分页大小
+         */
+        @ApiModelProperty("分页大小")
+        @TableField(exist = false)
+        private Integer pageSize;
+
+        /**
+         * 当前页数
+         */
+        @ApiModelProperty("当前页数")
+        @TableField(exist = false)
+        private Integer pageNum;
+
+        /**
+         * 请求参数
+         */
+        @TableField(exist = false)
+        private Map<String, Object> params = new HashMap<>();
+
+
+    }

+ 25 - 2
src/main/java/com/zhongzheng/domian/SysCertificate.java

@@ -54,7 +54,13 @@ public class SysCertificate implements Serializable
        */
         private  long personId;
 
-        /**
+    /**
+     * 管理员id
+     */
+    private  long userId;
+
+
+    /**
          * 证书名称
          */
         private String certificateName;
@@ -107,7 +113,7 @@ public class SysCertificate implements Serializable
         /**
          * 专类名称
          */
-        private Integer majorName;
+        private String majorName;
 
         /**
          * 证书状态 1有效,2无效,-1删除
@@ -144,6 +150,23 @@ public class SysCertificate implements Serializable
          */
         private Long modifier;
 
+    /**
+     * 证书类名称 大名称
+     */
+
+        private String certificateTypeName;
+
+
+    /**
+     * 证书类名称 小名称
+     */
+
+    private String certificateTypeName2;
+    /**
+     * 专业数据数组
+     */
+    @TableField(exist = false)
+    private  MajorVo[] majorVoList;
 
     /**
      * 学员名称

+ 1 - 4
src/main/java/com/zhongzheng/domian/SysCertificateAddition.java

@@ -53,8 +53,6 @@ public class SysCertificateAddition implements Serializable
          */
         private Integer isPrimary;
 
-
-
         /**
          * 专类ID
          */
@@ -63,7 +61,7 @@ public class SysCertificateAddition implements Serializable
         /**
          * 专类名称
          */
-        private Integer majorName;
+        private String majorName;
 
         /**
          * 证书状态 1有效,2无效,-1删除
@@ -79,7 +77,6 @@ public class SysCertificateAddition implements Serializable
          * 预警时间
          */
         private Long warningTime;
-
         /**
          * 创建时间
          */

+ 4 - 0
src/main/java/com/zhongzheng/domian/SysCertificateType.java

@@ -47,6 +47,10 @@ public class SysCertificateType implements Serializable
          */
         private Integer parentId;
 
+    /**
+     * 专业类型  0无专业,1有专业
+     */
+    private Integer majorType;
 
 
         /**

+ 23 - 0
src/main/java/com/zhongzheng/mapper/CertificateMajorMapper.java

@@ -0,0 +1,23 @@
+package com.zhongzheng.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zhongzheng.bo.SysCertificateBo;
+import com.zhongzheng.domian.CertificateMajor;
+import com.zhongzheng.domian.SysCertificate;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 字典表 数据层
+ *
+ * @author zhongzheng
+ */
+@Mapper
+public interface CertificateMajorMapper extends BaseMapper<CertificateMajor> {
+
+
+
+}
+

+ 3 - 1
src/main/java/com/zhongzheng/mapper/SysCertificateMapper.java

@@ -3,7 +3,9 @@ package com.zhongzheng.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zhongzheng.bo.SysCertificateBo;
 import com.zhongzheng.domian.SysCertificate;
+import com.zhongzheng.domian.SysCompany;
 import com.zhongzheng.domian.SysCustomerSea;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -16,7 +18,7 @@ import org.apache.ibatis.annotations.Param;
 @Mapper
 public interface SysCertificateMapper extends BaseMapper<SysCertificate> {
 
-
+    IPage<SysCertificate> selectCerListByCertBo(Page page, @Param("cet") SysCertificateBo cet);
 
 }
 

+ 24 - 0
src/main/java/com/zhongzheng/service/ICertificateMajorService.java

@@ -0,0 +1,24 @@
+package com.zhongzheng.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhongzheng.bo.SysCertificateBo;
+import com.zhongzheng.common.model.TableDataInfo;
+import com.zhongzheng.domian.CertificateMajor;
+import com.zhongzheng.domian.SysCertificate;
+
+import java.util.List;
+
+/**
+ * 菜单 业务层
+ *
+ * @author zhongzheng
+ */
+public interface ICertificateMajorService extends IService<CertificateMajor> {
+
+    TableDataInfo<CertificateMajor> selectCertificateMajorList(int certificateTypeId);
+
+    CertificateMajor  selectCertificateMajorById(int certificateMajorId);
+
+}
+
+

+ 7 - 3
src/main/java/com/zhongzheng/service/ISysCertificateAdditionService.java

@@ -2,10 +2,10 @@ package com.zhongzheng.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zhongzheng.bo.SysCertificateBo;
-import com.zhongzheng.common.model.TableDataInfo;
-import com.zhongzheng.domian.SysCertificate;
 import com.zhongzheng.domian.SysCertificateAddition;
 
+import java.util.List;
+
 /**
  * 菜单 业务层
  *
@@ -17,10 +17,14 @@ public interface ISysCertificateAdditionService extends IService<SysCertificateA
     public  long insertCertificateAddition(SysCertificateBo entity);
 
 
-    public int updateCertificateAddition(SysCertificateBo entity,long userid);
+    public void updateCertificateAddition(SysCertificateBo entity, long userid);
 
     public boolean deleteCertificateAdditionById(Long id, long userid);
 
+    public List<SysCertificateAddition> selectCertificateAdditionByCertId(Long id);
+
+    public List<SysCertificateAddition> selectCertificateAdditionByCertIds(List<Long> ids);
+
 
 
 

+ 4 - 0
src/main/java/com/zhongzheng/service/ISysCertificateService.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.zhongzheng.bo.SysCertificateBo;
 import com.zhongzheng.common.model.TableDataInfo;
 import com.zhongzheng.domian.SysCertificate;
+import com.zhongzheng.domian.SysCompany;
 import com.zhongzheng.domian.SysPerson;
 
 /**
@@ -13,6 +14,9 @@ import com.zhongzheng.domian.SysPerson;
  */
 public interface ISysCertificateService extends IService<SysCertificate> {
 
+
+    public TableDataInfo<SysCertificate> selectList(SysCertificateBo entity);
+
     /**
      * 员工列表
      * @param entity  条件

+ 2 - 1
src/main/java/com/zhongzheng/service/ISysCertificateTypeService.java

@@ -3,6 +3,7 @@ package com.zhongzheng.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zhongzheng.bo.SysCertificateBo;
 import com.zhongzheng.common.model.TableDataInfo;
+import com.zhongzheng.domian.CertificateMajor;
 import com.zhongzheng.domian.SysCertificate;
 import com.zhongzheng.domian.SysCertificateType;
 
@@ -20,7 +21,7 @@ public interface ISysCertificateTypeService extends IService<SysCertificateType>
      * @param entity  条件
      * @return
      */
-    public List<SysCertificateType> selectCertificateTypeList(int parentId);
+    public TableDataInfo<SysCertificateType>selectCertificateTypeList(int parentId);
 
 
     public  SysCertificateType selectCertificateById(Integer id);

+ 82 - 0
src/main/java/com/zhongzheng/service/impl/CertificateMajorServiceImpl.java

@@ -0,0 +1,82 @@
+package com.zhongzheng.service.impl;
+
+import cn.hutool.http.HttpStatus;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhongzheng.bo.SysCertificateBo;
+import com.zhongzheng.common.filter.CustomException;
+import com.zhongzheng.common.model.TableDataInfo;
+import com.zhongzheng.common.util.DateUtils;
+import com.zhongzheng.domian.CertificateMajor;
+import com.zhongzheng.domian.SysCertificate;
+import com.zhongzheng.domian.SysCertificateAddition;
+import com.zhongzheng.mapper.CertificateMajorMapper;
+import com.zhongzheng.mapper.SysCertificateAdditionMapper;
+import com.zhongzheng.mapper.SysCertificateMapper;
+import com.zhongzheng.mapper.SysPersonMapper;
+import com.zhongzheng.service.*;
+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 CertificateMajorServiceImpl extends ServiceImpl<CertificateMajorMapper, CertificateMajor> implements ICertificateMajorService {
+    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 TableDataInfo<CertificateMajor>  selectCertificateMajorList(int certificateTypeId) {
+
+
+        TableDataInfo<CertificateMajor> info = new TableDataInfo();
+
+        LambdaQueryWrapper<CertificateMajor> queryWrapper = new LambdaQueryWrapper<CertificateMajor>();
+
+
+        queryWrapper.eq(CertificateMajor::getCertificateTypeId, certificateTypeId)
+                .eq(CertificateMajor::getStatus, 1);
+
+
+        Page<CertificateMajor> page = page(new Page<>(1, 10000), queryWrapper);
+        info.setRows(page.getRecords());
+        info.setTotal(page.getTotal());
+        info.setCode(HttpStatus.HTTP_OK);
+        info.setMsg("查询成功");
+        return info;
+    }
+
+    @Override
+    public CertificateMajor selectCertificateMajorById(int majorId) {
+        return getOne(new LambdaUpdateWrapper<CertificateMajor>()
+                .eq(CertificateMajor::getMajorId, majorId)
+                .eq(CertificateMajor::getStatus, 1));
+
+    }
+}

+ 47 - 17
src/main/java/com/zhongzheng/service/impl/SysCertificateAdditionServiceImpl.java

@@ -1,16 +1,10 @@
 package com.zhongzheng.service.impl;
 
-import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.http.HttpStatus;
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
-import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zhongzheng.bo.SysCertificateBo;
 import com.zhongzheng.common.filter.CustomException;
-import com.zhongzheng.common.model.TableDataInfo;
 import com.zhongzheng.common.util.DateUtils;
 import com.zhongzheng.domian.*;
 import com.zhongzheng.mapper.SysCertificateAdditionMapper;
@@ -20,12 +14,11 @@ import com.zhongzheng.service.ISysCertificateAdditionService;
 import com.zhongzheng.service.ISysCertificateService;
 import com.zhongzheng.service.ISysCompanyService;
 import com.zhongzheng.service.ISysPersonService;
-import com.zhongzheng.vo.MajorVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Collections;
 import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * 菜单 业务层处理
@@ -55,10 +48,12 @@ public class SysCertificateAdditionServiceImpl extends ServiceImpl<SysCertificat
 
     @Override
     public long insertCertificateAddition(SysCertificateBo entity) {
-        SysCertificateAddition p = getOne(new LambdaUpdateWrapper<SysCertificateAddition>()
-                .eq(SysCertificateAddition::getCertificateId,entity.getCertificateId())
-                .eq(ObjectUtils.isNotNull(entity.getMajorId()), SysCertificateAddition::getMajorId,entity.getMajorId())
-                .eq(SysCertificateAddition::getStatus,1));
+        SysCertificateAddition p =null;
+            p = getOne(new LambdaUpdateWrapper<SysCertificateAddition>()
+                    .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("证书对应的专业已存在");
@@ -82,24 +77,59 @@ public class SysCertificateAdditionServiceImpl extends ServiceImpl<SysCertificat
     }
 
     @Override
-    public int updateCertificateAddition(SysCertificateBo entity, long userid) {
+    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() > 0) {
-            return certAddMapper.updateById(model);
+        if (model.getCertificateAdditionId() !=null&&model.getCertificateAdditionId() > 0) {
+            certAddMapper.updateById(model);
         } else {
-            return certAddMapper.insert(model);
+            SysCertificateAddition p =null;
+            p = getOne(new LambdaUpdateWrapper<SysCertificateAddition>()
+                    .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) {
-        return false;
+
+        SysCertificateAddition model = certAddMapper.selectById(id);
+        model.setStatus(-1);
+        model.setModifier(userid);
+        model.setUpdateTime(DateUtils.getNowTime());
+        return certAddMapper.updateById(model)>0;
     }
+
+    @Override
+    public List<SysCertificateAddition> selectCertificateAdditionByCertId(Long id) {
+        return list(new LambdaUpdateWrapper<SysCertificateAddition>()
+                .eq(SysCertificateAddition::getCertificateId, id)
+                .eq(SysCertificateAddition::getStatus, 1));
+
+    }
+
+    @Override
+    public List<SysCertificateAddition> selectCertificateAdditionByCertIds(List<Long> ids) {
+        return list(new LambdaUpdateWrapper<SysCertificateAddition>()
+                .in(SysCertificateAddition::getCertificateId, ids)
+                .eq(SysCertificateAddition::getStatus, 1));
+
+    }
+
+
 }

+ 224 - 62
src/main/java/com/zhongzheng/service/impl/SysCertificateServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.http.HttpStatus;
 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.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -11,14 +12,10 @@ import com.zhongzheng.bo.SysCertificateBo;
 import com.zhongzheng.common.filter.CustomException;
 import com.zhongzheng.common.model.TableDataInfo;
 import com.zhongzheng.common.util.DateUtils;
-import com.zhongzheng.domian.SysCertificate;
-import com.zhongzheng.domian.SysCompany;
-import com.zhongzheng.domian.SysPerson;
+import com.zhongzheng.domian.*;
 import com.zhongzheng.mapper.SysCertificateMapper;
 import com.zhongzheng.mapper.SysPersonMapper;
-import com.zhongzheng.service.ISysCertificateService;
-import com.zhongzheng.service.ISysCompanyService;
-import com.zhongzheng.service.ISysPersonService;
+import com.zhongzheng.service.*;
 import com.zhongzheng.vo.MajorVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -50,6 +47,15 @@ public class SysCertificateServiceImpl extends ServiceImpl<SysCertificateMapper,
     @Autowired
     private SysCertificateMapper certMapper;
 
+    @Autowired
+    private ISysCertificateAdditionService certadditionService;
+
+    @Autowired
+    private ISysCertificateTypeService certTypeSeaService;
+
+    @Autowired
+    private ICertificateMajorService majorService;
+
 
 
     public  void  checklegal(long personId,long userid)
@@ -64,6 +70,68 @@ public class SysCertificateServiceImpl extends ServiceImpl<SysCertificateMapper,
         }
     }
 
+
+    @Override
+    public TableDataInfo<SysCertificate> selectList(SysCertificateBo entity) {
+        if (ObjectUtil.isEmpty(entity.getPageSize()) || entity.getPageSize() < 1) {
+            entity.setPageSize(-1);
+            entity.setPageNum(1);
+        }
+        if(StringUtils.isNotBlank(entity.getCompanyName())){
+            SysCompany company = sysCompanyService.selectCompanyByName(entity.getCompanyName(),entity.getUserId());
+            if(ObjectUtil.isEmpty(company)){
+                return new TableDataInfo<>();
+            }
+            entity.setCompanyId(entity.getCompanyId());
+        }
+        if(StringUtils.isNotBlank(entity.getPersonName())){
+            List<SysCompany> c_list=sysCompanyService.selectCompanyByUserid(entity.getUserId());
+            if(c_list.isEmpty()){
+                return new TableDataInfo<>();
+            }
+            List<Long> companyIdList= c_list.stream().map(SysCompany::getCompanyId).collect(Collectors.toList());
+            List<SysPerson> p_list= sysPersonService.selectPersonByName(entity.getPersonName(),companyIdList);
+            if(p_list!=null&&p_list.size()==0){
+                return new TableDataInfo<>();
+            }
+            List<Long> uids=p_list.stream().map(SysPerson::getPersonId).collect(Collectors.toList());
+            entity.setPersonIds(uids);
+        }
+
+        IPage<SysCertificate> pageinfo = certMapper.selectCerListByCertBo(new Page<>(entity.getPageNum(), entity.getPageSize()), entity);
+        TableDataInfo<SysCertificate> info = new TableDataInfo();
+
+        if(pageinfo.getRecords().size()>0) {
+            List<Long> cetList = pageinfo.getRecords().stream().map(SysCertificate::getCertificateId).collect(Collectors.toList());
+            List<SysCertificateAddition> cetAddList= certadditionService.selectCertificateAdditionByCertIds(cetList);
+
+            for (SysCertificate element : pageinfo.getRecords()) {
+                List<SysCertificateAddition> arraylist=cetAddList.stream().filter(cet->cet.getCertificateId().equals(element.getCertificateId())).collect(Collectors.toList());
+                MajorVo[] majorVos=new MajorVo[arraylist.size()];
+                int i=0;
+                for (SysCertificateAddition m : arraylist) {
+                    majorVos[i]=new MajorVo();
+                    majorVos[i].setMajorId(m.getMajorId());
+                    majorVos[i].setMajorName(m.getMajorName());
+                    majorVos[i].setCertificateAdditionId(m.getCertificateAdditionId());
+                    majorVos[i].setExpiryDate(m.getExpiryDate());
+                }
+
+                element.setMajorVoList(majorVos);
+
+
+            }
+        }
+
+
+
+
+        info.setTotal(pageinfo.getTotal());
+        info.setRows(pageinfo.getRecords());
+
+        return info;
+    }
+
     @Override
     public TableDataInfo<SysCertificate> selectCertificateList(SysCertificateBo entity) {
         if (ObjectUtil.isEmpty(entity.getPageSize()) || entity.getPageSize() < 1) {
@@ -71,7 +139,8 @@ public class SysCertificateServiceImpl extends ServiceImpl<SysCertificateMapper,
             entity.setPageNum(1);
         }
         TableDataInfo<SysCertificate> info = new TableDataInfo<>();
-        LambdaQueryWrapper<SysCertificate> queryWrapper = new LambdaQueryWrapper<>();
+        LambdaQueryWrapper<SysCertificate> queryWrapper = new LambdaQueryWrapper<SysCertificate>();
+
         queryWrapper.eq(SysCertificate::getStatus, 1);
         if(StringUtils.isNotBlank(entity.getCompanyName())){
             SysCompany company = sysCompanyService.selectCompanyByName(entity.getCompanyName(),entity.getUserId());
@@ -125,7 +194,7 @@ public class SysCertificateServiceImpl extends ServiceImpl<SysCertificateMapper,
             throw new CustomException("参数未有客户信息");
         }
 
-        if(entity.getPersonId()==0&& !StringUtils.isNotBlank(entity.getPersonName())){
+        if(entity.getPersonId()==0&& StringUtils.isNotBlank(entity.getPersonName())){
             SysPerson person=new SysPerson();
             person.setPersonName(entity.getPersonName());
             person.setCompanyId(entity.getCompanyId());
@@ -138,45 +207,85 @@ public class SysCertificateServiceImpl extends ServiceImpl<SysCertificateMapper,
         int i_count=0;
         SysCertificate info = getOne(new LambdaUpdateWrapper<SysCertificate>().eq(SysCertificate::getPersonId,entity.getPersonId())
                 .eq(SysCertificate::getStatus,1)
-                .eq(SysCertificate::getCertificateTypeId,entity.getCertificateTypeId()));
-
+                .eq(SysCertificate::getCertificateTypeId2,entity.getCertificateTypeId2()));
 
-        boolean ishascert=false;
-
-        if(info!=null&&info.getCertificateId()>0){
-            ishascert=true;
+        if(info!=null)
+        {
+            entity.setCertificateId(info.getCertificateId());
+           return updateCertificate(entity,entity.getUserId());
         }
 
-        for (MajorVo element:entity.getMajorVoList())
+        Long certificateId= 0L;
+        SysCertificateType sysCertificateType2=new SysCertificateType();
+        if(entity.getCertificateTypeId2()>0) {
+            sysCertificateType2 = certTypeSeaService.selectCertificateById(entity.getCertificateTypeId2());
+        }
+        SysCertificateType sysCertificateType=certTypeSeaService.selectCertificateById(entity.getCertificateTypeId());
+        if(info==null)
         {
-            i_count++;
             SysCertificate model = new SysCertificate();
-            model.setCreator(entity.getUserId());
-            model.setCompanyId(entity.getCompanyId());
-            model.setPersonId(entity.getPersonId());
-            model.setExpiryDate(entity.getExpiryDate());
-            model.setCertificateNumber(entity.getCertificateNumber());
+            model.setCertificateType(entity.getCertificateTypeId());
             model.setCertificateName(entity.getCertificateName());
-            model.setTenantId(entity.getTenantId());
+            model.setUserId(entity.getUserId());
+            model.setCertificateTypeId2(entity.getCertificateTypeId2());
+            model.setCertificateTypeId( entity.getCertificateTypeId());
+            model.setCertificateNumber(entity.getCertificateNumber());
+            model.setPersonId(entity.getPersonId());
+            model.setCompanyId(entity.getCompanyId());
+            model.setCreator(entity.getUserId());
             model.setCreateTime(DateUtils.getNowTime());
             model.setStatus(1);
-            model.setCertificateType(entity.getCertificateType());
-            model.setCertificateTypeId(entity.getCertificateTypeId());
-            model.setCertificateTypeId2(entity.getCertificateTypeId2());
-            String majorName = element.getMajorName();
-            Long majorId = element.getExpiryDate();
-            if(i_count==1)
+            if(entity.getMajorId()>0)
             {
-                if(ishascert)
-                {
-                    model.setIsPrimary(0);
-                }else {
-                    model.setIsPrimary(1);
-                }
-            }else {
-                model.setIsPrimary(0);
+                CertificateMajor major = majorService.selectCertificateMajorById(entity.getMajorId());
+                model.setMajorName(major.getMajorName());
+            }
+            if(sysCertificateType!=null)
+            {
+                model.setCertificateTypeName(sysCertificateType.getCertificateTypeName());
+            }
+            if(sysCertificateType2!=null) {
+                model.setCertificateTypeName2(sysCertificateType2.getCertificateTypeName());
+            }
+
+
+            save(model);
+            certificateId=model.getCertificateId();
+        }else {
+            certificateId=info.getCertificateId();
+        }
+
+
+        boolean ishascert=false;
+
+        if(info!=null&&info.getCertificateId()>0){
+            ishascert=true;
+        }
+
+        boolean b = sysCertificateType!=null&& sysCertificateType.getMajorType() == 0;
+        if(b) {
+            SysCertificateBo certModel = new SysCertificateBo();
+            certModel.setUserId(entity.getUserId());
+            certModel.setCompanyId(entity.getCompanyId());
+            certModel.setCertificateId(entity.getCertificateId());
+            certModel.setIsHasMajor(0);
+            certadditionService.updateCertificateAddition(certModel, entity.getUserId());
+            count++;
+
+        }else {
+
+            for (MajorVo element : entity.getMajorVoList()) {
+                SysCertificateBo certModel = new SysCertificateBo();
+                certModel.setUserId(entity.getUserId());
+                certModel.setIsHasMajor(1);
+                certModel.setCompanyId(entity.getCompanyId());
+                certModel.setCertificateId(certificateId);
+                certModel.setExpiryDate(element.getExpiryDate());
+                certModel.setMajorId(element.getMajorId());
+                certModel.setMajorName(element.getMajorName());
+                certadditionService.updateCertificateAddition(certModel, entity.getUserId());
+                count++;
             }
-            count=count+ certMapper.insert (model);
         }
 
         return count;
@@ -200,33 +309,69 @@ public class SysCertificateServiceImpl extends ServiceImpl<SysCertificateMapper,
             entity.setPersonId(person.getPersonId());
 
         }
-        int count = 0;
-        int i_count=0;
-        for (MajorVo element:entity.getMajorVoList())
+
+        SysCertificate model = new SysCertificate();
+        model.setCertificateType(entity.getCertificateTypeId());
+        model.setCertificateName(entity.getCertificateName());
+        model.setUserId(entity.getUserId());
+
+        model.setCertificateTypeId2(entity.getCertificateTypeId2());
+        model.setCertificateTypeId( entity.getCertificateTypeId());
+        model.setCertificateNumber(entity.getCertificateNumber());
+        model.setPersonId(entity.getPersonId());
+        model.setCompanyId(entity.getCompanyId());
+        model.setCreator(entity.getUserId());
+        model.setCreateTime(DateUtils.getNowTime());
+        model.setStatus(1);
+        SysCertificateType sysCertificateType=certTypeSeaService.selectCertificateById(entity.getCertificateTypeId());
+        SysCertificateType sysCertificateType2=new SysCertificateType();
+        if(entity.getCertificateTypeId2()>0) {
+            sysCertificateType2 = certTypeSeaService.selectCertificateById(entity.getCertificateTypeId2());
+        }
+        if(sysCertificateType!=null)
         {
-            i_count++;
-            SysCertificate model = new SysCertificate();
-//            model.setCertificateId(element.getCertificateId());
-            model.setCreator(entity.getUserId());
-            model.setCompanyId(entity.getCompanyId());
-            model.setPersonId(entity.getPersonId());
-            model.setExpiryDate(entity.getExpiryDate());
-            model.setCertificateNumber(entity.getCertificateNumber());
-            model.setCertificateName(entity.getCertificateName());
-            model.setTenantId(entity.getTenantId());
-            model.setCreateTime(DateUtils.getNowTime());
-            model.setStatus(1);
-            model.setCertificateType(entity.getCertificateType());
-            model.setCertificateTypeId(entity.getCertificateTypeId());
-            model.setCertificateTypeId2(entity.getCertificateTypeId2());
-            String majorName = element.getMajorName();
-            Long majorId = element.getExpiryDate();
-            if(model.getCertificateId()>0) {
-                count = count + certMapper.updateById(model);
-            }else {
-                model.setIsPrimary(0);
-                count = count + certMapper.insert(model);
+            model.setCertificateTypeName(sysCertificateType.getCertificateTypeName());
+        }
+        if(sysCertificateType2!=null) {
+            model.setCertificateTypeName2(sysCertificateType2.getCertificateTypeName());
+        }
 
+        if(entity.getMajorId()>0)
+        {
+            CertificateMajor major = majorService.selectCertificateMajorById(entity.getMajorId());
+            model.setMajorName(major.getMajorName());
+        }
+
+
+        update(model, new LambdaQueryWrapper<SysCertificate>().eq(SysCertificate::getCertificateId,entity.getCertificateId()));
+        int count = 0;
+        int i_count=0;
+        boolean b = sysCertificateType!=null&& sysCertificateType.getMajorType() == 0;
+        if(b) {
+            SysCertificateBo certModel = new SysCertificateBo();
+            certModel.setUserId(entity.getUserId());
+            certModel.setCompanyId(entity.getCompanyId());
+            certModel.setCertificateId(entity.getCertificateId());
+            certModel.setIsHasMajor(0);
+            certadditionService.updateCertificateAddition(certModel, entity.getUserId());
+            count++;
+
+        }else {
+
+
+            for (MajorVo element : entity.getMajorVoList()) {
+
+                SysCertificateBo certModel = new SysCertificateBo();
+                certModel.setUserId(entity.getUserId());
+                certModel.setIsHasMajor(1);
+                certModel.setCompanyId(entity.getCompanyId());
+                certModel.setCertificateId(entity.getCertificateId());
+                certModel.setExpiryDate(element.getExpiryDate());
+                certModel.setMajorId(element.getMajorId());
+                certModel.setMajorName(element.getMajorName());
+                certModel.setCertificateAdditionId(element.getCertificateAdditionId());
+                certadditionService.updateCertificateAddition(certModel, entity.getUserId());
+                count++;
             }
         }
 
@@ -235,6 +380,23 @@ public class SysCertificateServiceImpl extends ServiceImpl<SysCertificateMapper,
 
     @Override
     public boolean deleteCertificateById(Long id, long userid) {
+
+        SysCertificate cert=certMapper.selectById(id);
+        SysCompany sysCompany=sysCompanyService.getById(cert.getCompanyId());
+        if(sysCompany.getUserId()!=userid)
+        {
+            throw new CustomException("非法操作,当前客户不是属于您的");
+        }
+
+        List<SysCertificateAddition> list=certadditionService.selectCertificateAdditionByCertId(id);
+        if(!list.isEmpty())
+        {
+            for (SysCertificateAddition element:list)
+            {
+                certadditionService.deleteCertificateAdditionById(element.getCertificateAdditionId(),userid);
+            }
+        }
+
         SysCertificate model = new SysCertificate();
         model.setCertificateId(id);
         model.setStatus(-1);

+ 13 - 8
src/main/java/com/zhongzheng/service/impl/SysCertificateTypeServiceImpl.java

@@ -10,10 +10,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zhongzheng.bo.SysCertificateBo;
 import com.zhongzheng.common.filter.CustomException;
 import com.zhongzheng.common.model.TableDataInfo;
-import com.zhongzheng.domian.SysCertificate;
-import com.zhongzheng.domian.SysCertificateType;
-import com.zhongzheng.domian.SysCompany;
-import com.zhongzheng.domian.SysPerson;
+import com.zhongzheng.domian.*;
 import com.zhongzheng.mapper.SysCertificateMapper;
 import com.zhongzheng.mapper.SysCertificateTypeMapper;
 import com.zhongzheng.mapper.SysPersonMapper;
@@ -51,11 +48,19 @@ public class SysCertificateTypeServiceImpl extends ServiceImpl<SysCertificateTyp
 
 
     @Override
-    public List<SysCertificateType> selectCertificateTypeList(int parentId) {
-        List<SysCertificateType> list = list(new LambdaUpdateWrapper<SysCertificateType>().eq(SysCertificateType::getStatus,1)
-                .eq(SysCertificateType::getParentId,parentId));
+    public  TableDataInfo<SysCertificateType> selectCertificateTypeList(int parentId) {
+        TableDataInfo<SysCertificateType> info = new TableDataInfo();
 
-        return list;
+        LambdaQueryWrapper<SysCertificateType> queryWrapper=new LambdaQueryWrapper<SysCertificateType>()  ;
+        queryWrapper.eq(SysCertificateType::getStatus,1)
+                .eq(SysCertificateType::getParentId,parentId);
+
+        Page<SysCertificateType> page = page(new Page<>(1, 10000), queryWrapper);
+        info.setRows(page.getRecords());
+        info.setTotal(page.getTotal());
+        info.setCode(HttpStatus.HTTP_OK);
+        info.setMsg("查询成功");
+        return info;
 
     }
 

+ 1 - 1
src/main/java/com/zhongzheng/service/impl/SysCustomerSeaServiceImpl.java

@@ -113,7 +113,7 @@ public class SysCustomerSeaServiceImpl extends ServiceImpl<SysCustomerSeaMapper,
             return  success;
         }
 
-       if(success==0&&ids.length>1)
+       if(success==0&&ids.length>0)
        {
            throw new CustomException("领取失败,可能已被其他业务领取了!");
        }

+ 4 - 3
src/main/java/com/zhongzheng/service/impl/SysPersonServiceImpl.java

@@ -6,6 +6,7 @@ import cn.hutool.http.HttpStatus;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.zhongzheng.common.filter.CustomException;
@@ -47,7 +48,7 @@ public class SysPersonServiceImpl extends ServiceImpl<SysPersonMapper, SysPerson
 
 
     private boolean checkIdCardUnique(SysPerson entity) {
-        if(entity.getIdCard()==null||entity.getIdCard().isEmpty()){
+        if(StringUtils.isBlank(entity.getIdCard())){
             return false;
         }
         SysPerson info = getOne(new LambdaUpdateWrapper<SysPerson>().eq(SysPerson::getIdCard,entity.getIdCard())
@@ -66,7 +67,7 @@ public class SysPersonServiceImpl extends ServiceImpl<SysPersonMapper, SysPerson
     }
 
     private boolean checkPhoneUnique(SysPerson entity) {
-        if(entity.getPhone()==null||entity.getPhone().isEmpty()){
+        if(StringUtils.isBlank(entity.getPhone())){
             return false;
         }
 
@@ -165,7 +166,7 @@ public class SysPersonServiceImpl extends ServiceImpl<SysPersonMapper, SysPerson
        SysPerson model=   getPersonByIdName(entity);
 
        if(model==null){
-           insertPerson(model);
+           insertPerson(entity);
        }
        return model;
 

+ 1 - 1
src/main/java/com/zhongzheng/vo/MajorVo.java

@@ -17,7 +17,7 @@ public class MajorVo {
     /**
      * 专业ID
      */
-    private String majorId;
+    private int majorId;
 
     /**
      * 专业名称

+ 17 - 16
src/main/resources/mapper/SysCertificateMapper.xml

@@ -2,32 +2,33 @@
 <!DOCTYPE mapper
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.zhongzheng.mapper.SysCompanyMapper">
+<mapper namespace="com.zhongzheng.mapper.SysCertificateMapper">
 
 
     <select id="selectCerListByCertBo" parameterType="com.zhongzheng.bo.SysCertificateBo" resultType="com.zhongzheng.domian.SysCertificate">
         select  distinct
-        certificate_number,
-        company_id,
-        person_id,
+        a.*
         from sys_certificate a
-        where user_id = #{company.userId}
-        <if test="company.companyName != null and company.companyName != ''">
-            AND company_name like concat('%', #{company.companyName}, '%')
+        inner JOIN sys_certificate_addition  b on   a.certificate_id = b.certificate_id
+        where  a.Status=1
+        <if test="cet.userId != null and cet.userId  != ''">
+            AND user_id =#{cet.userId}
         </if>
-        <if test="company.companyType != null and company.companyType != ''">
-            AND company_type =#{company.companyType}
+        <if test="cet.companyId != null and cet.companyId  != ''">
+            AND company_id =#{cet.companyType}
         </if>
-        <if test="company.customerStatus != null and company.customerStatus != ''">
-            AND customer_status =#{company.customerStatus}
+        <if test="cet.personId != null and cet.personId != ''">
+            AND person_id =#{cet.personId}
         </if>
-        <if test="company.source != null and company.source != ''">
-            AND source =#{company.source}
-        </if>
-        <if test="company.transactionStatus!= null and company.transactionStatus != ''">
-            AND transaction_status =#{company.transactionStatus}
+        <if test="cet.personIds != null and cet.personIds.size()>0">
+            AND company_id in
+            <foreach item="id" collection="cet.personIds" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+
         </if>
 
+
     </select>
 
 </mapper>