‘linchangsheng’ il y a 6 mois
Parent
commit
1a27e67460

+ 1 - 1
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/policy/WorkerLogic.java

@@ -175,7 +175,7 @@ public class WorkerLogic {
 
         PolicyOrderDetail policyOrderDetail = BeanUtil.toBean(workerPolicy, PolicyOrderDetail.class);
 
-        Policy policy = policyService.getById(workerPolicy.getPolicyId());
+        Policy policy = policyService.getById(workerPolicy.getOrderId());
 
 
         List<PolicyRange> policyRanges = policyRangeService.lambdaQuery().eq(PolicyRange::getPolicyId, policy.getId()).list();

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

@@ -10,6 +10,7 @@ import lombok.Getter;
 public enum PolicyOrderEmStutasEnum  implements BaseEnum {
 
     XG("XG","新购"),
+    DSX("DSX","待生效"),
     DTH("DTH","待替换"),
     YGM("YGM","已购买"),
     BZZ("BZZ","保障中"),

+ 2 - 2
mall-server-api/src/main/java/com/gree/mall/manager/enums/WorkerPolicyStatusEnum.java

@@ -10,8 +10,8 @@ import lombok.Getter;
 public enum  WorkerPolicyStatusEnum implements BaseEnum {
 
     ON("ON", "保障中"),
-    WAIT_ON("WAIT_ON", "效"),
-    OFF("OFF", "待生效"),
+    WAIT_ON("WAIT_ON", "待生效"),
+    OFF("OFF", "效"),
 
     ;
 

+ 65 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/policy/AgreementLogic.java

@@ -673,6 +673,50 @@ public class AgreementLogic {
                     .set(MailboxSendRecord::getReceiptStatus,IsYesNoEnum.YES.getKey())
                     .set(MailboxSendRecord::getReceiptTime,new Date()).update();
 
+            //将保险都生效或待生效
+            List<MailboxSendRecord> mailboxSendRecords = mailboxSendRecordService.lambdaQuery()
+                    .between(MailboxSendRecord::getSendTime, DateUtil.beginOfDay(new Date()), DateUtil.endOfDay(new Date()))
+                    .eq(MailboxSendRecord::getPolicyType, PolicyTypeEnum.EM.getKey()).list();
+
+            if (!CollectionUtils.isEmpty(mailboxSendRecords)) {
+
+                List<String> sendBatch = mailboxSendRecords.stream().map(MailboxSendRecord::getSendBatch).collect(Collectors.toList());
+
+                List<MailboxSendRecordPolicy> mailboxSendRecordPolicies = mailboxSendRecordPolicyService.lambdaQuery().in(MailboxSendRecordPolicy::getSendBatch, sendBatch).list();
+
+                List<String> policyOrderId = mailboxSendRecordPolicies.stream().map(MailboxSendRecordPolicy::getPolicyOrderId).collect(Collectors.toList());
+
+                policyOrderService.lambdaUpdate()
+                        .in(PolicyOrder::getId,policyOrderId)
+                        .set(PolicyOrder::getStartTime,DateUtil.beginOfDay(DateUtil.offsetDay(new Date(),1)))
+                        .set(PolicyOrder::getEndTime,DateUtil.endOfDay(DateUtil.offsetMonth(new Date(),12)))
+                        .set(PolicyOrder::getPolicyOrderStatus, PolicyOrderEmStutasEnum.DSX.getKey()).update();
+
+
+                List<PolicyOrder> policyOrders = policyOrderService.lambdaQuery().in(PolicyOrder::getId, policyOrderId).list();
+
+                List<WorkerPolicy> workerPolicies = new ArrayList<>();
+
+                for (PolicyOrder policyOrder : policyOrders) {
+                    WorkerPolicy workerPolicy = new WorkerPolicy();
+                    workerPolicy.setWorkerId(policyOrder.getWorkerNumber());
+                    workerPolicy.setType("IN");
+                    workerPolicy.setPolicyName(policyOrder.getPolicyName());
+                    workerPolicy.setOrderId(policyOrder.getId());
+                    workerPolicy.setPolicyOrder(policyOrder.getPolicyId());
+                    workerPolicy.setPolicyType(policyOrder.getType());
+                    workerPolicy.setStatus(WorkerPolicyStatusEnum.WAIT_ON.getKey());
+                    workerPolicy.setStartTime(DateUtil.beginOfDay(DateUtil.offsetDay(new Date(),1)));
+                    workerPolicy.setEndTime(DateUtil.endOfDay(DateUtil.offsetMonth(new Date(),12)));
+                    workerPolicy.setWebsitUserId(policyOrder.getWebsitUserId());
+                    workerPolicy.setWebsitId(policyOrder.getWebsitId());
+                    workerPolicy.setWebsitName(policyOrder.getWebsitName());
+                    workerPolicy.setWorkerName(policyOrder.getWorkerName());
+                    workerPolicies.add(workerPolicy);
+                }
+                workerPolicyService.saveBatch(workerPolicies);
+            }
+
         }
 
 
@@ -697,5 +741,26 @@ public class AgreementLogic {
                 .le(WorkerPolicy::getEndTime,new Date())
                 .eq(WorkerPolicy::getStatus,WorkerPolicyStatusEnum.OFF.getKey()).update();
 
+        policyOrderService.lambdaUpdate()
+                .le(PolicyOrder::getEndTime,new Date())
+                .eq(PolicyOrder::getPolicyOrderStatus,PolicyOrderStatusEnum.YSX.getKey()).update();
+
+
+        workerPolicyService.lambdaUpdate()
+                .ge(WorkerPolicy::getEndTime,new Date())
+                .le(WorkerPolicy::getStartTime,new Date())
+                .ne(WorkerPolicy::getStatus,WorkerPolicyStatusEnum.ON.getKey())
+                .set(WorkerPolicy::getStatus,WorkerPolicyStatusEnum.ON.getKey())
+                .update();
+
+        policyOrderService.lambdaUpdate()
+                .ge(PolicyOrder::getEndTime,new Date())
+                .le(PolicyOrder::getStartTime,new Date())
+                .ne(PolicyOrder::getPolicyOrderStatus,PolicyOrderStatusEnum.BZZ.getKey())
+                .set(PolicyOrder::getPolicyOrderStatus,PolicyOrderStatusEnum.BZZ.getKey())
+                .update();
+
     }
+
+
 }

+ 2 - 8
mall-server-api/src/main/java/com/gree/mall/manager/schedule/InsureEmailSchedule.java

@@ -38,19 +38,13 @@ public class InsureEmailSchedule {
     }
 
 
-    //保险过期/生效
+    //保险过期
     @Scheduled(fixedDelay = 60*60* 1000)
     public void task3(){
         agreementLogic.offInsure();
     }
 
-    //保险过期/生效
-/*
-    @Scheduled(fixedDelay = 60*60* 1000)
-    public void task4(){
-        agreementLogic.task4();
-    }
-*/
+
 
 
 }