Commit bd42c09e authored by fangxinjiang's avatar fangxinjiang

保单维护-fxj

parent 84b8ef78
...@@ -150,6 +150,8 @@ public interface CacheConstants { ...@@ -150,6 +150,8 @@ public interface CacheConstants {
String PAYMENT_SOCIAL_IMPORT = "payment_social_import"; String PAYMENT_SOCIAL_IMPORT = "payment_social_import";
String INSURANCE_POLICY_IMPORT = "insurance_policy_import";
String PAYMENT_FUND_IMPORT = "payment_fund_import"; String PAYMENT_FUND_IMPORT = "payment_fund_import";
String PAYMENT_SOCIAL_PUSH = "payment_social_push"; String PAYMENT_SOCIAL_PUSH = "payment_social_push";
......
...@@ -751,4 +751,19 @@ public class Common { ...@@ -751,4 +751,19 @@ public class Common {
} }
} }
} }
/**
* @Author fxj
* @Description 判断所有返回数据,是否全部为正确的
* @Date 16:32 2025/8/29
**/
public static R<List<ErrorMessage>> judgeAllMessage(List<ErrorMessage> errorMessageList) {
if (!errorMessageList.isEmpty() && errorMessageList.stream().noneMatch(e -> e.getColor().equals(CommonConstants.RED))) {
return R.ok();
}
if (!errorMessageList.isEmpty() && errorMessageList.stream().anyMatch(e -> CommonConstants.ONE_STRING.equals(e.getName()))) {
return R.ok(errorMessageList, "error");
}
return R.ok(errorMessageList);
}
} }
...@@ -1336,4 +1336,9 @@ public class InsurancesConstants { ...@@ -1336,4 +1336,9 @@ public class InsurancesConstants {
* 商险到期提醒默认提醒人配置KEY * 商险到期提醒默认提醒人配置KEY
*/ */
public static final String INSURANCE_ALERT_DEFAULT_PERSON = "INSURANCE_ALERT_DEFAULT_PERSON"; public static final String INSURANCE_ALERT_DEFAULT_PERSON = "INSURANCE_ALERT_DEFAULT_PERSON";
/**
* 保单号维护模版导入
*
*/
public static final String IMPORT_POLICY_REMARK = "保单号维护模版导入";
} }
package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import com.yifu.cloud.plus.v1.yifu.common.core.util.DateUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.RowIndex;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import java.io.Serializable;
/**
* @Author fxj
* @Description 保单维护导入对象
* @Date 16:34 2025/8/29
**/
@Data
@Schema(description = "保单维护导入对象")
public class InsurancePolicyImportVo extends RowIndex implements Serializable {
private static final long serialVersionUID = 1442112261102562729L;
/**
* 保单号
*/
@Length(max = 50, message = "保单号 不能超过50 个字符" )
@ExcelAttribute(name = "保单号", maxLength = 50, isNotEmpty = true,errorInfo = "保单号不能为空")
@ExcelProperty("保单号" )
@Schema(description = "保单号")
private String policyNo;
/**
* 保单开始日期
*/
@ExcelAttribute(name = "保单开始日期",isDate = true, isNotEmpty = true,dateFormat = DateUtil.ISO_EXPANDED_DATE_FORMAT, errorInfo = "保单开始日期不能为空")
@ExcelProperty("保单开始日期" )
@Schema(description = "保单开始日期")
private String policyStart;
/**
* 保单截止日期
*/
@ExcelAttribute(name = "保单截止日期", isDate = true, isNotEmpty = true,dateFormat = DateUtil.ISO_EXPANDED_DATE_FORMAT,errorInfo = "保单截止日期不能为空")
@ExcelProperty("保单截止日期" )
@Schema(description = "保单截止日期")
private String policyEnd;
/**
* 保险公司
*/
@ExcelAttribute(name = "保险公司", maxLength = 60, isNotEmpty = true,errorInfo = "保险公司不能为空")
@ExcelProperty("保险公司" )
@Schema(description = "保险公司")
private String insuranceCompanyName;
/**
* 险种
*/
@ExcelAttribute(name = "险种", maxLength = 50, isNotEmpty = true,errorInfo = "险种不能为空")
@ExcelProperty("险种" )
@Schema(description = "险种")
private String insuranceTypeName;
}
...@@ -2,7 +2,17 @@ package com.yifu.cloud.plus.v1.yifu.insurances.controller; ...@@ -2,7 +2,17 @@ package com.yifu.cloud.plus.v1.yifu.insurances.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CacheConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ResultConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.redis.RedisDistributedLock;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.ErrorDetailVO;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePolicy; import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePolicy;
import com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsurancePolicyService; import com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsurancePolicyService;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.InsurancePolicyListEditParam; import com.yifu.cloud.plus.v1.yifu.insurances.vo.InsurancePolicyListEditParam;
...@@ -12,9 +22,11 @@ import io.swagger.v3.oas.annotations.Operation; ...@@ -12,9 +22,11 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.security.SecurityRequirement; import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import org.springframework.http.HttpHeaders; import org.springframework.http.HttpHeaders;
import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Valid; import javax.validation.Valid;
...@@ -104,4 +116,33 @@ public class TInsurancePolicyController { ...@@ -104,4 +116,33 @@ public class TInsurancePolicyController {
return tInsurancePolicyService.deleteInsurancePolicy(id); return tInsurancePolicyService.deleteInsurancePolicy(id);
} }
@SneakyThrows
@Operation(description = "批量新增保单号维护")
@SysLog("批量新增保单号维护")
@PostMapping("/importListAdd")
public R<List<ErrorMessage>> importListAdd(@RequestBody MultipartFile file) {
YifuUser user = SecurityUtils.getUser();
if (Common.isEmpty(user)){
return R.failed(CommonConstants.USER_FAIL);
}
// 获取redis分布式事务锁
String key = CacheConstants.INSURANCE_POLICY_IMPORT + CommonConstants.DOWN_LINE_STRING + user.getId();
String requestId;
try {
requestId = RedisDistributedLock.getLock(key,"10");
} catch (Exception e) {
throw new RuntimeException(ResultConstants.NO_GETLOCK_DATA+CommonConstants.DOWN_LINE_STRING+e.getMessage());
}
try {
if (Common.isNotNull(requestId)) {
return tInsurancePolicyService.importInsurancePolicy(file.getInputStream());
} else {
return R.failed(ResultConstants.NO_GETLOCK_DATA);
}
}finally {
//主动释放锁
RedisDistributedLock.unlock(key, requestId);
}
}
} }
...@@ -2,13 +2,16 @@ package com.yifu.cloud.plus.v1.yifu.insurances.service.insurance; ...@@ -2,13 +2,16 @@ package com.yifu.cloud.plus.v1.yifu.insurances.service.insurance;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.ErrorDetailVO;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePolicy; import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePolicy;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.InsurancePolicyListEditParam; import com.yifu.cloud.plus.v1.yifu.insurances.vo.InsurancePolicyListEditParam;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.InsurancePolicyListParam; import com.yifu.cloud.plus.v1.yifu.insurances.vo.InsurancePolicyListParam;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.TInsurancePolicyDetailVO; import com.yifu.cloud.plus.v1.yifu.insurances.vo.TInsurancePolicyDetailVO;
import java.io.InputStream;
import java.util.List; import java.util.List;
/** /**
...@@ -72,4 +75,6 @@ public interface TInsurancePolicyService extends IService<TInsurancePolicy> { ...@@ -72,4 +75,6 @@ public interface TInsurancePolicyService extends IService<TInsurancePolicy> {
* @return {@link R} * @return {@link R}
*/ */
R deleteInsurancePolicy(String id); R deleteInsurancePolicy(String id);
R<List<ErrorMessage>> importInsurancePolicy(InputStream inputStream);
} }
package com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.impl; package com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.impl;
import cn.hutool.core.date.LocalDateTimeUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
import com.alibaba.excel.read.metadata.holder.ReadRowHolder;
import com.alibaba.excel.util.ListUtils;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common; import com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TBusinessOperate; import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceDetail; import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsurancePolicy; import com.yifu.cloud.plus.v1.yifu.insurances.constants.InsurancesConstants;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.*;
import com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TInsuranceCompanyMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TInsurancePolicyMapper; import com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TInsurancePolicyMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TInsuranceTypeMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TBusinessOperateService; import com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TBusinessOperateService;
import com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsuranceDetailService; import com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsuranceDetailService;
import com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsurancePolicyService; import com.yifu.cloud.plus.v1.yifu.insurances.service.insurance.TInsurancePolicyService;
import com.yifu.cloud.plus.v1.yifu.insurances.util.BeanCopyUtils; import com.yifu.cloud.plus.v1.yifu.insurances.util.BeanCopyUtils;
import com.yifu.cloud.plus.v1.yifu.insurances.util.LocalDateUtil; import com.yifu.cloud.plus.v1.yifu.insurances.util.LocalDateUtil;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.InsurancePolicyImportVo;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.InsurancePolicyListEditParam; import com.yifu.cloud.plus.v1.yifu.insurances.vo.InsurancePolicyListEditParam;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.InsurancePolicyListParam; import com.yifu.cloud.plus.v1.yifu.insurances.vo.InsurancePolicyListParam;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.TInsurancePolicyDetailVO; import com.yifu.cloud.plus.v1.yifu.insurances.vo.TInsurancePolicyDetailVO;
import com.yifu.cloud.plus.v1.yifu.social.entity.*;
import com.yifu.cloud.plus.v1.yifu.social.vo.TDispatchImportVo;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.io.InputStream;
import java.util.Optional; import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
import static com.alibaba.fastjson.serializer.SerializerFeature.*;
/** /**
...@@ -36,6 +57,8 @@ import java.util.Optional; ...@@ -36,6 +57,8 @@ import java.util.Optional;
* @description 针对表【t_insurance_policy(保单号对应起止时间表)】的数据库操作Service实现 * @description 针对表【t_insurance_policy(保单号对应起止时间表)】的数据库操作Service实现
* @date 2022-12-07 16:40:16 * @date 2022-12-07 16:40:16
*/ */
@Log4j2
@RequiredArgsConstructor
@Service @Service
public class TInsurancePolicyServiceImpl extends ServiceImpl<TInsurancePolicyMapper, TInsurancePolicy> implements TInsurancePolicyService { public class TInsurancePolicyServiceImpl extends ServiceImpl<TInsurancePolicyMapper, TInsurancePolicy> implements TInsurancePolicyService {
@Resource @Resource
...@@ -44,6 +67,12 @@ public class TInsurancePolicyServiceImpl extends ServiceImpl<TInsurancePolicyMap ...@@ -44,6 +67,12 @@ public class TInsurancePolicyServiceImpl extends ServiceImpl<TInsurancePolicyMap
@Lazy @Lazy
private TInsuranceDetailService tInsuranceDetailService; private TInsuranceDetailService tInsuranceDetailService;
@Autowired
private TInsuranceCompanyMapper companyMapper;
@Autowired
private TInsuranceTypeMapper typeMapper;
/** /**
* 保单号对应起止保时间分页查询 * 保单号对应起止保时间分页查询
* *
...@@ -183,8 +212,203 @@ public class TInsurancePolicyServiceImpl extends ServiceImpl<TInsurancePolicyMap ...@@ -183,8 +212,203 @@ public class TInsurancePolicyServiceImpl extends ServiceImpl<TInsurancePolicyMap
update(updateWrapper); update(updateWrapper);
return R.ok(); return R.ok();
} }
@Override
public R<List<ErrorMessage>> importInsurancePolicy(InputStream inputStream) {
YifuUser user = SecurityUtils.getUser();
if (Common.isEmpty(user)) {
R.failed(CommonConstants.USER_FAIL);
}
List<ErrorMessage> errorMessageList = new ArrayList<>();
ExcelUtil<InsurancePolicyImportVo> util1 = new ExcelUtil<>(InsurancePolicyImportVo.class);
Map<String, String> policyNoMap = new HashMap<>();
// 匿名内部类 不用额外写一个DemoDataListener
// 这里 需要指定读用哪个class去读,然后读取第一个sheet 文件流会自动关闭
try {
EasyExcel.read(inputStream, InsurancePolicyImportVo.class, new ReadListener<InsurancePolicyImportVo>() {
/**
* 单次缓存的数据量
*/
public static final int BATCH_COUNT = CommonConstants.BATCH_COUNT;
/**
*临时存储
*/
private List<InsurancePolicyImportVo> cachedDataList = ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);
@Override
public void invoke(InsurancePolicyImportVo data, AnalysisContext context) {
ReadRowHolder readRowHolder = context.readRowHolder();
Integer rowIndex = readRowHolder.getRowIndex();
data.setRowIndex(rowIndex + 1);
ErrorMessage errorMessage = util1.checkEntity(data, data.getRowIndex());
if (Common.isNotNull(errorMessage)) {
errorMessageList.add(errorMessage);
} else {
cachedDataList.add(data);
}
if (cachedDataList.size() >= BATCH_COUNT) {
saveData();
// 存储完成清理 list
cachedDataList = ListUtils.newArrayListWithExpectedSize(BATCH_COUNT);
}
}
@Override
public void doAfterAllAnalysed(AnalysisContext context) {
saveData();
}
/**
* 加上存储数据库
*/
private void saveData() {
log.info("{}条数据,开始存储数据库!", cachedDataList.size());
importInsurancePolicy(cachedDataList, errorMessageList, user, policyNoMap);
log.info("存储数据库成功!");
}
}).sheet().doRead();
} catch (Exception e) {
log.error(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR, e);
return R.failed(CommonConstants.IMPORT_DATA_ANALYSIS_ERROR);
} finally {
Common.clear(policyNoMap);
}
return Common.judgeAllMessage(errorMessageList);
}
public void importInsurancePolicy(List<InsurancePolicyImportVo> excelVOList,
List<ErrorMessage> errorMessageList,
YifuUser user, Map<String, String> policyNoMap) {
if (!Common.isNotNull(excelVOList)) {
return;
}
Map<String, String> excelVOTemp = new HashMap<>();
// 获取所有的保险公司
Map<String, TInsuranceCompany> companyMap = getCompanyMap();
// 获取所有险种
Map<String, TInsuranceType> typeMap = getTypeMap();
//获取本次导入对应的保单号是否已经存在
Map<String, String> existMap = getExistMap(excelVOList);
InsurancePolicyImportVo excel = null;
TInsuranceCompany company = null;
TInsuranceType type = null;
TBusinessOperate operate = null;
TInsurancePolicy policy = null;
// 执行数据插入操作 组装
for (int i = 0; i < excelVOList.size(); i++) {
excel = excelVOList.get(i);
// 判断保单号是否重复
if (policyNoMap.get(excel.getPolicyNo()) != null) {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), "保单号【" + excel.getPolicyNo() + "】与第" + policyNoMap.get(excel.getPolicyNo()) + "行重复,未导入"));
continue;
}
if (existMap.get(excel.getPolicyNo()) == null){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), "保单号【" + excel.getPolicyNo() + "】已存在,未导入"));
continue;
}
company = companyMap.get(excel.getInsuranceCompanyName());
if (null == company){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), "保单号【" + excel.getPolicyNo() + "】的保险公司名称未找到,未导入"));
continue;
}
type = typeMap.get(excel.getInsuranceTypeName());
if (null == type){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), "保单号【" + excel.getPolicyNo() + "】的险种名称未找到,未导入"));
continue;
}
if (!type.getInsuranceCompanyId().equals(company.getId())){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), "保单号【" + excel.getPolicyNo() + "】的险种与保险公司不一致,未导入"));
continue;
}
policy = new TInsurancePolicy();
policy.setPolicyNo(excel.getPolicyNo());
policy.setInsuranceCompanyName(excel.getInsuranceCompanyName());
policy.setInsuranceTypeName(excel.getInsuranceTypeName());
policy.setPolicyStart(LocalDateUtil.parseLocalDate(excel.getPolicyStart()));
policy.setPolicyEnd(LocalDateUtil.parseLocalDate(excel.getPolicyEnd()));
policy.setCreateBy(user.getId());
policy.setUpdateBy(user.getId());
policy.setEnableFlag(CommonConstants.ZERO_INT);
policy.setDeleteFlag(CommonConstants.ZERO_INT);
//插入保单维护信息
baseMapper.insert(policy);
//插入保单维护操作日志
tBusinessOperateService.saveModificationRecord(policy.getId(), null, policy, InsurancesConstants.IMPORT_POLICY_REMARK);
policyNoMap.put(excel.getPolicyNo(), excel.getRowIndex().toString());
// 清理map list 等数据
Common.clear(excelVOList);
Common.clear(companyMap);
Common.clear(typeMap);
Common.clear(excelVOTemp);
}
}
private Map<String, String> getExistMap(List<InsurancePolicyImportVo> excelVOList) {
Map<String, String> existMap = null;
List<String> existNos;
if (Common.isNotNull(excelVOList)){
existNos = excelVOList.stream().map(InsurancePolicyImportVo::getPolicyNo).collect(Collectors.toList());
List<TInsurancePolicy> policies = this.baseMapper.selectList(Wrappers.<TInsurancePolicy>query().lambda()
.in(TInsurancePolicy::getPolicyNo,existNos).eq(TInsurancePolicy::getDeleteFlag,CommonConstants.ZERO_INT));
if (Common.isNotNull(policies)) {
existMap = policies.stream().collect(Collectors.toMap(TInsurancePolicy::getPolicyNo, TInsurancePolicy::getId));
}
}
if (!Common.isNotNull(existMap)){
existMap = new HashMap<>();
}
return existMap;
}
/**
* @Author fxj
* @Description 获取所有险种,缓存起来,缓存起来,排除删除的、险种名称是空的
* @Date 17:17 2025/8/29
* @Param
* @return
**/
private Map<String, TInsuranceType> getTypeMap() {
List<TInsuranceType> companyList = typeMapper.selectList(Wrappers.<TInsuranceType>query().lambda()
.isNotNull(TInsuranceType::getName)
.eq(TInsuranceType::getDeleteFlag, CommonConstants.ZERO_INT));
if (Common.isEmpty(companyList)) {
return new HashMap<>();
}
return companyList.stream()
.collect(Collectors.toMap(TInsuranceType::getName,
v -> v, (existing, replacement) -> existing // 处理重复key的情况
));
}
/**
* @Author fxj
* @Description 查询所有保险公司,缓存起来,排除删除的、保险公司名称是空的
* @Date 17:17 2025/8/29
* @Param
* @return
**/
private Map<String, TInsuranceCompany> getCompanyMap() {
List<TInsuranceCompany> companyList = companyMapper.selectList(Wrappers.<TInsuranceCompany>query().lambda()
.isNotNull(TInsuranceCompany::getCompanyName)
.eq(TInsuranceCompany::getDeleteFlag, CommonConstants.ZERO_INT));
if (Common.isEmpty(companyList)) {
return new HashMap<>();
}
return companyList.stream()
.collect(Collectors.toMap(TInsuranceCompany::getCompanyName,
v -> v, (existing, replacement) -> existing // 处理重复key的情况
));
}
private SerializerFeature[] features = new SerializerFeature[] {
WriteMapNullValue, WriteNullNumberAsZero, WriteNullListAsEmpty,
WriteNullStringAsEmpty,WriteDateUseDateFormat
};
} }
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