‘linchangsheng’ 1 year ago
parent
commit
2904e22842

+ 20 - 0
mall-server-api/src/main/java/com/gree/mall/manager/enums/PolicyOrderStutasEnum.java

@@ -0,0 +1,20 @@
+package com.gree.mall.manager.enums;
+
+
+import com.gree.mall.manager.enums.base.BaseEnum;
+import lombok.Getter;
+
+@Getter
+public enum  PolicyOrderStutasEnum implements BaseEnum {
+    WAIT("WAIT","未支付"),
+    DSX("DSX","待生效"),
+    BZZ("BZZ","保障中"),
+    YSX("YSX","已生效"),
+    ;
+
+    PolicyOrderStutasEnum(String key, String remark) {
+        this.key=key;this.remark = remark;
+    }
+    private String key;
+    private String remark;
+}

+ 122 - 30
mall-server-api/src/main/java/com/gree/mall/manager/logic/user/UserLogic.java

@@ -20,6 +20,7 @@ import com.gree.mall.manager.bean.user.UserWxBean;
 import com.gree.mall.manager.bean.user.UserWxCustomerBean;
 import com.gree.mall.manager.bean.user.UserWxCustomerBean;
 import com.gree.mall.manager.commonmapper.*;
 import com.gree.mall.manager.commonmapper.*;
 import com.gree.mall.manager.enums.ExamineStatusEnum;
 import com.gree.mall.manager.enums.ExamineStatusEnum;
+import com.gree.mall.manager.enums.PolicyOrderStutasEnum;
 import com.gree.mall.manager.enums.UserTypeEnum;
 import com.gree.mall.manager.enums.UserTypeEnum;
 import com.gree.mall.manager.enums.admin.AdminWebsitTypeEnum;
 import com.gree.mall.manager.enums.admin.AdminWebsitTypeEnum;
 import com.gree.mall.manager.enums.base.BaseEnum;
 import com.gree.mall.manager.enums.base.BaseEnum;
@@ -281,35 +282,7 @@ public class UserLogic {
             UserWait userWait = new UserWait();
             UserWait userWait = new UserWait();
             userWait.setUserType(userTypeEnum.getKey());
             userWait.setUserType(userTypeEnum.getKey());
             userWait.setMobile(mobile);
             userWait.setMobile(mobile);
-            if (Objects.nonNull(adminWebsit)) {
-                userWait.setWebsitId(adminWebsit.getWebsitId());
-                userWait.setWebsitName(adminWebsit.getName());
-                //入驻已存在的师傅到网点
-                User worker = userService.lambdaQuery()
-                        .eq(User::getMobile, mobile)
-                        .eq(User::getType, UserTypeEnum.WORKER.getKey())
-                        .last("limit 1")
-                        .one();
-                if (Objects.nonNull(worker)) {
-                    this.saveWebsitUser(adminWebsit.getWebsitId(), worker, brank, workerNumber, "系统导入初始化");
-                }
-            }
 
 
-            userWait.setName(name);
-            userWait.setIdcard(idcard);
-            userWait.setIdCardStartTime(DateUtil.parse(idcardStartTime, "yyyy/MM/dd"));
-            userWait.setIdCardEndTime(DateUtil.parse(idcardEndTime, "yyyy/MM/dd"));
-            userWait.setCompanyWechatId(adminUser.getCompanyWechatId());
-            userWait.setCompanyWechatName(adminUser.getCompanyName());
-            userWait.setBankAccount(brank);
-            userWait.setWorkerNumber(workerNumber);
-
-            if (!StringUtil.isEmpty(hightNumber)) {
-                userWait.setNumber(hightNumber);
-                userWait.setStartTime(DateUtil.parse(hightStartTime, "yyyy/MM/dd"));
-                userWait.setEndTime(DateUtil.parse(hightEndTime, "yyyy/MM/dd"));
-                userWait.setHightExamineTime(DateUtil.parse(hightExamineTime, "yyyy/MM/dd"));
-            }
 
 
             if (adminWebsit.getInsureType().equals("意外险,工伤险")) {
             if (adminWebsit.getInsureType().equals("意外险,工伤险")) {
 
 
@@ -356,6 +329,38 @@ public class UserLogic {
                 userWait.setInPolicyOrder(in_policy_order);
                 userWait.setInPolicyOrder(in_policy_order);
             }
             }
 
 
+            if (Objects.nonNull(adminWebsit)) {
+                userWait.setWebsitId(adminWebsit.getWebsitId());
+                userWait.setWebsitName(adminWebsit.getName());
+                //入驻已存在的师傅到网点
+                User worker = userService.lambdaQuery()
+                        .eq(User::getMobile, mobile)
+                        .eq(User::getType, UserTypeEnum.WORKER.getKey())
+                        .last("limit 1")
+                        .one();
+                if (Objects.nonNull(worker)) {
+                    this.saveWebsitUser(adminWebsit.getWebsitId(), worker, brank, workerNumber, "系统导入初始化",userWait);
+                }
+            }
+
+            userWait.setName(name);
+            userWait.setIdcard(idcard);
+            userWait.setIdCardStartTime(DateUtil.parse(idcardStartTime, "yyyy/MM/dd"));
+            userWait.setIdCardEndTime(DateUtil.parse(idcardEndTime, "yyyy/MM/dd"));
+            userWait.setCompanyWechatId(adminUser.getCompanyWechatId());
+            userWait.setCompanyWechatName(adminUser.getCompanyName());
+            userWait.setBankAccount(brank);
+            userWait.setWorkerNumber(workerNumber);
+
+            if (!StringUtil.isEmpty(hightNumber)) {
+                userWait.setNumber(hightNumber);
+                userWait.setStartTime(DateUtil.parse(hightStartTime, "yyyy/MM/dd"));
+                userWait.setEndTime(DateUtil.parse(hightEndTime, "yyyy/MM/dd"));
+                userWait.setHightExamineTime(DateUtil.parse(hightExamineTime, "yyyy/MM/dd"));
+            }
+
+
+
             userWaits.add(userWait);
             userWaits.add(userWait);
         }
         }
         userWaitService.saveBatch(userWaits);
         userWaitService.saveBatch(userWaits);
