Commit 7f53c54c by jianan

新单跟进同步预约信息9

parent 5fcd87ce
......@@ -22,7 +22,6 @@ import com.yd.csf.api.dto.PolicyFollowDTO;
import com.yd.csf.api.listener.PolicyDataListener;
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.csf.service.common.ErrorCode;
import com.yd.csf.service.component.PolicyReportPdfService;
import com.yd.csf.service.dto.*;
......@@ -492,7 +491,6 @@ public class ApiPolicyFollowController {
*/
@PostMapping("/change_status")
@Operation(summary = "修改跟进状态")
@Transactional(rollbackFor = Exception.class)
public Result<Boolean> changePolicyFollowStatus(@RequestBody ChangePolicyFollowStatusRequest changePolicyFollowStatusRequest,
HttpServletRequest request) {
if (changePolicyFollowStatusRequest == null || StringUtils.isBlank(changePolicyFollowStatusRequest.getPolicyBizId())) {
......@@ -536,13 +534,22 @@ public class ApiPolicyFollowController {
// 修改逻辑
policyFollowService.changePolicyFollowStatus(changePolicyFollowStatusRequest, policyFollow);
// 修改为生效时需要同步预计发佣
// 修改为生效, 异步计算预计发佣
if (PolicyFollowStatusEnum.EFFECTIVE.equals(currentStatusEnum)) {
// 获取Token
String token = request.getHeader("Authorization");
log.info("修改跟进状态获取token:{}", token);
// 同步:根据保单生成预计出账记录
generateExpectedFortuneSync(token, policyFollow.getPolicyNo());
// 设置ThreadLocal Token
FeignTokenInterceptor.setThreadLocalToken(token);
// 保单号
String policyNo = policyFollow.getPolicyNo();
ApiGenerateExpectedFortuneRequest generateExpectedFortuneRequest = new ApiGenerateExpectedFortuneRequest();
generateExpectedFortuneRequest.setPolicyNo(policyNo);
log.info("生成预计发佣 generate ——> PolicyNo:{}", policyNo);
apiExpectedFortuneService.generate(generateExpectedFortuneRequest);
}
return Result.success(true);
}
......@@ -688,26 +695,6 @@ public class ApiPolicyFollowController {
}
/**
* 同步生成预计出账记录
*
* @param token 认证Token
* @param policyNo 保单号
*/
private void generateExpectedFortuneSync(String token, String policyNo) {
// 设置ThreadLocal Token
FeignTokenInterceptor.setThreadLocalToken(token);
// 调用 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 policyBizId 新单跟进业务ID
......
......@@ -492,8 +492,11 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
// 如果是生效状态,同步保单、预计发佣、预计来佣
if (PolicyFollowStatusEnum.EFFECTIVE.equals(policyFollowStatusEnum)) {
Policy policy = new Policy();
BeanUtils.copyProperties(policyFollow, policy, "id");
Policy policy = policyService.getOne(new QueryWrapper<Policy>().eq("policy_biz_id", policyBizId));
if (policy == null) {
throw new BusinessException(ErrorCode.NOT_FOUND_ERROR.getCode(), "policy不存在");
}
// 更新保单状态为生效
policy.setStatus(PolicyStatusEnum.INFORCE.getItemValue());
// 手动映射不同名的字段
policy.setPaymentPremium(policyFollow.getInitialPremium());
......
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