Commit 21c28379 by zhangxingmin

push

parent 135326c2
......@@ -164,10 +164,10 @@ public class PolicyFollowDto implements Serializable {
@Schema(description = "下一步跟进状态列表")
private String nextStatusList;
@Schema(description = "保單持有人")
@Schema(description = "保單持有人(中文)")
private String policyHolder;
@Schema(description = "受保人")
@Schema(description = "受保人(中文)")
private String insured;
@Schema(description = "受保人业务id")
......
......@@ -22,4 +22,7 @@ public interface PolicyInsurantService extends IService<PolicyInsurant> {
boolean update(PolicyInsurantUpdateRequest policyInsurantUpdateRequest);
List<PolicyInsurant> queryList(String policyHolder);
boolean updateName(String policyBizId,String name);
}
......@@ -23,4 +23,6 @@ public interface PolicyPolicyholderService extends IService<PolicyPolicyholder>
PolicyPolicyholder queryOne(String policyBizId);
List<PolicyPolicyholder> queryList(String policyHolder);
boolean updateName(String policyBizId,String name);
}
......@@ -175,9 +175,10 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
if (!CollectionUtils.isEmpty(policyBrokerList)) {
//新单跟进唯一业务ID
List<String> policyBizIdList = policyBrokerList.stream().map(PolicyBroker::getPolicyBizId).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(policyBizIdList)) {
queryWrapper.in("policy_biz_id", policyBizIdList);
}
queryWrapper.in("policy_biz_id", policyBizIdList);
}else {
// 没有匹配的转介人,直接让查询结果为空
queryWrapper.apply("1=0");
}
}
......@@ -208,18 +209,18 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
.map(PolicyFollowVO::objToVo)
.collect(Collectors.toList());
// 批量填充 brokerName
fillBrokerNames(voList);
// 批量填充所需字段
fillFiledNames(voList);
policyFollowVOPage.setRecords(voList);
return policyFollowVOPage;
}
/**
* 批量设置每个保单的第一个转介人名称
* 批量填充所需字段
*/
private void fillBrokerNames(List<PolicyFollowVO> voList) {
// 1. 提取所有 policyBizId
private void fillFiledNames(List<PolicyFollowVO> voList) {
// 提取所有 policyBizId
List<String> bizIds = voList.stream()
.map(PolicyFollowVO::getPolicyBizId)
.filter(StringUtils::isNotBlank)
......@@ -229,28 +230,79 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
return;
}
// 2. 批量查询转介人(每个 policyBizId 对应的所有记录,按 id 排序
// 批量查询转介人(取第一个 brokerName
List<PolicyBroker> allBrokers = policyBrokerService.lambdaQuery()
.in(PolicyBroker::getPolicyBizId, bizIds)
.eq(PolicyBroker::getIsDeleted, 0)
.orderByAsc(PolicyBroker::getId) // 保证“第一个”的确定性
.orderByAsc(PolicyBroker::getId)
.list();
// 3. 按 policyBizId 分组,并取每组第一条
Map<String, String> brokerNameMap = allBrokers.stream()
.collect(Collectors.groupingBy(
PolicyBroker::getPolicyBizId,
LinkedHashMap::new, // 保持插入顺序
LinkedHashMap::new,
Collectors.collectingAndThen(
Collectors.toList(),
list -> list.get(0).getBrokerName()
)
));
// 批量查询投保人(取第一条的中文名、英文名)
List<PolicyPolicyholder> allPolicyholders = policyPolicyholderService.lambdaQuery()
.in(PolicyPolicyholder::getPolicyBizId, bizIds)
.eq(PolicyPolicyholder::getIsDeleted, 0)
.orderByAsc(PolicyPolicyholder::getId)
.list();
Map<String, String> holderNameMap = allPolicyholders.stream()
.collect(Collectors.groupingBy(
PolicyPolicyholder::getPolicyBizId,
LinkedHashMap::new,
Collectors.collectingAndThen(
Collectors.toList(),
list -> list.get(0).getName() // 中文名
)
));
Map<String, String> holderNameEnMap = allPolicyholders.stream()
.collect(Collectors.groupingBy(
PolicyPolicyholder::getPolicyBizId,
LinkedHashMap::new,
Collectors.collectingAndThen(
Collectors.toList(),
list -> list.get(0).getNameEn() // 英文名
)
));
// 批量查询受保人(取第一条的中文名、英文名)
List<PolicyInsurant> allInsurants = policyInsurantService.lambdaQuery()
.in(PolicyInsurant::getPolicyBizId, bizIds)
.eq(PolicyInsurant::getIsDeleted, 0)
.orderByAsc(PolicyInsurant::getId)
.list();
Map<String, String> insurantNameMap = allInsurants.stream()
.collect(Collectors.groupingBy(
PolicyInsurant::getPolicyBizId,
LinkedHashMap::new,
Collectors.collectingAndThen(
Collectors.toList(),
list -> list.get(0).getName() // 中文名
)
));
Map<String, String> insurantNameEnMap = allInsurants.stream()
.collect(Collectors.groupingBy(
PolicyInsurant::getPolicyBizId,
LinkedHashMap::new,
Collectors.collectingAndThen(
Collectors.toList(),
list -> list.get(0).getBrokerName() // 取第一条的 brokerName
list -> list.get(0).getNameEn() // 英文名
)
));
// 4. 设置 brokerName
// 统一填充 VO
voList.forEach(vo -> {
String name = brokerNameMap.get(vo.getPolicyBizId());
vo.setBrokerName(name);
vo.setBrokerName(brokerNameMap.get(vo.getPolicyBizId()));
vo.setPolicyHolder(holderNameMap.get(vo.getPolicyBizId()));
vo.setPolicyHolderEn(holderNameEnMap.get(vo.getPolicyBizId()));
vo.setInsured(insurantNameMap.get(vo.getPolicyBizId()));
vo.setInsuredEn(insurantNameEnMap.get(vo.getPolicyBizId()));
});
}
......@@ -351,6 +403,11 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
.update();
}
//更新新单投保人表和新单受保人表的中文名和简体中文名
//更新新单投保人表信息
policyPolicyholderService.updateName(policyBizId,policyFollowDto.getPolicyHolder());
//更新新单受保人表信息
policyInsurantService.updateName(policyBizId,policyFollowDto.getPolicyHolder());
return true;
}
......
......@@ -2,6 +2,7 @@ package com.yd.csf.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
......@@ -69,6 +70,15 @@ public class PolicyInsurantServiceImpl extends ServiceImpl<PolicyInsurantMapper,
)
);
}
@Override
public boolean updateName(String policyBizId, String name) {
String nameSc = ChineseTextConverter.traditionalToSimplified(name);
return this.update(new UpdateWrapper<PolicyInsurant>()
.set("name", name)
.set("name_sc", nameSc)
.eq("policy_biz_id", policyBizId));
}
}
......
......@@ -2,12 +2,15 @@ package com.yd.csf.service.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.common.utils.ChineseTextConverter;
import com.yd.common.utils.EnglishTextUtil;
import com.yd.csf.service.dto.PolicyPolicyholderUpdateRequest;
import com.yd.csf.service.enums.FnaStatusEnum;
import com.yd.csf.service.model.Fna;
import com.yd.csf.service.model.PolicyPolicyholder;
import com.yd.csf.service.service.PolicyPolicyholderService;
import com.yd.csf.service.dao.PolicyPolicyholderMapper;
......@@ -74,6 +77,15 @@ public class PolicyPolicyholderServiceImpl extends ServiceImpl<PolicyPolicyholde
)
);
}
@Override
public boolean updateName(String policyBizId, String name) {
String nameSc = ChineseTextConverter.traditionalToSimplified(name);
return this.update(new UpdateWrapper<PolicyPolicyholder>()
.set("name", name)
.set("name_sc", nameSc)
.eq("policy_biz_id", policyBizId));
}
}
......
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