‘linchangsheng’ 5 months ago
parent
commit
9bad55b8ed

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

@@ -1102,4 +1102,60 @@ public class AgreementLogic {
 
         }
     }
+
+    public void task7() {
+        Mailbox mailbox = mailboxService.getById(1);
+        List<WebsitUser> websitUsers = websitUserService.lambdaQuery().eq(WebsitUser::getExamineStatus, ExamineStatusEnum.OK.getKey()).list();
+
+        List<String> websitUserIds = websitUsers.stream().map(WebsitUser::getId).collect(Collectors.toList());
+
+
+        List<WorkerPolicy> workerPolicies = workerPolicyService.lambdaQuery().in(WorkerPolicy::getWebsitUserId, websitUserIds)
+                .eq(WorkerPolicy::getPolicyType,PolicyTypeEnum.EM.getKey())
+                .eq(WorkerPolicy::getStatus,PolicyOrderStatusEnum.BZZ.getKey())
+                .le(WorkerPolicy::getEndTime,DateUtil.offsetDay(DateUtil.endOfDay(new Date()),mailbox.getOverNum()))
+                .list();
+
+        for (WorkerPolicy workerPolicy : workerPolicies) {
+
+            if (policyOrderService.lambdaQuery().eq(PolicyOrder::getPolicyOrderStatus, PolicyOrderInStutasEnum.DGM.getKey())
+                    .eq(PolicyOrder::getType,"EM").count() > 0) {
+                continue;
+            }
+
+            AdminWebsit adminWebsit = adminWebsitService.getById(workerPolicy.getWebsitId());
+            WebsitUser websitUser = websitUserService.getById(workerPolicy.getId());
+            User user = userService.getById(websitUser.getUserId());
+
+            SysDictCompany sysDictCompany = sysDictCompanyService.lambdaQuery().eq(SysDictCompany::getDictCode, adminWebsit.getInsureSteadUnit())
+                    .eq(SysDictCompany::getDictType,"INSURE_STEAD_UNIT").one();
+
+
+            PolicyOrder policyOrder = new PolicyOrder();
+            policyOrder.setBelongCompany(adminWebsit.getBelongCompany());
+            policyOrder.setBelongCompanyCode(adminWebsit.getBelongCompanyCode());
+            policyOrder.setPolicyOrderStatus(PolicyOrderEmStutasEnum.XG.getKey());
+            policyOrder.setPolicyName("雇主险");
+            policyOrder.setCompanyWechatId(adminWebsit.getCompanyWechatId());
+            policyOrder.setCompanyWechatName(adminWebsit.getCompanyWechatName());
+            policyOrder.setPolicyId(IdWorker.getIdStr());
+            policyOrder.setId(policyOrder.getPolicyId());
+            policyOrder.setWebsitId(adminWebsit.getWebsitId());
+            policyOrder.setWebsitName(adminWebsit.getName());
+            policyOrder.setWorkerNumber(websitUser.getWorkerNumber());
+            policyOrder.setWorkerName(user.getNickName());
+            policyOrder.setWorkerIdcard(user.getIdCard());
+            policyOrder.setWorkerMobile(user.getMobile());
+            policyOrder.setBuyUnitId(adminWebsit.getInsureSteadUnit());
+            policyOrder.setBuyUnit(sysDictCompany.getDictValue());
+            policyOrder.setCompany(sysDictCompany.getDictValue());
+
+            policyOrder.setWebsitUserId(websitUser.getId());
+            policyOrder.setType("EM");
+            policyOrder.insert();
+
+
+        }
+
+    }
 }

+ 6 - 0
mall-server-api/src/main/java/com/gree/mall/manager/schedule/InsureEmailSchedule.java

@@ -65,4 +65,10 @@ public class InsureEmailSchedule {
     public void task6(){
         agreementLogic.task6();
     }
+
+    //雇主提前设置天数续保
+    @Scheduled(fixedDelay = 60* 1000)
+    public void task7(){
+        agreementLogic.task7();
+    }
 }