|
@@ -13,11 +13,13 @@ import com.gree.mall.miniapp.enums.ExamineWorkerStatusEnum;
|
|
|
import com.gree.mall.miniapp.enums.IsEnum;
|
|
|
import com.gree.mall.miniapp.enums.IsYesNoEnum;
|
|
|
import com.gree.mall.miniapp.enums.PolicyOrderStutasEnum;
|
|
|
+import com.gree.mall.miniapp.exception.RemoteServiceException;
|
|
|
import com.gree.mall.miniapp.logic.common.CommonLogic;
|
|
|
import com.gree.mall.miniapp.logic.common.outside.WechatLogic;
|
|
|
import com.gree.mall.miniapp.plus.entity.*;
|
|
|
import com.gree.mall.miniapp.plus.service.*;
|
|
|
import com.gree.mall.miniapp.utils.IpUtil;
|
|
|
+import com.gree.mall.miniapp.utils.StringUtil;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
@@ -75,14 +77,16 @@ public class WorkerLogic {
|
|
|
|
|
|
CurrentCompanyWechat currentCompanyWechat = commonLogic.getCurrentCompanyWechat();
|
|
|
|
|
|
- List<WebsitUser> websitUsers = websitUserService.lambdaQuery().list();
|
|
|
+ List<WebsitUser> websitUsers = websitUserService.lambdaQuery()
|
|
|
+ .eq(WebsitUser::getUserId,currentCompanyWechat.getUserId())
|
|
|
+ .list();
|
|
|
|
|
|
List<WorkerRemind> workerReminds = new ArrayList<>();
|
|
|
|
|
|
for (WebsitUser websitUser : websitUsers) {
|
|
|
//保险购买状态,没有购买的意外险
|
|
|
if (websitUser.getExamineStatus().equals(ExamineWorkerStatusEnum.WAIT_WORKER.getKey()) &&
|
|
|
- workerPolicyService.lambdaQuery()
|
|
|
+ workerPolicyService.lambdaQuery().eq(WorkerPolicy::getWebsitUserId,websitUser.getId())
|
|
|
.in(WorkerPolicy::getStatus,"ON","WAIT_ON")
|
|
|
.eq(WorkerPolicy::getPolicyType,"AC")
|
|
|
.eq(WorkerPolicy::getWebsitUserId,websitUser.getId())
|
|
@@ -100,6 +104,7 @@ public class WorkerLogic {
|
|
|
|
|
|
// 购买的意外险,七天后过期 每天提醒一次
|
|
|
if ( workerPolicyService.lambdaQuery()
|
|
|
+ .eq(WorkerPolicy::getWebsitUserId,websitUser.getId())
|
|
|
.in(WorkerPolicy::getStatus,"ON","WAIT_ON")
|
|
|
.le(WorkerPolicy::getEndTime, DateUtil.offsetDay(new Date(),7))
|
|
|
.eq(WorkerPolicy::getPolicyType,"AC")
|
|
@@ -107,25 +112,38 @@ public class WorkerLogic {
|
|
|
.le(WorkerPolicy::getExTime,new Date())
|
|
|
.count() > 0){
|
|
|
|
|
|
+
|
|
|
+ List<WorkerPolicy> list = workerPolicyService.lambdaQuery()
|
|
|
+ .eq(WorkerPolicy::getWebsitUserId,websitUser.getId())
|
|
|
+ .in(WorkerPolicy::getStatus, "ON", "WAIT_ON")
|
|
|
+ .le(WorkerPolicy::getEndTime, DateUtil.offsetDay(new Date(), 7))
|
|
|
+ .eq(WorkerPolicy::getPolicyType, "AC")
|
|
|
+ .eq(WorkerPolicy::getWebsitUserId, websitUser.getId())
|
|
|
+ .le(WorkerPolicy::getExTime, new Date()).list();
|
|
|
+
|
|
|
+ AdminWebsit adminWebsit = adminWebsitService.getById(websitUser.getWebsitId());
|
|
|
+
|
|
|
+ for (WorkerPolicy workerPolicy : list) {
|
|
|
+ WorkerRemind workerRemind = new WorkerRemind();
|
|
|
+ workerRemind.setWebsitId(websitUser.getWebsitId());
|
|
|
+ workerRemind.setWebsitName(adminWebsit.getName());
|
|
|
+ workerRemind.setRemindIn(2);
|
|
|
+ workerRemind.setEndTime(workerPolicy.getEndTime());
|
|
|
+ workerReminds.add(workerRemind);
|
|
|
+ }
|
|
|
+
|
|
|
workerPolicyService.lambdaUpdate()
|
|
|
+ .eq(WorkerPolicy::getWebsitUserId,websitUser.getId())
|
|
|
.in(WorkerPolicy::getStatus,"OFF")
|
|
|
.notIn(WorkerPolicy::getStatus,"ON","WAIT_ON")
|
|
|
.eq(WorkerPolicy::getPolicyType,"AC")
|
|
|
.eq(WorkerPolicy::getWebsitUserId,websitUser.getId())
|
|
|
.set(WorkerPolicy::getExTime,DateUtil.endOfDay(new Date())).update();
|
|
|
-
|
|
|
- AdminWebsit adminWebsit = adminWebsitService.getById(websitUser.getWebsitId());
|
|
|
-
|
|
|
- WorkerRemind workerRemind = new WorkerRemind();
|
|
|
- workerRemind.setWebsitId(websitUser.getWebsitId());
|
|
|
- workerRemind.setWebsitName(adminWebsit.getName());
|
|
|
- workerRemind.setRemindIn(2);
|
|
|
-
|
|
|
- workerReminds.add(workerRemind);
|
|
|
}
|
|
|
|
|
|
// 意外险失效,没有购买的意外险
|
|
|
if ( workerPolicyService.lambdaQuery()
|
|
|
+ .eq(WorkerPolicy::getWebsitUserId,websitUser.getId())
|
|
|
.in(WorkerPolicy::getStatus,"OFF")
|
|
|
.notIn(WorkerPolicy::getStatus,"ON","WAIT_ON")
|
|
|
.eq(WorkerPolicy::getPolicyType,"AC")
|
|
@@ -134,6 +152,7 @@ public class WorkerLogic {
|
|
|
.count() > 0){
|
|
|
|
|
|
workerPolicyService.lambdaUpdate()
|
|
|
+ .eq(WorkerPolicy::getWebsitUserId,websitUser.getId())
|
|
|
.in(WorkerPolicy::getStatus,"OFF")
|
|
|
.notIn(WorkerPolicy::getStatus,"ON","WAIT_ON")
|
|
|
.eq(WorkerPolicy::getPolicyType,"AC")
|
|
@@ -288,6 +307,8 @@ public class WorkerLogic {
|
|
|
int month2 = DateUtil.month(policy.getEndTime());
|
|
|
|
|
|
Integer integer = month2-month+1;
|
|
|
+ if (integer > 12)
|
|
|
+ throw new RemoteServiceException("");
|
|
|
|
|
|
BigDecimal price = this.getPayPrice(integer,policy);
|
|
|
|
|
@@ -301,7 +322,7 @@ public class WorkerLogic {
|
|
|
policyOrder.setBelongCompany(adminWebsit.getBelongCompany());
|
|
|
policyOrder.setBelongCompanyCode(adminWebsit.getBelongCompanyCode());
|
|
|
|
|
|
- policyOrder.setPolicyName("工伤险");
|
|
|
+ policyOrder.setPolicyName(policy.getPolicyName());
|
|
|
policyOrder.setCompanyWechatId(adminWebsit.getCompanyWechatId());
|
|
|
policyOrder.setCompanyWechatName(adminWebsit.getCompanyWechatName());
|
|
|
policyOrder.setPolicyId(policy.getPolicyNumber());
|
|
@@ -314,7 +335,7 @@ public class WorkerLogic {
|
|
|
policyOrder.setWorkerNumber(currentCompanyWechat.getUser().getWorkerNumber());
|
|
|
policyOrder.setBuyUnit(adminWebsit.getInsureSteadUnit());
|
|
|
policyOrder.setBuyUnit(adminWebsit.getInsureSteadUnit());
|
|
|
- policyOrder.setType("IN");
|
|
|
+ policyOrder.setType("AC");
|
|
|
|
|
|
policyOrder.insert();
|
|
|
|
|
@@ -356,14 +377,14 @@ public class WorkerLogic {
|
|
|
|
|
|
CurrentCompanyWechat currentCompanyWechat = commonLogic.getCurrentCompanyWechat();
|
|
|
|
|
|
- String source = commonLogic.getSource();
|
|
|
+ String source = StringUtil.isEmpty(commonLogic.getSource())?"B":commonLogic.getSource();
|
|
|
|
|
|
PayDetail payDetail = new PayDetail();
|
|
|
|
|
|
PolicyOrder policyOrder = policyOrderService.getById(policyOrderId);
|
|
|
|
|
|
if (source.equals("B")) {
|
|
|
- payDetail = wechatLogic.paymentH5(policyOrder.getId(), policyOrder.getPayAmount(), currentCompanyWechat.getUser().getOpenId(),
|
|
|
+ payDetail = wechatLogic.paymentWebsitH5(policyOrder.getId(), policyOrder.getPayAmount(), currentCompanyWechat.getUser().getOpenId(),
|
|
|
"N", ip, currentCompanyWechat.getCompanyWechatId());
|
|
|
} else {
|
|
|
payDetail = wechatLogic.payment(policyOrder.getId(), policyOrder.getPayAmount(),
|