‘linchangsheng’ 3 months ago
parent
commit
5379842a36

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

@@ -141,13 +141,6 @@ public class WorkerLogic {
                     .le(WorkerPolicy::getEndTime, DateUtil.offsetDay(new Date(),mailbox.getOverNum()))
                     .eq(WorkerPolicy::getPolicyType,"AC")
                     .count() > 0
-                    &&
-                    workerPolicyService.lambdaQuery()
-                            .eq(WorkerPolicy::getWebsitUserId,websitUser.getId())
-                            .in(WorkerPolicy::getStatus,"DSX","BZZ")
-                            .eq(WorkerPolicy::getPolicyType,"AC")
-                            .eq(WorkerPolicy::getWebsitUserId,websitUser.getId())
-                            .count() <= 1
 
                     &&
                     policyOrderService.lambdaQuery()
@@ -155,8 +148,13 @@ public class WorkerLogic {
                             .in(PolicyOrder::getPolicyOrderStatus,"DSX","BZZ")
                             .eq(PolicyOrder::getType,"AC")
                             .eq(PolicyOrder::getIsPay,IsYesNoEnum.YES.getKey())
+                            .and(item -> item
+                            .isNull(PolicyOrder::getStartTime)
+                            .or().ge(PolicyOrder::getEndTime, DateUtil.offsetDay(new Date(),mailbox.getOverNum()))
+
+                            )
                             .eq(PolicyOrder::getWebsitUserId,websitUser.getId())
-                            .count() <= 1
+                            .count() < 1
 
             ){
 
@@ -324,7 +322,7 @@ public class WorkerLogic {
         Policy policy = policyService.lambdaQuery()
                 .in(Policy::getId, policyWebsits.stream().map(PolicyWebsit::getPolicyId).collect(Collectors.toList()))
                 .notIn(CollectionUtil.isNotEmpty(policyIds), Policy::getId, policyIds)
-                .le(CollectionUtil.isNotEmpty(policyOrderList), Policy::getEndTime, CollectionUtil.isNotEmpty(policyOrderList)?policyOrderList.get(0).getEndTime():null)
+                .ge(CollectionUtil.isNotEmpty(policyOrderList), Policy::getEndTime, CollectionUtil.isNotEmpty(policyOrderList)?policyOrderList.get(0).getEndTime():null)
                 .eq(Policy::getIsBuy, IsYesNoEnum.YES.getKey())
                 .le(Policy::getPolicyStartTime, new Date())
                 .ge(Policy::getEndTime, new Date())
@@ -533,7 +531,7 @@ public class WorkerLogic {
         List<AdminWebsit> adminWebsits = new ArrayList<>();
         for (WebsitUser websitUser : websitUsers) {
 
-            //保障,生效小于1 或 保障待生效,时间小于过期提醒  且  订单大于提醒日期得保障待生效 小于1
+            //保障,生效小于1 或 保障待生效,时间小于过期提醒  且  订单大于提醒日期得保障待生效 小于1
             if ((workerPolicyService.lambdaQuery().eq(WorkerPolicy::getWebsitUserId,websitUser.getId())
                     .eq(WorkerPolicy::getPolicyType,"AC")
                     .in(WorkerPolicy::getStatus,"BZZ","DSX").count() < 1 ||
@@ -549,7 +547,11 @@ public class WorkerLogic {
                             .in(PolicyOrder::getPolicyOrderStatus,"DSX","BZZ")
                             .eq(PolicyOrder::getType,"AC")
                             .eq(PolicyOrder::getIsPay,IsYesNoEnum.YES.getKey())
-                            .ge(PolicyOrder::getEndTime,DateUtil.endOfDay(DateUtil.offsetDay(new Date(),mailbox.getOverNum())))
+                            .and(item -> item
+                                    .isNull(PolicyOrder::getStartTime)
+                                    .or().ge(PolicyOrder::getEndTime, DateUtil.offsetDay(new Date(),mailbox.getOverNum()))
+
+                            )
                             .eq(PolicyOrder::getWebsitUserId,websitUser.getId())
                             .count() < 1