Commit 21c28379 by zhangxingmin

push

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