@@ -517,7 +522,7 @@ public class UserLogic {
         if (StringUtils.isNotBlank(websitId)) {
         if (StringUtils.isNotBlank(websitId)) {
 
 
             User user = userService.getById(userId);
             User user = userService.getById(userId);
-            this.saveWebsitUser(websitId, user, userApplyBean.getBankAccount(), userApplyBean.getWorkerNumber(), "系统手动设置");
+          //  this.saveWebsitUser(websitId, user, userApplyBean.getBankAccount(), userApplyBean.getWorkerNumber(), "系统手动设置");
         }
         }
 
 
         userService.lambdaUpdate()
         userService.lambdaUpdate()
@@ -548,7 +553,7 @@ public class UserLogic {
     }
     }
 
 
     @Transactional
     @Transactional
-    public void saveWebsitUser(String websitId, User user, String bankAccount, String workerNumber, String remark) {
+    public void saveWebsitUser(String websitId, User user, String bankAccount, String workerNumber, String remark,UserWait userWait) {
         // 用户师傅编号不为空并且师傅编号与传入师傅编号不一致,抛错
         // 用户师傅编号不为空并且师傅编号与传入师傅编号不一致,抛错
         if (StringUtils.isNotBlank(user.getWorkerNumber())
         if (StringUtils.isNotBlank(user.getWorkerNumber())
                 && !StringUtils.equals(user.getWorkerNumber(), workerNumber)) {
                 && !StringUtils.equals(user.getWorkerNumber(), workerNumber)) {
@@ -576,6 +581,93 @@ public class UserLogic {
             user.setWorkerNumber(workerNumber)
             user.setWorkerNumber(workerNumber)
                     .updateById();
                     .updateById();
         }
         }
+
+
+        //新意外增保险
+        if (!StringUtil.isEmpty(userWait.getPolicyOrder())){
+            WorkerPolicy workerPolicy = new WorkerPolicy();
+            workerPolicy.setWorkerId(websitUser.getWorkerNumber());
+            workerPolicy.setType("LINE");
+            workerPolicy.setOrderId(userWait.getPolicyOrder());
+            workerPolicy.setPolicyName(userWait.getPolicyName());
+            workerPolicy.setCompany(userWait.getCompany());
+            workerPolicy.setPolicyOrder(userWait.getPolicyOrder());
+            workerPolicy.setPolicyType("AC");
+            workerPolicy.setStartTime(userWait.getPolicyStartTime());
+            workerPolicy.setEndTime(userWait.getPolicyEndTime());
+            workerPolicy.setWebsitUserId(websitUser.getId());
+            workerPolicy.setWebsitId(websitUser.getWebsitId());
+            workerPolicy.setWebsitName(websitUser.getWebsitName());
+            workerPolicy.setWorkerName(user.getNickName());
+
+            if (new Date().after(userWait.getPolicyStartTime()) && new Date().before(userWait.getPolicyEndTime()))
+                workerPolicy.setStatus(PolicyOrderStutasEnum.BZZ.getKey());
+            else if (new Date().after(userWait.getPolicyEndTime()))
+                workerPolicy.setStatus(PolicyOrderStutasEnum.YSX.getKey());
+            else {
+                workerPolicy.setStatus(PolicyOrderStutasEnum.DSX.getKey());
+            }
+            workerPolicy.insert();
+        }
+
+
+        //新增雇主保险
+        if (!StringUtil.isEmpty(userWait.getEmPolicyOrder())){
+            WorkerPolicy workerPolicy = new WorkerPolicy();
+            workerPolicy.setWorkerId(websitUser.getWorkerNumber());
+            workerPolicy.setType("LINE");
+            workerPolicy.setOrderId(userWait.getEmPolicyOrder());
+            workerPolicy.setPolicyName(userWait.getEmPolicyName());
+            workerPolicy.setCompany(userWait.getEmCompany());
+            workerPolicy.setPolicyOrder(userWait.getEmPolicyOrder());
+            workerPolicy.setPolicyType("EM");
+            workerPolicy.setStartTime(userWait.getEmPolicyStartTime());
+            workerPolicy.setEndTime(userWait.getEmPolicyEndTime());
+            workerPolicy.setWebsitUserId(websitUser.getId());
+            workerPolicy.setWebsitId(websitUser.getWebsitId());
+            workerPolicy.setWebsitName(websitUser.getWebsitName());
+            workerPolicy.setWorkerName(user.getNickName());
+
+            if (new Date().after(workerPolicy.getStartTime()) && new Date().before(workerPolicy.getEndTime()))
+                workerPolicy.setStatus(PolicyOrderStutasEnum.BZZ.getKey());
+            else if (new Date().after(workerPolicy.getEndTime()))
+                workerPolicy.setStatus(PolicyOrderStutasEnum.YSX.getKey());
+            else {
+                workerPolicy.setStatus(PolicyOrderStutasEnum.DSX.getKey());
+            }
+
+            workerPolicy.insert();
+        }
+
+
+        //新增工伤保险
+        if (!StringUtil.isEmpty(userWait.getInPolicyOrder())){
+            WorkerPolicy workerPolicy = new WorkerPolicy();
+            workerPolicy.setWorkerId(websitUser.getWorkerNumber());
+            workerPolicy.setType("LINE");
+            workerPolicy.setOrderId(userWait.getInPolicyOrder());
+            workerPolicy.setPolicyName(userWait.getInPolicyName());
+            workerPolicy.setCompany(userWait.getInCompany());
+            workerPolicy.setPolicyOrder(userWait.getInPolicyOrder());
+            workerPolicy.setPolicyType("IN");
+            workerPolicy.setStartTime(userWait.getInPolicyStartTime());
+            workerPolicy.setEndTime(userWait.getInPolicyEndTime());
+            workerPolicy.setWebsitUserId(websitUser.getId());
+            workerPolicy.setWebsitId(websitUser.getWebsitId());
+            workerPolicy.setWebsitName(websitUser.getWebsitName());
+            workerPolicy.setWorkerName(user.getNickName());
+
+            if (new Date().after(workerPolicy.getStartTime()) && new Date().before(workerPolicy.getEndTime()))
+                workerPolicy.setStatus(PolicyOrderStutasEnum.BZZ.getKey());
+            else if (new Date().after(workerPolicy.getEndTime()))
+                workerPolicy.setStatus(PolicyOrderStutasEnum.YSX.getKey());
+            else {
+                workerPolicy.setStatus(PolicyOrderStutasEnum.DSX.getKey());
+            }
+
+            workerPolicy.insert();
+        }
+
     }
     }