Commit 760e13be by jianan

新单跟进-修改状态接口

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