Commit 508ecef9 by wenyang Committed by jianan

保单来佣比对成功自动重新计算该保单的最新发佣数据

parent ab81d887
package com.yd.api.commission.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.yd.api.commission.service.LifeCommissionService;
......@@ -22,6 +24,8 @@ import com.yd.dal.service.customer.AclPractitionerSubordinateSystemDALService;
import com.yd.dal.service.order.PoOrderDALService;
import com.yd.rmi.ali.send.service.SendService;
import com.yd.rmi.cache.SystemConfigService;
import com.yd.util.HttpUtil;
import com.yd.util.JsonUtil;
import com.yd.util.config.ZHBErrorConfig;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang.StringUtils;
......@@ -32,6 +36,8 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.util.*;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@Service
......@@ -253,6 +259,8 @@ public class LifeCommissionServiceImpl implements LifeCommissionService {
// 获取批次号(如2020-11的字符串)
Long checkBatchId = this.getOrderCommissionCheckBatch(checkBatch, loginId);
Set<Long> commissionCancelorderIdSet = new HashSet<>();
Set<Long> commissionComparedorderIdSet = new HashSet<>();
// 更新检核状态
Long commissionId= null;
for (ComeCommissionParams params: paramsList) {
......@@ -282,6 +290,9 @@ public class LifeCommissionServiceImpl implements LifeCommissionService {
orderCommission.setCommissionStatus(status);
if ("2".equals(status)) {
orderCommission.setCommissionTime(checkBatch);
if (null != params.getOrderId()) {
commissionComparedorderIdSet.add(params.getOrderId());
}
}
orderCommission.setUpdatedBy(Long.valueOf(loginId));
orderCommission.setUpdatedAt(new Date());
......@@ -307,6 +318,29 @@ public class LifeCommissionServiceImpl implements LifeCommissionService {
}
}
}
try {
// 如果是已比对,自动重新计算该保单的最新发佣数据
if (CollectionUtils.isNotEmpty(commissionComparedorderIdSet)) {
Long [] orderIds = new Long[commissionComparedorderIdSet.size()];
commissionComparedorderIdSet.toArray(orderIds);
Map<String, Object> req = new HashMap<>(16);
req.put("loginId", StringUtils.isEmpty(loginId) == true ? "-1" : loginId);
req.put("orderIds", orderIds);
req.put("ruleType", "2");
String requestJson = JsonUtil.objToJson(req);
String SYSTEM_URL = systemConfigService.getSingleConfigValue("SYSTEM_URL");
ExecutorService executor = Executors.newSingleThreadExecutor();
executor.execute(new Runnable() {
@Override
public void run(){
HttpUtil.postForJson(SYSTEM_URL + "/api/settlementRule/calculateCommissionByOrderIds", requestJson);
}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment