| 
					
				 | 
			
			
				@@ -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; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 |