Commit 58804ca6 by jianan

新单跟进v2

parent 1113972a
......@@ -475,10 +475,50 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
policy.setInsuranceCompanyBizId(productInfo.getInsuranceCompanyBizId());
policy.setReconciliationCompany(productInfo.getReconciliationCompany());
policy.setReconciliationCompanyBizId(productInfo.getReconciliationCompanyBizId());
policy.setReconciliationCompanyCode(productInfo.getReconciliationCompanyCode());
String reconciliationCompanyCode = null;
// 调用对账公司 feignclient,查询对账公司编码
ApiInsuranceReconciliationCompanyPageRequest reconciliationCompanyPageRequest = new ApiInsuranceReconciliationCompanyPageRequest();
reconciliationCompanyPageRequest.setPageNo(1);
reconciliationCompanyPageRequest.setPageSize(999);
Result iPageResult = apiInsuranceReconciliationCompanyFeignClient.page(reconciliationCompanyPageRequest);
// 解析响应获取对账公司编码
if (iPageResult != null && iPageResult.getCode() == 200) {
try {
// Feign 返回的泛型会被反序列化为 LinkedHashMap,需要手动提取
Object data = iPageResult.getData();
if (data instanceof Map) {
Map<String, Object> dataMap = (Map<String, Object>) data;
Object recordsObj = dataMap.get("records");
if (recordsObj instanceof List) {
List<Map<String, Object>> records = (List<Map<String, Object>>) recordsObj;
// 遍历分页结果,找到匹配的对账公司
String targetBizId = policy.getReconciliationCompanyBizId();
for (Map<String, Object> record : records) {
String recordBizId = (String) record.get("reconciliationCompanyBizId");
if (targetBizId.equals(recordBizId)) {
// 获取对账公司编码
reconciliationCompanyCode = (String) record.get("code");
log.info("从对账公司服务获取编码: reconciliationCompanyBizId={}, code={}",
targetBizId, reconciliationCompanyCode);
break; // 找到后跳出循环
}
}
}
}
} catch (Exception e) {
log.error("解析对账公司响应失败: {}", e.getMessage(), e);
}
}
// 如果仍然没有获取到编码,抛异常
if (StringUtils.isBlank(reconciliationCompanyCode)) {
throw new BusinessException("未能从对账公司服务获取编码,请补充,当前对账公司:" + productInfo.getReconciliationCompany());
}
policy.setReconciliationCompanyCode(reconciliationCompanyCode);
}
}
// 保存保单
policyService.save(policy);
......@@ -828,11 +868,10 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
throw new BusinessException("产品上架信息未配置对账公司");
}
log.info("成功获取产品信息: productLaunchBizId={}, reconciliationCompanyBizId={}, reconciliationCompany={}, reconciliationCompanyCode={}",
log.info("成功获取产品信息: productLaunchBizId={}, reconciliationCompanyBizId={}, reconciliationCompany={}",
productLaunchBizId,
productInfo.getReconciliationCompanyBizId(),
productInfo.getReconciliationCompany(),
productInfo.getReconciliationCompanyCode()
productInfo.getReconciliationCompany()
);
return productInfo;
......
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