Commit c64fda5e by jianan

前端对接问题修复56

parent 70e40c95
...@@ -164,6 +164,7 @@ public class ApiCommissionController { ...@@ -164,6 +164,7 @@ public class ApiCommissionController {
commissionAsyncService.commissionCompareBatch(entities); commissionAsyncService.commissionCompareBatch(entities);
} catch (Exception e) { } catch (Exception e) {
// 比对失败不影响主事务,记录日志即可 // 比对失败不影响主事务,记录日志即可
e.printStackTrace();
log.error("批量导入, 比对操作执行失败, error: {}", e.getMessage()); log.error("批量导入, 比对操作执行失败, error: {}", e.getMessage());
} }
} }
......
...@@ -3,6 +3,7 @@ package com.yd.csf.api.dto; ...@@ -3,6 +3,7 @@ package com.yd.csf.api.dto;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import com.yd.common.enums.CommonEnum; import com.yd.common.enums.CommonEnum;
import com.yd.common.utils.RandomStringGenerator; import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.service.enums.CurrencyEnum;
import com.yd.csf.service.model.Commission; import com.yd.csf.service.model.Commission;
import com.yd.csf.service.model.CommissionExpected; import com.yd.csf.service.model.CommissionExpected;
import lombok.Data; import lombok.Data;
...@@ -88,7 +89,7 @@ public class CommissionExcelDTO { ...@@ -88,7 +89,7 @@ public class CommissionExcelDTO {
entity.setCommissionPeriod(data.getCommissionPeriod2()); entity.setCommissionPeriod(data.getCommissionPeriod2());
entity.setCommissionName(data.getCommissionName2()); entity.setCommissionName(data.getCommissionName2());
entity.setAmount(data.getAmount2()); entity.setAmount(data.getAmount2());
entity.setCurrency(data.getCurrency2()); entity.setCurrency(CurrencyEnum.getEnumByItemLabel(data.getCurrency2()));
entity.setExchangeRate(data.getExchangeRate2()); entity.setExchangeRate(data.getExchangeRate2());
entity.setCommissionDate(data.getCommissionDate2()); entity.setCommissionDate(data.getCommissionDate2());
entity.setRemark(data.getRemark()); entity.setRemark(data.getRemark());
......
...@@ -218,7 +218,14 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss ...@@ -218,7 +218,14 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
// 2.关联查询预计入账信息 // 2.关联查询预计入账信息
List<CommissionExpected> commissionExpectedList = commissionExpectedService.lambdaQuery() List<CommissionExpected> commissionExpectedList = commissionExpectedService.lambdaQuery()
.in(CommissionExpected::getPolicyNo, policyNoSet) .in(CommissionExpected::getPolicyNo, policyNoSet)
.select(CommissionExpected::getCommissionExpectedBizId, CommissionExpected::getReceivableNo, CommissionExpected::getStatus) .select(CommissionExpected::getCommissionExpectedBizId,
CommissionExpected::getPolicyNo,
CommissionExpected::getReceivableNo,
CommissionExpected::getCommissionPeriod,
CommissionExpected::getTotalPeriod,
CommissionExpected::getCommissionName,
CommissionExpected::getCurrency,
CommissionExpected::getStatus)
.list(); .list();
// 填充信息 // 填充信息
...@@ -234,25 +241,36 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss ...@@ -234,25 +241,36 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
commission.setReconciliationCompanyBizId(policy.getReconciliationCompanyBizId()); commission.setReconciliationCompanyBizId(policy.getReconciliationCompanyBizId());
} }
// 根据保单号、期数、入账名称、币种查询预计来佣记录 // 根据保单号、期数、入账名称、币种查询预计来佣记录
CommissionExpected expected = commissionExpectedList.stream() CommissionExpected expected = findExpectedFromList(commission, commissionExpectedList);
.filter(item -> item.getPolicyNo().equals(commission.getPolicyNo())
&& item.getCommissionPeriod().equals(commission.getCommissionPeriod())
&& item.getCommissionName().equals(commission.getCommissionName())
&& item.getCurrency().equals(commission.getCurrency()))
.findFirst()
.orElse(null);
if (expected != null) { if (expected != null) {
commission.setCommissionExpectedBizId(expected.getCommissionExpectedBizId()); commission.setCommissionExpectedBizId(expected.getCommissionExpectedBizId());
commission.setTotalPeriod(expected.getTotalPeriod());
} else { } else {
log.warn("导入入账:未查询到预计来佣记录, policyNo: {}, commissionPeriod: {}, commissionName: {}, currency: {}", log.warn("导入入账:未查询到预计来佣记录, policyNo: {}, commissionPeriod: {}, commissionName: {}, currency: {}",
commission.getPolicyNo(), commission.getCommissionPeriod(), commission.getCommissionName(), commission.getCurrency()); commission.getPolicyNo(), commission.getCommissionPeriod(), commission.getCommissionName(), commission.getCurrency());
commission.setRemark("未查询到预计来佣记录"); commission.setRemark("未查询到预计来佣记录");
commission.setStatus(CommissionStatusEnum.MATCH_FAILED.getItemValue()); commission.setStatus(CommissionStatusEnum.MATCH_FAILED.getItemValue());
} }
}); });
} }
private CommissionExpected findExpectedFromList(Commission commission, List<CommissionExpected> commissionExpectedList) {
log.info("commission: policyNo={}, commissionPeriod={}, commissionName={}, currency={}",
commission.getPolicyNo(), commission.getCommissionPeriod(), commission.getCommissionName(), commission.getCurrency());
for (CommissionExpected i : commissionExpectedList) {
log.info(" expected: policyNo={}, commissionPeriod={}, commissionName={}, currency={}",
i.getPolicyNo(), i.getCommissionPeriod(), i.getCommissionName(), i.getCurrency());
if (Objects.equals(i.getPolicyNo(), commission.getPolicyNo())
&& Objects.equals(i.getCommissionPeriod(), commission.getCommissionPeriod())
&& Objects.equals(i.getCommissionName(), commission.getCommissionName())
&& Objects.equals(i.getCurrency(), commission.getCurrency())) {
return i;
}
}
return null;
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean updateCommission(CommissionUpdateRequest commissionUpdateRequest) { public Boolean updateCommission(CommissionUpdateRequest commissionUpdateRequest) {
...@@ -725,6 +743,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss ...@@ -725,6 +743,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
.orElse(null); .orElse(null);
if (expected != null) { if (expected != null) {
commission.setCommissionExpectedBizId(expected.getCommissionExpectedBizId()); commission.setCommissionExpectedBizId(expected.getCommissionExpectedBizId());
commission.setTotalPeriod(expected.getTotalPeriod());
} else { } else {
log.warn("新增入账:未查询到预计来佣记录, policyNo: {}, commissionPeriod: {}, commissionName: {}, currency: {}", log.warn("新增入账:未查询到预计来佣记录, policyNo: {}, commissionPeriod: {}, commissionName: {}, currency: {}",
request.getPolicyNo(), request.getCommissionPeriod(), request.getCommissionName(), request.getCurrency()); request.getPolicyNo(), request.getCommissionPeriod(), request.getCommissionName(), request.getCurrency());
...@@ -742,6 +761,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss ...@@ -742,6 +761,7 @@ public class CommissionServiceImpl extends ServiceImpl<CommissionMapper, Commiss
commissionAsyncService.commissionCompareBatch(commissionList); commissionAsyncService.commissionCompareBatch(commissionList);
} catch (Exception e) { } catch (Exception e) {
// 比对失败不影响主事务,记录日志即可 // 比对失败不影响主事务,记录日志即可
e.printStackTrace();
log.error("批量新增, 比对操作执行失败, error: {}", e.getMessage()); log.error("批量新增, 比对操作执行失败, error: {}", e.getMessage());
} }
return null; return null;
......
...@@ -107,9 +107,12 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune> ...@@ -107,9 +107,12 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
} }
// 1.关联查询来佣信息 // 1.关联查询来佣信息
List<Commission> commissionList = commissionService.list(new QueryWrapper<Commission>().in("commission_biz_id", commissionBizIdSet)); List<Commission> commissionList = commissionService.list(new QueryWrapper<Commission>().in("commission_biz_id", commissionBizIdSet));
Map<String, Commission> commissionMap = commissionList.stream().collect(Collectors.toMap(Commission::getCommissionBizId, a -> a, (oldValue, newValue) -> newValue));
Set<String> commissionExpectedBizIdSet = commissionList.stream().map(Commission::getCommissionExpectedBizId).collect(Collectors.toSet());
// 1.1 关联查询来佣预期信息 // 1.1 关联查询来佣预期信息
List<CommissionExpected> commissionExpectedList = commissionExpectedService.lambdaQuery() List<CommissionExpected> commissionExpectedList = commissionExpectedService.lambdaQuery()
.in(CommissionExpected::getCommissionExpectedBizId, expectedFortuneBizIdSet) .in(CommissionExpected::getCommissionExpectedBizId, commissionExpectedBizIdSet)
.select(CommissionExpected::getCommissionExpectedBizId, CommissionExpected::getPaidAmount, CommissionExpected::getPaidRatio) .select(CommissionExpected::getCommissionExpectedBizId, CommissionExpected::getPaidAmount, CommissionExpected::getPaidRatio)
.list(); .list();
Map<String, CommissionExpected> commissionExpectedMap = commissionExpectedList.stream().collect(Collectors.toMap(CommissionExpected::getCommissionExpectedBizId, a -> a, (oldValue, newValue) -> newValue)); Map<String, CommissionExpected> commissionExpectedMap = commissionExpectedList.stream().collect(Collectors.toMap(CommissionExpected::getCommissionExpectedBizId, a -> a, (oldValue, newValue) -> newValue));
...@@ -127,12 +130,16 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune> ...@@ -127,12 +130,16 @@ public class FortuneServiceImpl extends ServiceImpl<FortuneMapper, Fortune>
fortuneVOList.forEach(fortuneVO -> { fortuneVOList.forEach(fortuneVO -> {
String commissionBizId = fortuneVO.getCommissionBizId(); String commissionBizId = fortuneVO.getCommissionBizId();
Commission commission = commissionMap.get(commissionBizId);
if (commission != null) {
// 设置来佣金额和比例 // 设置来佣金额和比例
CommissionExpected commissionExpected = commissionExpectedMap.get(commissionBizId); CommissionExpected commissionExpected = commissionExpectedMap.get(commission.getCommissionExpectedBizId());
if (commissionExpected != null) { if (commissionExpected != null) {
fortuneVO.setCommissionPaidAmount(commissionExpected.getPaidAmount()); fortuneVO.setCommissionPaidAmount(commissionExpected.getPaidAmount());
fortuneVO.setCommissionPaidRatio(commissionExpected.getPaidRatio()); fortuneVO.setCommissionPaidRatio(commissionExpected.getPaidRatio());
} }
}
// 设置保单信息 // 设置保单信息
Policy policy = policyMap.get(fortuneVO.getPolicyNo()); Policy policy = policyMap.get(fortuneVO.getPolicyNo());
if (policy != null) { if (policy != null) {
......
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