Commit 0d99c5f6 by zhangxingmin

push

parent 3ee48079
......@@ -4,10 +4,15 @@ import com.yd.common.result.Result;
import com.yd.csf.api.service.ApiExpectedFortuneService;
import com.yd.csf.feign.request.expectedfortune.ApiGenerateExpectedFortuneRequest;
import com.yd.csf.feign.response.expectedfortune.ApiGenerateExpectedFortuneResponse;
import com.yd.feign.config.FeignTokenInterceptor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@Slf4j
@Component
......@@ -22,16 +27,28 @@ public class ApiExpectedFortuneAsyncService {
* @return
*/
@Async("commonAsyncExecutor")
public Result execute(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);
public Result execute(String policyNo, String token) {
// 将 token 设置到 ThreadLocal 中,供 Feign 拦截器使用
FeignTokenInterceptor.setThreadLocalToken(token);
HttpServletRequest request1 = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String token1 = request1.getHeader("Authorization");
log.info("异步处理 token==============,{}",token1);
try {
ApiGenerateExpectedFortuneRequest request = new ApiGenerateExpectedFortuneRequest();
request.setPolicyNo(policyNo);
log.info("生成预计发佣 generateSyncWithLogAndRedis ——> PolicyNo:{}", policyNo);
Result<ApiGenerateExpectedFortuneResponse> result =
apiExpectedFortuneService.generateSyncWithLogAndRedis(request);
if (result != null && result.getCode() == 200) {
log.info("新单跟进-同步生成预计出账记录成功: 保单号={}", policyNo);
}
return result;
} finally {
// 必须清理,防止内存泄漏
FeignTokenInterceptor.clearThreadLocalToken();
}
return Result.success();
}
}
......@@ -576,11 +576,11 @@ public class ApiPolicyFollowController {
if (PolicyFollowStatusEnum.EFFECTIVE.equals(currentStatusEnum)) {
// 获取Token
String token = request.getHeader("Authorization");
// log.info("修改跟进状态获取token:{}", token);
log.info("修改跟进状态获取token=======================>:{}", token);
log.info("修改跟进状态调用异步开始:{}", "=======================>");
// 同步:根据保单生成预计出账记录
// execute(token, policyFollow.getPolicyNo());
apiExpectedFortuneAsyncService.execute(policyFollow.getPolicyNo());
apiExpectedFortuneAsyncService.execute(policyFollow.getPolicyNo(),token);
}
log.info("修改跟进状态直接结束:{}", "=======================>");
return Result.success(true);
......
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