|
@@ -261,7 +261,7 @@ public class WorkerLogic {
|
|
|
}
|
|
|
|
|
|
|
|
|
- public Page<PolicyOrder> myPolicy(Integer pageNum, Integer pageSize) {
|
|
|
+ public Page<PolicyOrder> myPolicy(Integer pageNum, Integer pageSize,String type) {
|
|
|
|
|
|
CurrentCompanyWechat currentCompanyWechat = commonLogic.getCurrentCompanyWechat();
|
|
|
|
|
@@ -274,7 +274,7 @@ public class WorkerLogic {
|
|
|
|
|
|
Page<PolicyOrder> page = policyOrderService.lambdaQuery()
|
|
|
.in(PolicyOrder::getWebsitUserId,collect)
|
|
|
- .eq(PolicyOrder::getType,"AC")
|
|
|
+ .in(PolicyOrder::getType,type)
|
|
|
.eq(PolicyOrder::getIsPay,IsYesNoEnum.YES.getKey())
|
|
|
.orderByDesc(PolicyOrder::getCreateTime)
|
|
|
.page(new Page<>(pageNum, pageSize));
|
|
@@ -425,7 +425,7 @@ public class WorkerLogic {
|
|
|
List<WorkerPolicy> workerPolicies = workerPolicyService.lambdaQuery()
|
|
|
.eq(WorkerPolicy::getWebsitId, websitId)
|
|
|
.eq(WorkerPolicy::getWebsitUserId, websiUser.getId())
|
|
|
- .eq(WorkerPolicy::getPolicyType, "AC")
|
|
|
+ .eq(WorkerPolicy::getPolicyType, policy.getType())
|
|
|
.orderByDesc(WorkerPolicy::getEndTime)
|
|
|
.list();
|
|
|
|
|
@@ -494,7 +494,7 @@ public class WorkerLogic {
|
|
|
policyOrder.setWorkerNumber(currentCompanyWechat.getUser().getWorkerNumber());
|
|
|
policyOrder.setBuyUnit(adminWebsit.getInsureSteadUnit());
|
|
|
policyOrder.setBuyUnit(adminWebsit.getInsureSteadUnit());
|
|
|
- policyOrder.setType("AC");
|
|
|
+ policyOrder.setType(policy.getType());
|
|
|
|
|
|
policyOrder.insert();
|
|
|
|
|
@@ -773,4 +773,127 @@ public class WorkerLogic {
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
+
|
|
|
+ public List<AdminWebsit> myDsWebsit() {
|
|
|
+
|
|
|
+ Mailbox mailbox = mailboxService.getById("1");
|
|
|
+
|
|
|
+ CurrentCompanyWechat currentCompanyWechat = commonLogic.getCurrentCompanyWechat();
|
|
|
+
|
|
|
+ List<WebsitUser> websitUsers = websitUserService.lambdaQuery().eq(WebsitUser::getUserId, currentCompanyWechat.getUserId())
|
|
|
+ .ne(WebsitUser::getExamineStatus,"WAIT").list();
|
|
|
+
|
|
|
+ List<AdminWebsit> adminWebsits = new ArrayList<>();
|
|
|
+
|
|
|
+ List<String> collect = websitUsers.stream()
|
|
|
+ .map(WebsitUser::getWebsitId).collect(Collectors.toList());
|
|
|
+
|
|
|
+ List<Policy> policies = policyService.lambdaQuery().eq(Policy::getType, "DS")
|
|
|
+ .ge(Policy::getEndTime, new Date())
|
|
|
+ .list();
|
|
|
+
|
|
|
+ if (CollectionUtils.isEmpty(policies))
|
|
|
+ return new ArrayList<>();
|
|
|
+
|
|
|
+ List<PolicyWebsit> policyWebsits = policyWebsitService.lambdaQuery()
|
|
|
+ .in(PolicyWebsit::getWebsitId,collect )
|
|
|
+ .in(PolicyWebsit::getPolicyId,policies.stream()
|
|
|
+ .map(Policy::getId).collect(Collectors.toList()) )
|
|
|
+ .list();
|
|
|
+
|
|
|
+ if (CollectionUtils.isEmpty(policyWebsits))
|
|
|
+ return new ArrayList<>();
|
|
|
+
|
|
|
+
|
|
|
+ Policy policy = policyService.lambdaQuery()
|
|
|
+ .eq(Policy::getType, "DS")
|
|
|
+ .ge(Policy::getEndTime, new Date())
|
|
|
+ .in(Policy::getId, policyWebsits.stream()
|
|
|
+ .map(PolicyWebsit::getPolicyId).collect(Collectors.toList()))
|
|
|
+ .orderByDesc(Policy::getEndTime)
|
|
|
+ .last("limit 1").one();
|
|
|
+
|
|
|
+ if (policy == null)
|
|
|
+ return new ArrayList<>();
|
|
|
+
|
|
|
+
|
|
|
+ for (WebsitUser websitUser : websitUsers) {
|
|
|
+
|
|
|
+ if ( policyWebsits.stream().filter(item ->item.getWebsitId().equals(websitUser.getWebsitId())).count() <1) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ if ( policyOrderService.lambdaQuery()
|
|
|
+ .eq(PolicyOrder::getWebsitUserId,websitUser.getId())
|
|
|
+ .eq(PolicyOrder::getType,"DS")
|
|
|
+ .eq(PolicyOrder::getIsPay,IsYesNoEnum.YES.getKey())
|
|
|
+ .and(item -> item
|
|
|
+ .isNull(PolicyOrder::getStartTime)
|
|
|
+ .or().ge(PolicyOrder::getEndTime, policy.getEndTime())
|
|
|
+
|
|
|
+ )
|
|
|
+ .eq(PolicyOrder::getWebsitUserId,websitUser.getId())
|
|
|
+ .count() < 1){
|
|
|
+ AdminWebsit adminWebsit = adminWebsitService.getById(websitUser.getWebsitId());
|
|
|
+ if (!adminWebsit.getAttr().equals("SELF"))
|
|
|
+ continue;
|
|
|
+ adminWebsits.add(adminWebsit);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return adminWebsits;
|
|
|
+ }
|
|
|
+
|
|
|
+ public Page<Policy> dsPolicy(String websitId, Integer pageNum, Integer pageSize) {
|
|
|
+
|
|
|
+ CurrentCompanyWechat currentCompanyWechat = commonLogic.getCurrentCompanyWechat();
|
|
|
+
|
|
|
+ WebsitUser websitUser = websitUserService.lambdaQuery()
|
|
|
+ .eq(WebsitUser::getWebsitId, websitId)
|
|
|
+ .eq(WebsitUser::getUserId, currentCompanyWechat.getUserId()).last("limit 1").one();
|
|
|
+
|
|
|
+ List<PolicyWebsit> policyWebsits = policyWebsitService.lambdaQuery().eq(PolicyWebsit::getWebsitId, websitId).list();
|
|
|
+
|
|
|
+ if (CollectionUtils.isEmpty(policyWebsits))
|
|
|
+ return new Page<>();
|
|
|
+
|
|
|
+
|
|
|
+ List<PolicyOrder> policyOrderList = policyOrderService
|
|
|
+ .lambdaQuery()
|
|
|
+ .eq(PolicyOrder::getType, "DS")
|
|
|
+ .isNotNull(PolicyOrder::getEndTime)
|
|
|
+ .eq(PolicyOrder::getIsPay, IsYesNoEnum.YES.getKey())
|
|
|
+ .eq(PolicyOrder::getWebsitUserId, websitUser.getId())
|
|
|
+ .orderByDesc(PolicyOrder::getEndTime)
|
|
|
+ .list();
|
|
|
+
|
|
|
+
|
|
|
+ List<PolicyOrder> policyOrders = policyOrderService
|
|
|
+ .lambdaQuery()
|
|
|
+ .eq(PolicyOrder::getType, "DS")
|
|
|
+ .isNull(PolicyOrder::getEndTime)
|
|
|
+ .eq(PolicyOrder::getIsPay, IsYesNoEnum.YES.getKey())
|
|
|
+ .eq(PolicyOrder::getWebsitUserId, websitUser.getId())
|
|
|
+ .list();
|
|
|
+
|
|
|
+
|
|
|
+ List<String> policyIds = policyOrders.stream().map(PolicyOrder::getPolicyId).collect(Collectors.toList());
|
|
|
+
|
|
|
+
|
|
|
+ boolean notEmpty = CollectionUtil.isNotEmpty(policyOrderList);
|
|
|
+
|
|
|
+ Page<Policy> page = policyService.lambdaQuery()
|
|
|
+ .notIn(CollectionUtil.isEmpty(policyOrderList) && CollectionUtil.isNotEmpty(policyOrders), Policy::getId, policyIds)
|
|
|
+ .eq(Policy::getIsBuy, IsYesNoEnum.YES.getKey())
|
|
|
+ .le(Policy::getPolicyStartTime, new Date())
|
|
|
+ .eq(Policy::getType, "DS")
|
|
|
+ .ge(Policy::getEndTime, notEmpty?policyOrderList.get(0).getEndTime():new Date())
|
|
|
+ .in(Policy::getId, policyWebsits.stream().map(PolicyWebsit::getPolicyId).collect(Collectors.toList()))
|
|
|
+ .orderByAsc(Policy::getEndTime)
|
|
|
+ .page(new Page<>(pageNum, pageSize));
|
|
|
+
|
|
|
+
|
|
|
+ return page;
|
|
|
+ }
|
|
|
}
|