Commit 9e19f051 by zhangxingmin

push

parent d81a9680
......@@ -9,41 +9,59 @@ import com.yd.base.feign.request.exchangerate.ApiExchangeRateConvertRequest;
import com.yd.base.feign.response.bank.ApiBankDetailResponse;
import com.yd.base.feign.response.exchangerate.ApiExchangeRateConvertResponse;
import com.yd.common.enums.CommonEnum;
import com.yd.common.enums.ResultCode;
import com.yd.common.exception.BusinessException;
import com.yd.common.result.Result;
import com.yd.common.utils.RandomStringGenerator;
import com.yd.csf.api.service.ApiExpectedFortuneService;
import com.yd.csf.api.service.ApiPremiumReconciliationService;
import com.yd.csf.api.service.ApiPremiumRemittanceService;
import com.yd.csf.feign.dto.premiumreconciliation.ApiPremiumReconciliationDto;
import com.yd.csf.feign.dto.premiumremittance.ApiPremiumRemittanceDto;
import com.yd.csf.feign.enums.ReconciliationStatusEnum;
import com.yd.csf.feign.request.expectedfortune.ApiGenerateExpectedFortuneRequest;
import com.yd.csf.feign.request.premiumreconciliation.ApiCalculateRemainingUnpaidAmountRequest;
import com.yd.csf.feign.request.premiumreconciliation.ApiPremiumReconciliationAddRequest;
import com.yd.csf.feign.request.premiumreconciliation.ApiPremiumReconciliationPageRequest;
import com.yd.csf.feign.request.premiumreconciliation.ApiPremiumReconciliationResultEditRequest;
import com.yd.csf.feign.response.expectedfortune.ApiGenerateExpectedFortuneResponse;
import com.yd.csf.feign.response.premiumreconciliation.ApiCalculateRemainingUnpaidAmountResponse;
import com.yd.csf.feign.response.premiumreconciliation.ApiPremiumReconciliationDetailResponse;
import com.yd.csf.feign.response.premiumreconciliation.ApiPremiumReconciliationPageResponse;
import com.yd.csf.feign.response.team.ApiTeamPageResponse;
import com.yd.csf.service.dto.ChangePolicyFollowStatusRequest;
import com.yd.csf.service.dto.PremiumReconciliationDto;
import com.yd.csf.service.dto.QueryPolicyDto;
import com.yd.csf.service.enums.PolicyFollowStatusEnum;
import com.yd.csf.service.model.Policy;
import com.yd.csf.service.model.PolicyFollow;
import com.yd.csf.service.model.PremiumReconciliation;
import com.yd.csf.service.service.CommissionExpectedService;
import com.yd.csf.service.service.IPremiumReconciliationService;
import com.yd.csf.service.service.PolicyFollowService;
import com.yd.csf.service.service.PolicyService;
import com.yd.feign.config.FeignTokenInterceptor;
import com.yd.product.feign.response.expectedspecies.ApiExpectedSpeciesListResponse;
import com.yd.user.feign.client.sysdict.ApiSysDictFeignClient;
import com.yd.user.feign.request.sysdict.GetDictTypeListRequest;
import com.yd.user.feign.response.sysdict.GetDictItemListByDictTypeResponse;
import com.yd.user.feign.response.sysdict.GetDictTypeListResponse;
import io.swagger.v3.oas.annotations.Operation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
......@@ -74,6 +92,12 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
@Autowired
private ApiBankFeignClient apiBankFeignClient;
@Resource
private CommissionExpectedService commissionExpectedService;
@Resource
private ApiExpectedFortuneService apiExpectedFortuneService;
/**
* 分页列表查询-保费对账记录信息
* @param request
......@@ -149,16 +173,16 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
log.info("查询到{}条汇款记录", apiPremiumRemittanceDtoList != null ? apiPremiumRemittanceDtoList.size() : 0);
// 查询保单列表信息
List<Policy> policyList = policyService.queryList(QueryPolicyDto.builder().policyNoList(policyNoList).build());
log.info("查询到{}条保单记录", policyList != null ? policyList.size() : 0);
List<PolicyFollow> policyFollowList = policyFollowService.queryList(policyNoList);
log.info("查询到{}条保单记录", policyFollowList != null ? policyFollowList.size() : 0);
// 构建保单号到保单币种的映射
Map<String, String> policyNoToCurrencyMap = new HashMap<>();
if (!CollectionUtils.isEmpty(policyList)) {
for (Policy policy : policyList) {
if (StringUtils.isNotBlank(policy.getPolicyNo()) && StringUtils.isNotBlank(policy.getCurrency())) {
policyNoToCurrencyMap.put(policy.getPolicyNo(), policy.getCurrency());
log.debug("保单 {} 的币种: {}", policy.getPolicyNo(), policy.getCurrency());
if (!CollectionUtils.isEmpty(policyFollowList)) {
for (PolicyFollow policyFollow : policyFollowList) {
if (StringUtils.isNotBlank(policyFollow.getPolicyNo()) && StringUtils.isNotBlank(policyFollow.getPolicyCurrency())) {
policyNoToCurrencyMap.put(policyFollow.getPolicyNo(), policyFollow.getPolicyCurrency());
log.debug("保单 {} 的币种: {}", policyFollow.getPolicyNo(), policyFollow.getPolicyCurrency());
}
}
}
......@@ -608,19 +632,19 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
// throw new BusinessException(result.getMsg());
// }
//校验保单信息是否存在
Policy policy = policyService.queryOne(apiPremiumReconciliationDto.getPolicyNo());
if (Objects.isNull(policy)) {
PolicyFollow policyFollow = policyFollowService.queryOneByPolicyNo(apiPremiumReconciliationDto.getPolicyNo());
if (Objects.isNull(policyFollow)) {
throw new BusinessException("保单信息不存在");
}
PremiumReconciliation premiumReconciliation = new PremiumReconciliation();
//计算当前期数
String currentIssueNumber = calculateCurrentIssueNumber(policy.getPolicyNo(),Integer.parseInt(policy.getPaymentTerm().toString()));
String currentIssueNumber = calculateCurrentIssueNumber(policyFollow.getPolicyNo(),Integer.parseInt(policyFollow.getIssueNumber().toString()));
//根据计算的当前期数和保单号查询最新的记录,如果无记录那么新增的对账记录的待付金额为保单保费的金额,否则为最新记录的待付金额。
PremiumReconciliation newDto = iPremiumReconciliationService.queryLatestOneByPolicyNo(policy.getPolicyNo(),currentIssueNumber);
PremiumReconciliation newDto = iPremiumReconciliationService.queryLatestOneByPolicyNo(policyFollow.getPolicyNo(),currentIssueNumber);
if (Objects.isNull(newDto)) {
//无记录那么新增的对账记录的待付金额为保单保费的金额
premiumReconciliation.setRemainingUnpaidCurrency(policy.getCurrency());
premiumReconciliation.setRemainingUnpaidAmount(policy.getPaymentPremium());
premiumReconciliation.setRemainingUnpaidCurrency(policyFollow.getPolicyCurrency());
premiumReconciliation.setRemainingUnpaidAmount(policyFollow.getEachIssuePremium());
}else {
//否则为最新记录的待付金额。
premiumReconciliation.setRemainingUnpaidCurrency(newDto.getRemainingUnpaidCurrency());
......@@ -631,11 +655,11 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
//当前期数
premiumReconciliation.setCurrentIssueNumber(currentIssueNumber);
//保单受保人(被保人)
premiumReconciliation.setInsured(policy.getInsured());
premiumReconciliation.setInsured(policyFollow.getInsured());
//保险公司名称
premiumReconciliation.setInsuranceCompany(policy.getInsuranceCompany());
premiumReconciliation.setInsuranceCompany(policyFollow.getInsuranceCompany());
//保单号
premiumReconciliation.setPolicyNo(policy.getPolicyNo());
premiumReconciliation.setPolicyNo(policyFollow.getPolicyNo());
premiumReconciliation.setReconciliationType(apiPremiumReconciliationDto.getReconciliationType());
//保费对账记录表唯一业务ID
premiumReconciliation.setPremiumReconciliationBizId(RandomStringGenerator.generateBizId16(CommonEnum.UID_TYPE_PREMIUM_RECONCILIATION.getCode()));
......@@ -734,13 +758,13 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
PremiumReconciliation premiumReconciliation = result.getData();
//查询保单信息
Policy policy = policyService.queryOne(premiumReconciliation.getPolicyNo());
if (Objects.isNull(policy)) {
PolicyFollow policyFollow = policyFollowService.queryOneByPolicyNo(premiumReconciliation.getPolicyNo());
if (Objects.isNull(policyFollow)) {
throw new BusinessException("保单信息不存在");
}
//获取保单币种
String policyCurrency = policy.getCurrency();
String policyCurrency = policyFollow.getPolicyCurrency();
if (StringUtils.isBlank(policyCurrency)) {
throw new BusinessException("保单币种不能为空");
}
......@@ -914,27 +938,27 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
batchResult != null ? batchResult.getCode() : "null",
batchResult != null ? batchResult.getMsg() : "null");
// 如果汇率转换失败,可以尝试使用单个转换作为备选方案
return fallbackSingleConvert(request, premiumReconciliation, policy, policyCurrency,
return fallbackSingleConvert(request, premiumReconciliation, policyFollow, policyCurrency,
recognizedCurrency, currentRecognizedAmount, premiumReconciliationList);
}
} catch (Exception e) {
log.error("批量汇率转换异常", e);
// 异常情况下的备选方案
return fallbackSingleConvert(request, premiumReconciliation, policy, policyCurrency,
return fallbackSingleConvert(request, premiumReconciliation, policyFollow, policyCurrency,
recognizedCurrency, currentRecognizedAmount, premiumReconciliationList);
}
}
// 计算总保费和剩余待付金额
BigDecimal paymentPremium = policy.getPaymentPremium() != null ?
policy.getPaymentPremium() : BigDecimal.ZERO;
BigDecimal paymentPremium = policyFollow.getEachIssuePremium() != null ?
policyFollow.getEachIssuePremium() : BigDecimal.ZERO;
BigDecimal policyLevy = BigDecimal.ZERO;
if (StringUtils.isNotBlank(policy.getPolicyLevy())) {
if (StringUtils.isNotBlank(policyFollow.getPolicyLevy())) {
try {
policyLevy = new BigDecimal(policy.getPolicyLevy().trim());
policyLevy = new BigDecimal(policyFollow.getPolicyLevy().trim());
} catch (NumberFormatException e) {
log.error("保单征费格式错误: {}", policy.getPolicyLevy(), e);
log.error("保单征费格式错误: {}", policyFollow.getPolicyLevy(), e);
}
}
......@@ -961,7 +985,7 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
private Result<ApiCalculateRemainingUnpaidAmountResponse> fallbackSingleConvert(
ApiCalculateRemainingUnpaidAmountRequest request,
PremiumReconciliation premiumReconciliation,
Policy policy,
PolicyFollow policyFollow,
String policyCurrency,
String recognizedCurrency,
BigDecimal currentRecognizedAmount,
......@@ -1018,13 +1042,13 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
}
// 3. 计算剩余待付金额
BigDecimal paymentPremium = policy.getPaymentPremium() != null ?
policy.getPaymentPremium() : BigDecimal.ZERO;
BigDecimal paymentPremium = policyFollow.getEachIssuePremium() != null ?
policyFollow.getEachIssuePremium() : BigDecimal.ZERO;
BigDecimal policyLevy = BigDecimal.ZERO;
if (StringUtils.isNotBlank(policy.getPolicyLevy())) {
if (StringUtils.isNotBlank(policyFollow.getPolicyLevy())) {
try {
policyLevy = new BigDecimal(policy.getPolicyLevy().trim());
policyLevy = new BigDecimal(policyFollow.getPolicyLevy().trim());
} catch (NumberFormatException e) {
log.error("保单征费格式错误", e);
}
......@@ -1068,33 +1092,16 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
if (Objects.isNull(request.getUnderwritingDate())) {
throw new BusinessException("核保日期不能为空");
}
//更新新单和保单状态为生效中,更新生效日期和核保日期
//更新新单跟进:新单状态——>生效、生效日期、核保日期
PolicyFollow policyFollow = policyFollowService.queryOneByPolicyNo(premiumReconciliation.getPolicyNo());
if (!Objects.isNull(policyFollow)) {
//生效日期
policyFollow.setEffectiveDate(request.getEffectiveDate());
//核保日期
policyFollow.setUnderwritingDate(request.getUnderwritingDate());
//新单跟进状态——>生效
policyFollow.setStatus("TAKE_EFFECT");
policyFollowService.saveOrUpdate(policyFollow);
}
//更新保单信息:保单状态——>生效、生效日期、核保日期
Policy policy = policyService.queryOne(premiumReconciliation.getPolicyNo());
if (!Objects.isNull(policy)) {
//生效日期
policy.setEffectiveDate(request.getEffectiveDate());
//核保日期
policy.setUnderwritingDate(request.getUnderwritingDate());
//保单状态——>生效
if (StringUtils.isNotBlank(request.getStatus())) {
policy.setStatus(request.getStatus());
}else {
policy.setStatus("TAKE_EFFECT");
}
policyService.saveOrUpdate(policy);
if (Objects.isNull(policyFollow)) {
throw new BusinessException("新单跟进数据不存在");
}
ChangePolicyFollowStatusRequest statusRequest = new ChangePolicyFollowStatusRequest();
statusRequest.setEffectiveDate(request.getEffectiveDate());
statusRequest.setUnderwritingDate(request.getUnderwritingDate());
statusRequest.setPolicyBizId(policyFollow.getPolicyBizId());
statusRequest.setStatus("TAKE_EFFECT");
changePolicyFollowStatus(statusRequest);
}else {
//大于0,只更新新单跟进:新单状态——>保费对账成功,核保中
PolicyFollow policyFollow = policyFollowService.queryOneByPolicyNo(premiumReconciliation.getPolicyNo());
......@@ -1109,6 +1116,86 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
}
/**
* 修改跟进状态
*
* @param changePolicyFollowStatusRequest
* @return
*/
@Transactional(rollbackFor = Exception.class)
public Result<Boolean> changePolicyFollowStatus(ChangePolicyFollowStatusRequest changePolicyFollowStatusRequest) {
// 通过 RequestContextHolder 获取 HttpServletRequest
HttpServletRequest request = ((ServletRequestAttributes)
RequestContextHolder.currentRequestAttributes()).getRequest();
if (changePolicyFollowStatusRequest == null || StringUtils.isBlank(changePolicyFollowStatusRequest.getPolicyBizId())) {
return Result.fail(ResultCode.PARAMS_ERROR.getCode(), "policyBizId不能为空");
}
if (ObjectUtils.isEmpty(changePolicyFollowStatusRequest.getEffectiveDate())) {
return Result.fail(ResultCode.PARAMS_ERROR.getCode(), "生效日期不能为空");
}
if (ObjectUtils.isEmpty(changePolicyFollowStatusRequest.getUnderwritingDate())) {
return Result.fail(ResultCode.PARAMS_ERROR.getCode(), "核保日期不能为空");
}
String policyBizId = changePolicyFollowStatusRequest.getPolicyBizId();
PolicyFollow policyFollow = policyFollowService.getByPolicyBizId(policyBizId);
if (policyFollow == null) {
return Result.fail(ResultCode.NULL_ERROR.getCode(), ResultCode.NULL_ERROR.getMessage());
}
PolicyFollowStatusEnum currentStatusEnum = PolicyFollowStatusEnum.getEnumByValue(changePolicyFollowStatusRequest.getStatus());
// 修改为生效时需要校验、同步预计发佣
if (PolicyFollowStatusEnum.EFFECTIVE.equals(currentStatusEnum)) {
String productLaunchBizId = policyFollow.getProductLaunchBizId();
// 校验产品是否维护预计来佣数据
if (ObjectUtils.isEmpty(productLaunchBizId)) {
return Result.fail(ResultCode.NULL_ERROR.getCode(), "新单跟进记录中,productLaunchBizId不能为空");
}
List<ApiExpectedSpeciesListResponse> expectedSpeciesList = commissionExpectedService.queryExpectedSpeciesByFeign(productLaunchBizId);
if (ObjectUtils.isEmpty(expectedSpeciesList)) {
return Result.fail(ResultCode.NULL_ERROR.getCode(), "产品未维护预计来佣数据");
}
// 校验产品是否维护发佣信息
Boolean hasCommissionInfo = commissionExpectedService.checkProductExpectedFortune(productLaunchBizId);
if (!hasCommissionInfo) {
return Result.fail(ResultCode.NULL_ERROR.getCode(), "产品未维护发佣信息");
}
}
// 修改逻辑
policyFollowService.changePolicyFollowStatus(changePolicyFollowStatusRequest, policyFollow);
// 修改为生效时需要同步预计发佣
if (PolicyFollowStatusEnum.EFFECTIVE.equals(currentStatusEnum)) {
// 获取Token
String token = request.getHeader("Authorization");
log.info("修改跟进状态获取token:{}", token);
// 同步:根据保单生成预计出账记录
generateExpectedFortuneSync(token, policyFollow.getPolicyNo());
}
return Result.success(true);
}
/**
* 同步生成预计出账记录
*
* @param token 认证Token
* @param policyNo 保单号
*/
private void generateExpectedFortuneSync(String token, String policyNo) {
// 设置ThreadLocal Token
FeignTokenInterceptor.setThreadLocalToken(token);
// 调用 ApiExpectedFortuneService 的 generateSyncWithLogAndRedis(同步版本,包含日志和Redis处理)
ApiGenerateExpectedFortuneRequest generateExpectedFortuneRequest = new ApiGenerateExpectedFortuneRequest();
generateExpectedFortuneRequest.setPolicyNo(policyNo);
log.info("生成预计发佣generateSyncWithLogAndRedis——>PolicyNo:{}", policyNo);
Result<ApiGenerateExpectedFortuneResponse> result = apiExpectedFortuneService.generateSyncWithLogAndRedis(generateExpectedFortuneRequest);
if (result != null && result.getCode() == 200) {
log.info("新单跟进-同步生成预计出账记录成功:保单号={}", policyNo);
}
}
/**
* 校验-保单所有期数的保费对账是否对账完成(全部对账完成就不能新增录入对账信息了)
* @param policyNo
* @return
......@@ -1116,12 +1203,12 @@ public class ApiPremiumReconciliationServiceImpl implements ApiPremiumReconcilia
@Override
public Result<Boolean> checkReconciliationComplete(String policyNo) {
//查询保单信息
Policy policy = policyService.queryOne(policyNo);
if (Objects.isNull(policy)) {
PolicyFollow policyFollow = policyFollowService.queryOneByPolicyNo(policyNo);
if (Objects.isNull(policyFollow)) {
throw new BusinessException("保单信息不存在");
}
//获取保单供款年期
String paymentTerm = String.valueOf(policy.getPaymentTerm());
String paymentTerm = String.valueOf(policyFollow.getIssueNumber());
//根据保单号查询最新对账记录
PremiumReconciliation premiumReconciliation = iPremiumReconciliationService.queryLatestOneByPolicyNo(policyNo,"");
if (Objects.isNull(premiumReconciliation)) {
......
......@@ -78,7 +78,7 @@ public class ApiExcelImportAppointmentDto {
/**
* 保险公司名称(冗余字段)(产品计划信息表)
*/
@ExcelField(name = "隨行人員聯絡電話", titleRow = 19, titleCol = 0, valueRow = 19, valueCol = 1)
@ExcelField(name = "保險公司", titleRow = 19, titleCol = 0, valueRow = 19, valueCol = 1)
private String planCompanyName;
/**
......@@ -509,22 +509,27 @@ public class ApiExcelImportAppointmentDto {
List<GetDictItemListByDictTypeResponse> dictTypeResponses) {
//到港时间
infoDto.setArrivalTime(DateUtil.getLocalDateTime(dto.getHkArrivalTime()));
//业务编号->介绍人编号 TODO
//业务编号->介绍人编号 TODO 转介人内部编号
// infoDto.setBusinessNo(dto.getMainReferrerId());
//签单日->预约日期 (西元 年/月/日) + 預約時間
infoDto.setSignDate(DateUtil.getLocalDateTime(dto.getMainIntentionAppointmentDate() + " " + dto.getMainIntentionAppointmentTime()));
//离港时间->离港(澳)日期及时间(离港时间)(预约信息主表)
//抵港(澳)日期及时间(年/月/日 时:分) -> 到港时间
infoDto.setArrivalTime(DateUtil.getLocalDateTime(dto.getHkArrivalTime()));
//离港(澳)日期及时间(离港时间 (年/月/日 时:分)) -> 离港时间
infoDto.setDepartureTime(DateUtil.getLocalDateTime(dto.getHkDepartureTime()));
//会面地点
infoDto.setMeetingPoint(dto.getHkMeetingPoint());
//客户在港期间联络电话->客户在港期间联络电话(预约信息主表)区号+号码
infoDto.setHkMobileCode(StringUtil.getSplitStr(dto.getHkHkMobile(),"-",0));
infoDto.setHkMobile(StringUtil.getSplitStr(dto.getHkHkMobile(),"-",1));
//是否体检
infoDto.setIsTj(Integer.getInteger(GetDictItemListByDictTypeResponse.getItemValue(dictTypeResponses,
DictTypeEnum.SYS_NO_YES.getItemValue(),dto.getMainIsTj())));
//会面地点
infoDto.setMeetingPoint(dto.getHkMeetingPoint());
//转保声明选项 TODO
// infoDto.setPolicyTransfer();
//随行人员 TODO 转介人
return infoDto;
}
......@@ -539,8 +544,14 @@ public class ApiExcelImportAppointmentDto {
List<GetDictItemListByDictTypeResponse> dictTypeResponses) {
//保险公司名称
infoDto.setCompanyName(dto.getPlanCompanyName());
//货币(字典)
//保险公司ID TODO
// infoDto.setCompanyId();
//基本計劃名稱 -> 产品上架信息表名称(标题)
infoDto.setProductLaunchMainName(dto.getPlanProductName());
//保单币别 -> 保单币种
infoDto.setPolicyCurrency(dto.getPlanCurrency());
//供款频率 -> 付款频率(字典)
infoDto.setPaymentFrequency(dto.getPlanPaymentFrequency());
//预付额 TODO
// infoDto.setDeductibles();
//红利分配方式(字典)
......@@ -557,12 +568,10 @@ public class ApiExcelImportAppointmentDto {
//是否预缴保费->是否預繳保費 (如是,請填寫首期保費以外的剩餘保費)(是否预缴保费: 0-否, 1-是(字典)(产品计划信息表))
infoDto.setIsPrepay(Integer.parseInt(GetDictItemListByDictTypeResponse.getItemValue(dictTypeResponses,
DictTypeEnum.SYS_NO_YES.getItemValue(),dto.getPlanIsPrepay())));
//付款频率
infoDto.setPaymentFrequency(dto.getPlanPaymentFrequency());
//供款年期
infoDto.setIssueNumber(dto.getPlanPaymentTerm());
//保险产品名称->基本計劃名稱
infoDto.setProductLaunchMainName(dto.getPlanProductName());
//续期付款方式
infoDto.setRenewalPaymentMethod(GetDictItemListByDictTypeResponse.getItemValue(dictTypeResponses,
DictTypeEnum.CSF_AP_FIRST_ISSUE.getItemValue(),dto.getPlanRenewalPaymentMethod()));
......
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yd.csf.service.dto.*;
import com.yd.csf.service.enums.PolicyFollowStatusEnum;
import com.yd.csf.service.model.Policy;
import com.yd.csf.service.model.PolicyFollow;
import com.yd.csf.service.vo.PolicyFollowDetailVO;
import com.yd.csf.service.vo.PolicyFollowVO;
......@@ -83,4 +84,6 @@ public interface PolicyFollowService extends IService<PolicyFollow> {
* @return 保单号列表
*/
Page<PolicyNumberResponseVO> queryPolicyNumbers(PolicyNosQueryRequest policyNosQueryRequest);
List<PolicyFollow> queryList(List<String> policyNoList);
}
......@@ -845,6 +845,14 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
return resultPage;
}
@Override
public List<PolicyFollow> queryList(List<String> policyNoList) {
List<PolicyFollow> list = baseMapper.selectList(new LambdaQueryWrapper<PolicyFollow>()
.in(!CollectionUtils.isEmpty(policyNoList), PolicyFollow::getPolicyNo, policyNoList)
);
return list;
}
/**
* 转换为保单号查询响应视图
*
......
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