Commit 0d99c5f6 by zhangxingmin

push

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