Commit 9b72debe by zhangxingmin

push

parent 0d99c5f6
......@@ -31,9 +31,6 @@ public interface ApiPremiumReconciliationService {
Result editResult(ApiPremiumReconciliationResultEditRequest request);
@Async("commonAsyncExecutor")
void execute(ChangePolicyFollowStatusRequest changePolicyFollowStatusRequest,String token);
Result<Boolean> checkReconciliationComplete(String policyNo);
Result<PremiumReconciliation> checkPremiumReconciliationIsExist(String expectedCommissionRatioBizId);
......
......@@ -15,6 +15,7 @@ import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.api.async.ApiExpectedFortuneAsyncService;
import com.yd.csf.api.service.ApiExpectedFortuneService;
import com.yd.csf.api.service.ApiPremiumReconciliationService;
import com.yd.csf.api.service.ApiPremiumRemittanceService;
......@@ -118,6 +119,9 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
return applicationContext.getBean(ApiPremiumReconciliationService.class);
}
@Resource
private ApiExpectedFortuneAsyncService apiExpectedFortuneAsyncService;
/**
* 分页列表查询-保费对账记录信息
* @param request
......@@ -1231,12 +1235,6 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
return Result.success();
}
@Override
@Async("commonAsyncExecutor")
public void execute(ChangePolicyFollowStatusRequest changePolicyFollowStatusRequest,String token) {
changePolicyFollowStatus(changePolicyFollowStatusRequest,token);
}
/**
* 修改跟进状态
*
......@@ -1247,7 +1245,7 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
public Result<Boolean> changePolicyFollowStatus(ChangePolicyFollowStatusRequest changePolicyFollowStatusRequest,String token) {
// 设置ThreadLocal Token
FeignTokenInterceptor.setThreadLocalToken(token);
// FeignTokenInterceptor.setThreadLocalToken(token);
if (changePolicyFollowStatusRequest == null || StringUtils.isBlank(changePolicyFollowStatusRequest.getPolicyBizId())) {
return Result.fail(ResultCode.PARAMS_ERROR.getCode(), "policyBizId不能为空");
......@@ -1291,27 +1289,27 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
if (PolicyFollowStatusEnum.EFFECTIVE.equals(currentStatusEnum)) {
log.info("修改跟进状态获取token:{}", token);
// 同步:根据保单生成预计出账记录
generateExpectedFortuneSync(token, policyFollow.getPolicyNo());
apiExpectedFortuneAsyncService.execute(policyFollow.getPolicyNo(),token);
}
return Result.success(true);
}
/**
* 同步生成预计出账记录
*
* @param token 认证Token
* @param policyNo 保单号
*/
private void generateExpectedFortuneSync(String token, String policyNo) {
// 调用 ApiExpectedFortuneService 的 generateSyncWithLogAndRedis(同步版本,包含日志和Redis处理)
ApiGenerateExpectedFortuneRequest generateExpectedFortuneRequest = new ApiGenerateExpectedFortuneRequest();
generateExpectedFortuneRequest.setPolicyNo(policyNo);
log.info("生成预计发佣generateSyncWithLogAndRedis——>PolicyNo:{}", policyNo);
Result<ApiGenerateExpectedFortuneResponse> result = apiExpectedFortuneService.generateSyncWithLogAndRedis(generateExpectedFortuneRequest);
if (result != null && result.getCode() == 200) {
log.info("新单跟进-同步生成预计出账记录成功:保单号={}", policyNo);
}
}
// /**
// * 同步生成预计出账记录
// *
// * @param token 认证Token
// * @param policyNo 保单号
// */
// private void generateExpectedFortuneSync(String token, String policyNo) {
// // 调用 ApiExpectedFortuneService 的 generateSyncWithLogAndRedis(同步版本,包含日志和Redis处理)
// ApiGenerateExpectedFortuneRequest generateExpectedFortuneRequest = new ApiGenerateExpectedFortuneRequest();
// generateExpectedFortuneRequest.setPolicyNo(policyNo);
// log.info("生成预计发佣generateSyncWithLogAndRedis——>PolicyNo:{}", policyNo);
// Result<ApiGenerateExpectedFortuneResponse> result = apiExpectedFortuneService.generateSyncWithLogAndRedis(generateExpectedFortuneRequest);
// if (result != null && result.getCode() == 200) {
// log.info("新单跟进-同步生成预计出账记录成功:保单号={}", policyNo);
// }
// }
/**
* 校验-保单所有期数的保费对账是否对账完成(全部对账完成就不能新增录入对账信息了)
......
......@@ -39,54 +39,54 @@ public class AsyncConfig {
return executor;
}
// /**
// * 通用异步任务线程池
// */
// @Bean("commonAsyncExecutor")
// public Executor commonAsyncExecutor() {
// ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
// executor.setCorePoolSize(5);
// executor.setMaxPoolSize(10);
// executor.setQueueCapacity(50);
// executor.setThreadNamePrefix("common-async-");
// executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
// executor.setWaitForTasksToCompleteOnShutdown(true);
// executor.setAwaitTerminationSeconds(30);
// executor.setKeepAliveSeconds(30);
// executor.initialize();
// return executor;
// }
/**
* 通用异步任务线程池
* @return
*/
@Bean(name = "commonAsyncExecutor")
public ThreadPoolTaskExecutor commonAsyncExecutor() {
@Bean("commonAsyncExecutor")
public Executor commonAsyncExecutor() {
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
// 设置核心线程数、最大线程数、队列容量等参数...
executor.setCorePoolSize(10);
executor.setMaxPoolSize(20);
executor.setQueueCapacity(100);
executor.setCorePoolSize(5);
executor.setMaxPoolSize(10);
executor.setQueueCapacity(50);
executor.setThreadNamePrefix("common-async-");
// 设置 TaskDecorator,用于传递 RequestAttributes
executor.setTaskDecorator(runnable -> {
// 获取当前线程的 RequestAttributes
RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
return () -> {
try {
// 将 RequestAttributes 设置到子线程中
RequestContextHolder.setRequestAttributes(attributes);
runnable.run();
} finally {
// 任务完成后清空,避免内存泄漏
RequestContextHolder.resetRequestAttributes();
}
};
});
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());
executor.setWaitForTasksToCompleteOnShutdown(true);
executor.setAwaitTerminationSeconds(30);
executor.setKeepAliveSeconds(30);
executor.initialize();
return executor;
}
// /**
// * 通用异步任务线程池
// * @return
// */
// @Bean(name = "commonAsyncExecutor")
// public ThreadPoolTaskExecutor commonAsyncExecutor() {
// ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
// // 设置核心线程数、最大线程数、队列容量等参数...
// executor.setCorePoolSize(10);
// executor.setMaxPoolSize(20);
// executor.setQueueCapacity(100);
// executor.setThreadNamePrefix("common-async-");
//
// // 设置 TaskDecorator,用于传递 RequestAttributes
// executor.setTaskDecorator(runnable -> {
// // 获取当前线程的 RequestAttributes
// RequestAttributes attributes = RequestContextHolder.getRequestAttributes();
// return () -> {
// try {
// // 将 RequestAttributes 设置到子线程中
// RequestContextHolder.setRequestAttributes(attributes);
// runnable.run();
// } finally {
// // 任务完成后清空,避免内存泄漏
// RequestContextHolder.resetRequestAttributes();
// }
// };
// });
//
// executor.initialize();
// return executor;
// }
}
\ 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