Commit c46b3971 by jianan

新单跟进v2

parent e6ccf999
......@@ -56,7 +56,6 @@ import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.text.ParseException;
import java.util.*;
import java.util.concurrent.CompletableFuture;
import java.util.stream.Collectors;
/**
......@@ -566,29 +565,9 @@ public class ApiPolicyFollowController {
if (PolicyFollowStatusEnum.EFFECTIVE.equals(currentStatusEnum)) {
// 获取Token
String token = request.getHeader("Authorization");
log.info("修改跟进状态获取token:{}",token);
// 异步:根据保单生成预计出账记录
CompletableFuture.runAsync(() -> {
try {
// 设置ThreadLocal Token
FeignTokenInterceptor.setThreadLocalToken(token);
// 调用 ApiExpectedFortuneService 的 generateWithLogAndRedis(包含日志和Redis处理)
ApiGenerateExpectedFortuneRequest generateExpectedFortuneRequest = new ApiGenerateExpectedFortuneRequest();
generateExpectedFortuneRequest.setPolicyNo(policyFollow.getPolicyNo());
log.info("生成预计发佣generateWithLogAndRedis——>PolicyNo:{}",policyFollow.getPolicyNo());
Result<ApiGenerateExpectedFortuneResponse> result = apiExpectedFortuneService.generateWithLogAndRedis(generateExpectedFortuneRequest);
if (result == null || result.getCode() != 200) {
log.error("新单跟进-异步生成预计出账记录失败:保单号={}, 响应结果={}",
policyFollow.getPolicyNo(), result);
} else {
log.info("新单跟进-异步生成预计出账记录成功:保单号={}", policyFollow.getPolicyNo());
}
} catch (Exception e) {
log.error("新单跟进-异步生成预计出账记录失败:保单号={}, 错误信息={}",
policyFollow.getPolicyNo(), e.getMessage(), e);
}
});
log.info("修改跟进状态获取token:{}", token);
// 同步:根据保单生成预计出账记录
generateExpectedFortuneSync(token, policyFollow.getPolicyNo());
}
return Result.success(true);
}
......@@ -732,4 +711,36 @@ public class ApiPolicyFollowController {
public Result<Page<PolicyNumberResponseVO>> queryPolicyNumbers(@RequestBody PolicyNosQueryRequest policyNosQueryRequest) {
return Result.success(policyFollowService.queryPolicyNumbers(policyNosQueryRequest));
}
/**
* 同步生成预计出账记录
*
* @param token 认证Token
* @param policyNo 保单号
*/
private void generateExpectedFortuneSync(String token, String policyNo) {
try {
// 设置ThreadLocal Token
FeignTokenInterceptor.setThreadLocalToken(token);
// 调用 ApiExpectedFortuneService 的 generateWithLogAndRedis(包含日志和Redis处理)
ApiGenerateExpectedFortuneRequest generateExpectedFortuneRequest = new ApiGenerateExpectedFortuneRequest();
generateExpectedFortuneRequest.setPolicyNo(policyNo);
log.info("生成预计发佣generateWithLogAndRedis——>PolicyNo:{}", policyNo);
Result<ApiGenerateExpectedFortuneResponse> result = apiExpectedFortuneService.generateWithLogAndRedis(generateExpectedFortuneRequest);
if (result == null || result.getCode() != 200) {
log.error("新单跟进-同步生成预计出账记录失败:保单号={}, 响应结果={}",
policyNo, result);
throw new BusinessException("生成预计出账记录失败:保单号=" + policyNo + ", 错误信息=" + result.getMsg());
} else {
log.info("新单跟进-同步生成预计出账记录成功:保单号={}", policyNo);
}
} catch (BusinessException e) {
throw e;
} catch (Exception e) {
log.error("新单跟进-同步生成预计出账记录失败:保单号={}, 错误信息={}",
policyNo, e.getMessage(), e);
throw new BusinessException("生成预计出账记录异常:保单号=" + policyNo + ", 错误信息=" + e.getMessage());
}
}
}
\ No newline at end of file
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