Quellcode durchsuchen

Merge remote-tracking branch 'origin/develop' into develop

FengChaoYu vor 5 Monaten
Ursprung
Commit
0c36afc0cc

+ 22 - 0
mall-server-api/src/main/java/com/gree/mall/manager/enums/PolicyOrderEmStutasEnum.java

@@ -0,0 +1,22 @@
+package com.gree.mall.manager.enums;
+
+import com.gree.mall.manager.enums.base.BaseEnum;
+import lombok.AccessLevel;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor(access = AccessLevel.PRIVATE)
+public enum PolicyOrderEmStutasEnum  implements BaseEnum {
+
+    XG("XG","新购"),
+    DTH("DTH","待替换"),
+    YGM("YGM","已购买"),
+    BZZ("BZZ","保障中"),
+    YSX("YSX","已失效"),
+    KTH("KTH","可替换"),
+    ;
+
+    private final String key;
+    private final String remark;
+}

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

@@ -0,0 +1,20 @@
+package com.gree.mall.manager.enums;
+
+import com.gree.mall.manager.enums.base.BaseEnum;
+import lombok.AccessLevel;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor(access = AccessLevel.PRIVATE)
+public enum PolicyOrderInStutasEnum implements BaseEnum {
+    DGM("DGM","待购买"),
+    DSX("DSX","待生效"),
+    BZZ("BZZ","保障中"),
+    YSX("YSX","已失效"),
+
+            ;
+
+    private final String key;
+    private final String remark;
+}

+ 95 - 3
mall-server-api/src/main/java/com/gree/mall/manager/logic/policy/WorkerManagerLogic.java

@@ -2,13 +2,15 @@ package com.gree.mall.manager.logic.policy;
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.db.sql.Order;
+import com.alibaba.druid.support.spring.stat.annotation.Stat;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.gree.mall.manager.bean.admin.AdminUserCom;
 import com.gree.mall.manager.bean.policy.WorkerManagerBean;
 import com.gree.mall.manager.bean.policy.WorkerManagerDetail;
-import com.gree.mall.manager.enums.ExamineWorkerStatusEnum;
-import com.gree.mall.manager.enums.OrderStatusEnum;
-import com.gree.mall.manager.enums.WebsitAttrEnum;
+import com.gree.mall.manager.enums.*;
 import com.gree.mall.manager.enums.workorder.OrderBaseStatusEnum;
 import com.gree.mall.manager.exception.RemoteServiceException;
