Commit 1448b107 by jianan

新单跟进v2

parent f15d3ace
...@@ -43,39 +43,54 @@ public class PolicyAdditional implements Serializable { ...@@ -43,39 +43,54 @@ public class PolicyAdditional implements Serializable {
private String planBizId; private String planBizId;
/** /**
* 保险附加产品唯一业务ID(中台保险附加产品业务id,冗余) * 产品上架信息表唯一业务ID
*/ */
private String additionalProductBizId; private String productLaunchBizId;
/** /**
* 保险附加产品名称(中台保险附加产品名称,冗余) * 品上架信息表名称
*/ */
private String addProductName; private String productLaunchName;
/** /**
* 货币(字典) * 付款频率(字典)
*/ */
private String currency; private String paymentFrequency;
/**
* 保障年期
*/
private String guaranteePeriod;
/**
* 保单币种
*/
private String policyCurrency;
/**
* 供款期数
*/
private String issueNumber;
/** /**
* 保费 * 保费
*/ */
private BigDecimal premium; private BigDecimal eachIssuePremium;
/** /**
* 保额 * 保额(重疾)
*/ */
private BigDecimal sumInsured; private BigDecimal sumInsured;
/** /**
* 保障地区(字典) * 保障级别
*/ */
private String guaranteeRegion; private String protectionLevel;
/** /**
* 等级(字典) * 保障地区(字典)
*/ */
private String level; private String guaranteeRegion;
/** /**
* 自付额(字典) * 自付额(字典)
...@@ -88,6 +103,11 @@ public class PolicyAdditional implements Serializable { ...@@ -88,6 +103,11 @@ public class PolicyAdditional implements Serializable {
private String additionalSafeguards; private String additionalSafeguards;
/** /**
* 保单征费
*/
private BigDecimal policyLevy;
/**
* 通用备注 * 通用备注
*/ */
private String remark; private String remark;
......
...@@ -36,7 +36,7 @@ public class PolicyAdditionalServiceImpl extends ServiceImpl<PolicyAdditionalMap ...@@ -36,7 +36,7 @@ public class PolicyAdditionalServiceImpl extends ServiceImpl<PolicyAdditionalMap
PolicyAdditional policyAdditional = new PolicyAdditional(); PolicyAdditional policyAdditional = new PolicyAdditional();
BeanUtils.copyProperties(policyAdditionalAddRequest, policyAdditional); BeanUtils.copyProperties(policyAdditionalAddRequest, policyAdditional);
policyAdditional.setAdditionalProductBizId(RandomStringGenerator.generateBizId16("policy_additional")); policyAdditional.setPolicyAdditionalBizId(RandomStringGenerator.generateBizId16("policy_additional"));
Date now = new Date(); Date now = new Date();
policyAdditional.setCreateTime(now); policyAdditional.setCreateTime(now);
......
...@@ -22,6 +22,7 @@ import com.yd.csf.service.service.*; ...@@ -22,6 +22,7 @@ import com.yd.csf.service.service.*;
import com.yd.csf.service.dao.PolicyFollowMapper; import com.yd.csf.service.dao.PolicyFollowMapper;
import com.yd.csf.service.utils.AsyncQueryUtil; import com.yd.csf.service.utils.AsyncQueryUtil;
import com.yd.csf.service.utils.GSONUtil; import com.yd.csf.service.utils.GSONUtil;
import com.yd.csf.service.vo.PolicyAdditionalVO;
import com.yd.csf.service.vo.PolicyFollowDetailVO; import com.yd.csf.service.vo.PolicyFollowDetailVO;
import com.yd.csf.service.vo.PolicyFollowVO; import com.yd.csf.service.vo.PolicyFollowVO;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -334,12 +335,12 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol ...@@ -334,12 +335,12 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
detailVO.setBrokerList(brokerList); detailVO.setBrokerList(brokerList);
// 查询附加险列表 // 查询附加险列表
List<PolicyAdditional> additionalList = policyAdditionalService.list( List<PolicyAdditional> additionalList = policyAdditionalService.lambdaQuery()
new QueryWrapper<PolicyAdditional>() .eq(PolicyAdditional::getPolicyBizId, policyBizId).list();
.eq("policy_biz_id", policyBizId) List<PolicyAdditionalVO> additionalVOList = additionalList.stream()
.eq("is_deleted", 0) .map(PolicyAdditionalVO::objToVo)
); .collect(Collectors.toList());
detailVO.setAdditionalList(additionalList); detailVO.setAdditionalList(additionalVOList);
return detailVO; return detailVO;
} }
...@@ -524,10 +525,10 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol ...@@ -524,10 +525,10 @@ public class PolicyFollowServiceImpl extends ServiceImpl<PolicyFollowMapper, Pol
if (CollUtil.isNotEmpty(additionalList)) { if (CollUtil.isNotEmpty(additionalList)) {
for (PolicyAdditional additional : additionalList) { for (PolicyAdditional additional : additionalList) {
PolicyReportData.AdditionalInsurance additionalInsurance = new PolicyReportData.AdditionalInsurance(); PolicyReportData.AdditionalInsurance additionalInsurance = new PolicyReportData.AdditionalInsurance();
additionalInsurance.setName(additional.getAddProductName()); additionalInsurance.setName(additional.getProductLaunchName());
additionalInsurance.setPaymentTerm(null); additionalInsurance.setPaymentTerm(null);
additionalInsurance.setCurrency(getCurrencyValue(additional.getCurrency())); additionalInsurance.setCurrency(getCurrencyValue(additional.getPolicyCurrency()));
additionalInsurance.setFirstYearAmount(additional.getPremium()); additionalInsurance.setFirstYearAmount(additional.getEachIssuePremium());
additionalInsurances.add(additionalInsurance); additionalInsurances.add(additionalInsurance);
} }
} }
......
package com.yd.csf.service.vo;
import com.yd.csf.feign.enums.PaymentFrequencyEnum;
import com.yd.csf.service.model.Fna;
import com.yd.csf.service.model.PolicyAdditional;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.springframework.beans.BeanUtils;
import java.io.Serializable;
import java.math.BigDecimal;
/**
* 保单附加险VO
*/
@Data
@Schema(description = "保单附加险信息")
public class PolicyAdditionalVO implements Serializable {
/**
* 主键ID
*/
@Schema(description = "policy additional id")
private Long id;
/**
* 新单跟进-保单附加险信息表唯一业务ID
*/
@Schema(description = "新单跟进-保单附加险信息表唯一业务ID")
private String policyAdditionalBizId;
/**
* 新单跟进业务ID
*/
@Schema(description = "新单跟进业务ID")
private String policyBizId;
/**
* 保单号
*/
@Schema(description = "保单号")
private String policyNo;
/**
* 产品计划信息表唯一业务ID
*/
@Schema(description = "产品计划信息表唯一业务ID")
private String planBizId;
/**
* 产品上架信息表唯一业务ID
*/
@Schema(description = "产品上架信息表唯一业务ID")
private String productLaunchBizId;
/**
* 产品上架信息表名称
*/
@Schema(description = "品上架信息表名称")
private String productLaunchName;
/**
* 付款频率(字典)
*/
@Schema(description = "付款频率(字典)")
private String paymentFrequency;
/**
* 保障年期
*/
@Schema(description = "保障年期")
private String guaranteePeriod;
/**
* 保单币种
*/
@Schema(description = "保单币种")
private String policyCurrency;
/**
* 供款期数
*/
@Schema(description = "供款期数")
private String issueNumber;
/**
* 每期保费
*/
@Schema(description = "每期保费")
private BigDecimal eachIssuePremium;
private static final long serialVersionUID = 1L;
/**
* 对象转封装类
*
* @param policyAdditional
* @return
*/
public static PolicyAdditionalVO objToVo(PolicyAdditional policyAdditional) {
if (policyAdditional == null) {
return null;
}
PolicyAdditionalVO policyAdditionalVO = new PolicyAdditionalVO();
BeanUtils.copyProperties(policyAdditional, policyAdditionalVO);
return policyAdditionalVO;
}
/**
* 根据付款频率字典值获取中文标签
*
* @param paymentFrequency 付款频率字典值
* @return 中文标签
*/
public static String getPaymentFrequencyLabel(String paymentFrequency) {
if (paymentFrequency == null) {
return null;
}
for (PaymentFrequencyEnum enumItem : PaymentFrequencyEnum.values()) {
if (enumItem.getItemValue().equals(paymentFrequency)) {
return enumItem.getItemLabel();
}
}
return paymentFrequency;
}
}
...@@ -2,7 +2,6 @@ package com.yd.csf.service.vo; ...@@ -2,7 +2,6 @@ package com.yd.csf.service.vo;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.yd.csf.service.enums.PolicyFollowStatusEnum; import com.yd.csf.service.enums.PolicyFollowStatusEnum;
import com.yd.csf.service.model.PolicyAdditional;
import com.yd.csf.service.model.PolicyBroker; import com.yd.csf.service.model.PolicyBroker;
import com.yd.csf.service.model.PolicyFollow; import com.yd.csf.service.model.PolicyFollow;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
...@@ -431,7 +430,7 @@ public class PolicyFollowDetailVO implements Serializable { ...@@ -431,7 +430,7 @@ public class PolicyFollowDetailVO implements Serializable {
* 附加险列表 * 附加险列表
*/ */
@Schema(description = "附加险列表") @Schema(description = "附加险列表")
private List<PolicyAdditional> additionalList; private List<PolicyAdditionalVO> additionalList;
/** /**
* 通用备注 * 通用备注
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<!DOCTYPE mapper <!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yd.csf.service.dao.PolicyAdditionalMapper"> <mapper namespace="generator.mapper.PolicyAdditionalMapper">
<resultMap id="BaseResultMap" type="com.yd.csf.service.model.PolicyAdditional"> <resultMap id="BaseResultMap" type="com.yd.csf.service.model.PolicyAdditional">
<id property="id" column="id" /> <id property="id" column="id" />
...@@ -10,15 +10,19 @@ ...@@ -10,15 +10,19 @@
<result property="policyBizId" column="policy_biz_id" /> <result property="policyBizId" column="policy_biz_id" />
<result property="policyNo" column="policy_no" /> <result property="policyNo" column="policy_no" />
<result property="planBizId" column="plan_biz_id" /> <result property="planBizId" column="plan_biz_id" />
<result property="additionalProductBizId" column="additional_product_biz_id" /> <result property="productLaunchBizId" column="product_launch_biz_id" />
<result property="addProductName" column="add_product_name" /> <result property="productLaunchName" column="product_launch_name" />
<result property="currency" column="currency" /> <result property="paymentFrequency" column="payment_frequency" />
<result property="premium" column="premium" /> <result property="guaranteePeriod" column="guarantee_period" />
<result property="policyCurrency" column="policy_currency" />
<result property="issueNumber" column="issue_number" />
<result property="eachIssuePremium" column="each_issue_premium" />
<result property="sumInsured" column="sum_insured" /> <result property="sumInsured" column="sum_insured" />
<result property="protectionLevel" column="protection_level" />
<result property="guaranteeRegion" column="guarantee_region" /> <result property="guaranteeRegion" column="guarantee_region" />
<result property="level" column="level" />
<result property="deductibles" column="deductibles" /> <result property="deductibles" column="deductibles" />
<result property="additionalSafeguards" column="additional_safeguards" /> <result property="additionalSafeguards" column="additional_safeguards" />
<result property="policyLevy" column="policy_levy" />
<result property="remark" column="remark" /> <result property="remark" column="remark" />
<result property="isDeleted" column="is_deleted" /> <result property="isDeleted" column="is_deleted" />
<result property="creatorId" column="creator_id" /> <result property="creatorId" column="creator_id" />
...@@ -28,9 +32,10 @@ ...@@ -28,9 +32,10 @@
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id,policy_additional_biz_id,policy_biz_id,policy_no,plan_biz_id,additional_product_biz_id, id,policy_additional_biz_id,policy_biz_id,policy_no,plan_biz_id,product_launch_biz_id,
add_product_name,currency,premium,sum_insured,guarantee_region, product_launch_name,payment_frequency,guarantee_period,policy_currency,issue_number,
level,deductibles,additional_safeguards,remark,is_deleted, each_issue_premium,sum_insured,protection_level,guarantee_region,deductibles,
creator_id,updater_id,create_time,update_time additional_safeguards,policy_levy,remark,is_deleted,creator_id,
updater_id,create_time,update_time
</sql> </sql>
</mapper> </mapper>
...@@ -105,7 +105,7 @@ ...@@ -105,7 +105,7 @@
t.policy_no as policyNumber, t.policy_no as policyNumber,
t.insurance_company as insuranceCompany, t.insurance_company as insuranceCompany,
t.product_name as insurancePlan, t.product_name as insurancePlan,
t.payment_term as paymentPeriod, t.issue_number as paymentPeriod,
t.initial_premium as annualAmount, t.initial_premium as annualAmount,
t.prepaid_amount as totalPrepayment, t.prepaid_amount as totalPrepayment,
t.payment_premium as premiumFee, t.payment_premium as premiumFee,
......
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