Commit 760e13be by jianan

新单跟进-修改状态接口

parent a0faeb40
......@@ -30,6 +30,8 @@ import org.redisson.api.RedissonClient;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.support.TransactionSynchronization;
import org.springframework.transaction.support.TransactionSynchronizationManager;
import org.springframework.transaction.support.TransactionTemplate;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
......@@ -151,26 +153,28 @@ public class ApiCommissionController {
// 数据处理
List<Commission> entities = processData(dataList, loginUserId, reconciliationYearMonth);
transactionTemplate.execute(status -> {
// 保存来佣数据
commissionService.saveBatch(entities);
return null;
});
// 1. 先保存主数据
commissionService.saveBatch(entities);
// // 转换为 VO
// List<CommissionVO> commissionVOList = commissionService.getCommissionList(entities);
// 开启新事务,比对数据
transactionTemplate.execute(status -> {
try {
commissionAsyncService.commissionCompareBatch(entities);
} catch (Exception e) {
// 比对失败不影响主事务,记录日志即可
e.printStackTrace();
log.error("批量导入, 比对操作执行失败, error: {}", e.getMessage());
}
return null;
});
// 2. 事务提交后执行比对
TransactionSynchronizationManager.registerSynchronization(
new TransactionSynchronization() {
@Override
public void afterCommit() {
try {
// 这里会开启新事务执行更新
commissionAsyncService.commissionCompareBatch(entities);
} catch (Exception e) {
log.error("批量导入, 比对操作执行失败, error: {}", e.getMessage());
// 可以发送告警或记录失败任务
}
}
}
);
return Result.success(true);
}
......
package com.yd.csf.api.controller;
import cn.hutool.core.date.DateField;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.DateUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.ExcelReader;
......@@ -557,11 +558,11 @@ public class ApiPolicyFollowController {
} catch (BusinessException e) {
log.info("===== 进入BusinessException catch块 =====");
log.info("查询结算币种->保单号:{},入参request:{}", policyFollow.getPolicyNo(), JSON.toJSONString(announcementRatioListRequest));
return Result.fail("未查询到产品发佣配置,查询条件:" + JSON.toJSONString(announcementRatioListRequest));
return Result.fail("未查询到产品发佣配置,查询条件:" + transferMsg(announcementRatioListRequest, policyFollow));
} catch (Exception e) {
log.info("===== 进入Exception catch块 =====");
log.info("查询结算币种->保单号:{},入参request:{}", policyFollow.getPolicyNo(), JSON.toJSONString(announcementRatioListRequest));
return Result.fail("未查询到产品发佣配置,查询条件:" + JSON.toJSONString(announcementRatioListRequest));
return Result.fail("未查询到产品发佣配置,查询条件:" + transferMsg(announcementRatioListRequest, policyFollow));
}
}
......@@ -579,6 +580,13 @@ public class ApiPolicyFollowController {
return Result.success(true);
}
private String transferMsg(ApiAnnouncementCommissionRatioListRequest announcementRatioListRequest, PolicyFollow policyFollow) {
return String.format("保单生效日: %s, 供款年期: %s, 产品名称: %s, ",
DateUtil.format(announcementRatioListRequest.getEffectiveDate(), DatePattern.NORM_DATE_PATTERN),
policyFollow.getIssueNumber(),
policyFollow.getProductName());
}
/**
* 异步处理
*
......
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