+import com.gree.mall.manager.logic.common.CommonLogic;
 import com.gree.mall.manager.plus.entity.*;
 import com.gree.mall.manager.plus.service.*;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -41,6 +43,13 @@ public class WorkerManagerLogic {
     @Autowired
     AdminWebsitService adminWebsitService;
 
+    @Autowired
+    CommonLogic commonLogic;
+
+
+    @Autowired
+    PolicyOrderService policyOrderService;
+
 
     public void stop(String id) {
 
@@ -307,10 +316,93 @@ public class WorkerManagerLogic {
     }
 
     private void scGuZhu(WorkerManagerBean workerManagerBean) {
+
+        AdminUserCom adminUser = commonLogic.getAdminUser();
+
+        //找有无可替换,有替换,无生成
+        List<PolicyOrder> policyOrders = policyOrderService.lambdaQuery().eq(PolicyOrder::getWebsitId, workerManagerBean.getWebsitId())
+                .eq(PolicyOrder::getStartTime, PolicyOrderEmStutasEnum.KTH.getKey()).list();
+
+        if (!CollectionUtils.isEmpty(policyOrders)) {
+
+            User user = userService.getById(workerManagerBean.getUserId());
+
+            policyOrderService.lambdaUpdate()
+                    .eq(PolicyOrder::getId,policyOrders.get(0).getId())
+                    .set(PolicyOrder::getPolicyOrderStatus,PolicyOrderEmStutasEnum.YSX.getKey())
+                    .set(PolicyOrder::getEndTime,new Date()).update();
+
+            workerPolicyService.lambdaUpdate()
+                    .eq(WorkerPolicy::getPolicyId,policyOrders.get(0).getId())
+                    .eq(WorkerPolicy::getWebsitUserId,workerManagerBean.getId())
+                    .set(WorkerPolicy::getStatus, "OFF")
+                    .set(WorkerPolicy::getEndTime,new Date()).update();
+
+            PolicyOrder policyOrder = policyOrders.get(0);
+            policyOrder.setId(IdWorker.getIdStr());
+            policyOrder.setReplaceName(policyOrder.getWorkerName());
+            policyOrder.setReplacePhone(policyOrder.getWorkerMobile());
+            policyOrder.setReplaceNumber(policyOrder.getWorkerNumber());
+            policyOrder.setReplaceIdcard(policyOrder.getWorkerIdcard());
+
+            policyOrder.setWorkerIdcard(user.getIdCard());
+            policyOrder.setWorkerMobile(user.getMobile());
+            policyOrder.setWorkerName(workerManagerBean.getUser().getNickName());
+            policyOrder.setWorkerNumber(workerManagerBean.getUser().getWorkerNumber());
+
+            policyOrder.setPolicyOrderStatus(PolicyOrderEmStutasEnum.DTH.getKey());
+
+            policyOrder.setIsSend(IsYesNoEnum.NO.getKey());
+            policyOrder.setIsReceipt(IsYesNoEnum.NO.getKey());
+            policyOrder.insert();
+
+
+
+        }else {
+
+            AdminWebsit adminWebsit = adminWebsitService.getById(workerManagerBean.getWebsitId());
+            PolicyOrder policyOrder = new PolicyOrder();
+            policyOrder.setBelongCompany(adminWebsit.getBelongCompany());
+            policyOrder.setBelongCompanyCode(adminWebsit.getBelongCompanyCode());
+            policyOrder.setPolicyOrderStatus(PolicyOrderEmStutasEnum.XG.getKey());
+            policyOrder.setCompanyWechatId(adminWebsit.getCompanyWechatId());
+            policyOrder.setCompanyWechatName(adminWebsit.getCompanyWechatName());
+            policyOrder.setPolicyOrderId(IdWorker.getIdStr());
+            policyOrder.setId(policyOrder.getPolicyOrderId());
+            policyOrder.setWebsitId(adminWebsit.getWebsitId());
+            policyOrder.setWebsitName(adminWebsit.getName());
+            policyOrder.setWorkerNumber(workerManagerBean.getWorkerNumber());
+            policyOrder.setWorkerName(workerManagerBean.getUser().getNickName());
+            policyOrder.setWorkerIdcard(workerManagerBean.getUser().getIdCard());
+            policyOrder.setWorkerMobile(workerManagerBean.getUser().getMobile());
+            policyOrder.setType("EM");
+            policyOrder.insert();
+        }
     }
 
     private void scGongShang(WorkerManagerBean workerManagerBean) {
 
+
+        AdminWebsit adminWebsit = adminWebsitService.getById(workerManagerBean.getWebsitId());
+        PolicyOrder policyOrder = new PolicyOrder();
+        policyOrder.setBelongCompany(adminWebsit.getBelongCompany());
+        policyOrder.setBelongCompanyCode(adminWebsit.getBelongCompanyCode());
+        policyOrder.setPolicyOrderStatus(PolicyOrderInStutasEnum.DGM.getKey());
+        policyOrder.setCompanyWechatId(adminWebsit.getCompanyWechatId());
+        policyOrder.setCompanyWechatName(adminWebsit.getCompanyWechatName());
+        policyOrder.setPolicyOrderId(IdWorker.getIdStr());
+        policyOrder.setId(policyOrder.getPolicyOrderId());
+        policyOrder.setWebsitId(adminWebsit.getWebsitId());
+        policyOrder.setWebsitName(adminWebsit.getName());
+        policyOrder.setWorkerNumber(workerManagerBean.getWorkerNumber());
+        policyOrder.setWorkerName(workerManagerBean.getUser().getNickName());
+        policyOrder.setWorkerIdcard(workerManagerBean.getUser().getIdCard());
+        policyOrder.setWorkerMobile(workerManagerBean.getUser().getMobile());
+        policyOrder.setBuyUnit(adminWebsit.getInsureSteadUnit());
+        policyOrder.setBuyUnit(adminWebsit.getInsureSteadUnit());
+        policyOrder.setType("IN");
+        policyOrder.insert();
+
     }
 
     public Boolean hasOverlap(List<WorkerPolicy> workerPolicies){