diff --git a/src/main/java/com/sztzjy/money_management/controller/CaseController.java b/src/main/java/com/sztzjy/money_management/controller/CaseController.java index 7ca6a43..741ad04 100644 --- a/src/main/java/com/sztzjy/money_management/controller/CaseController.java +++ b/src/main/java/com/sztzjy/money_management/controller/CaseController.java @@ -11,6 +11,7 @@ import com.sztzjy.money_management.mapper.ChapterMapper; import com.sztzjy.money_management.mapper.ComCaseMapper; import com.sztzjy.money_management.mapper.InsuranceProMapper; import com.sztzjy.money_management.service.CaseService; +import com.sztzjy.money_management.service.ComputeService; import com.sztzjy.money_management.util.ResultEntity; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -19,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.*; +import java.math.BigDecimal; import java.util.List; import java.util.stream.Collectors; @@ -40,6 +42,8 @@ public class CaseController { private ChapterMapper chapterMapper; @Autowired private InsuranceProMapper insuranceProMapper; + @Autowired + private ComputeService computeService; @PostMapping("/insertCase") @ApiOperation("新增/编辑案例,老师和管理员新增根据caseInfo中的publish区分都是题目答案,学生端新增传isAnswer为学生答案+userId") @@ -53,7 +57,7 @@ public class CaseController { @PostMapping("/insertComprehensivePlanCase") @ApiOperation("新增/编辑综合规划案例") - private ResultEntity insertComprehensivePlanCase(@ApiParam("主表caseInfo必传")@RequestBody StuCaseDto stuCaseDto) { + private ResultEntity insertComprehensivePlanCase(@ApiParam("主表caseInfo必传") @RequestBody StuCaseDto stuCaseDto) { return caseService.insertComprehensivePlanCase(stuCaseDto); } @@ -208,4 +212,14 @@ public class CaseController { } return new ResultEntity<>(chapter.getKnowledge()); } + + @PostMapping("/getAnnualPremium") + @ApiOperation("年缴保费计算") + @AnonymousAccess + private ResultEntity getInsuranceExpense(@ApiParam("需要年龄,性别,保险年份,缴费方式,保险金额,InsuranceProId") @RequestBody CaseInvestmentPlanInsuranceProductInfo productInfo) { + BigDecimal AnnualPremium = computeService.getAnnualPremium(productInfo); + return new ResultEntity(AnnualPremium); + } + + } diff --git a/src/main/java/com/sztzjy/money_management/entity/CaseInvestmentPlanInsuranceProductInfo.java b/src/main/java/com/sztzjy/money_management/entity/CaseInvestmentPlanInsuranceProductInfo.java index 1aea924..b1919d5 100644 --- a/src/main/java/com/sztzjy/money_management/entity/CaseInvestmentPlanInsuranceProductInfo.java +++ b/src/main/java/com/sztzjy/money_management/entity/CaseInvestmentPlanInsuranceProductInfo.java @@ -41,6 +41,9 @@ public class CaseInvestmentPlanInsuranceProductInfo { @ApiModelProperty("缴费方式") private String paymentMethod; + @ApiModelProperty("年缴保费") + private BigDecimal annualPremium; + @ApiModelProperty("添加时间") private Date addTime; @@ -124,6 +127,14 @@ public class CaseInvestmentPlanInsuranceProductInfo { this.paymentMethod = paymentMethod == null ? null : paymentMethod.trim(); } + public BigDecimal getAnnualPremium() { + return annualPremium; + } + + public void setAnnualPremium(BigDecimal annualPremium) { + this.annualPremium = annualPremium; + } + public Date getAddTime() { return addTime; } diff --git a/src/main/java/com/sztzjy/money_management/entity/CaseInvestmentPlanInsuranceProductInfoExample.java b/src/main/java/com/sztzjy/money_management/entity/CaseInvestmentPlanInsuranceProductInfoExample.java index b57457b..9df3e75 100644 --- a/src/main/java/com/sztzjy/money_management/entity/CaseInvestmentPlanInsuranceProductInfoExample.java +++ b/src/main/java/com/sztzjy/money_management/entity/CaseInvestmentPlanInsuranceProductInfoExample.java @@ -786,6 +786,66 @@ public class CaseInvestmentPlanInsuranceProductInfoExample { return (Criteria) this; } + public Criteria andAnnualPremiumIsNull() { + addCriterion("annual_premium is null"); + return (Criteria) this; + } + + public Criteria andAnnualPremiumIsNotNull() { + addCriterion("annual_premium is not null"); + return (Criteria) this; + } + + public Criteria andAnnualPremiumEqualTo(BigDecimal value) { + addCriterion("annual_premium =", value, "annualPremium"); + return (Criteria) this; + } + + public Criteria andAnnualPremiumNotEqualTo(BigDecimal value) { + addCriterion("annual_premium <>", value, "annualPremium"); + return (Criteria) this; + } + + public Criteria andAnnualPremiumGreaterThan(BigDecimal value) { + addCriterion("annual_premium >", value, "annualPremium"); + return (Criteria) this; + } + + public Criteria andAnnualPremiumGreaterThanOrEqualTo(BigDecimal value) { + addCriterion("annual_premium >=", value, "annualPremium"); + return (Criteria) this; + } + + public Criteria andAnnualPremiumLessThan(BigDecimal value) { + addCriterion("annual_premium <", value, "annualPremium"); + return (Criteria) this; + } + + public Criteria andAnnualPremiumLessThanOrEqualTo(BigDecimal value) { + addCriterion("annual_premium <=", value, "annualPremium"); + return (Criteria) this; + } + + public Criteria andAnnualPremiumIn(List values) { + addCriterion("annual_premium in", values, "annualPremium"); + return (Criteria) this; + } + + public Criteria andAnnualPremiumNotIn(List values) { + addCriterion("annual_premium not in", values, "annualPremium"); + return (Criteria) this; + } + + public Criteria andAnnualPremiumBetween(BigDecimal value1, BigDecimal value2) { + addCriterion("annual_premium between", value1, value2, "annualPremium"); + return (Criteria) this; + } + + public Criteria andAnnualPremiumNotBetween(BigDecimal value1, BigDecimal value2) { + addCriterion("annual_premium not between", value1, value2, "annualPremium"); + return (Criteria) this; + } + public Criteria andAddTimeIsNull() { addCriterion("add_time is null"); return (Criteria) this; diff --git a/src/main/java/com/sztzjy/money_management/entity/dto/CaseInvestmentPlanSelectDto.java b/src/main/java/com/sztzjy/money_management/entity/dto/CaseInvestmentPlanSelectDto.java index 3da9b32..569661d 100644 --- a/src/main/java/com/sztzjy/money_management/entity/dto/CaseInvestmentPlanSelectDto.java +++ b/src/main/java/com/sztzjy/money_management/entity/dto/CaseInvestmentPlanSelectDto.java @@ -14,7 +14,6 @@ import java.util.List; public class CaseInvestmentPlanSelectDto { @ApiModelProperty("案例-投资规划-产品选择表") private CaseInvestmentPlanSelect caseInvestmentPlanSelect; - //其余表 @ApiModelProperty("投资规划-银行储蓄信息表") private List investmentPlanBankProductInfos; diff --git a/src/main/java/com/sztzjy/money_management/service/CaseService.java b/src/main/java/com/sztzjy/money_management/service/CaseService.java index 5d8012e..81f6915 100644 --- a/src/main/java/com/sztzjy/money_management/service/CaseService.java +++ b/src/main/java/com/sztzjy/money_management/service/CaseService.java @@ -2,11 +2,14 @@ package com.sztzjy.money_management.service; import com.nimbusds.jose.shaded.gson.Gson; import com.sztzjy.money_management.entity.CaseInfo; +import com.sztzjy.money_management.entity.CaseInvestmentPlanInsuranceProductInfo; import com.sztzjy.money_management.entity.StuCaseDto; import com.sztzjy.money_management.entity.dto.CaseInvestmentPlanDto; import com.sztzjy.money_management.util.ResultEntity; import org.springframework.http.HttpStatus; +import java.math.BigDecimal; + /** * @Author xcj diff --git a/src/main/java/com/sztzjy/money_management/service/ComputeService.java b/src/main/java/com/sztzjy/money_management/service/ComputeService.java new file mode 100644 index 0000000..96a7ab5 --- /dev/null +++ b/src/main/java/com/sztzjy/money_management/service/ComputeService.java @@ -0,0 +1,14 @@ +package com.sztzjy.money_management.service; + +import com.sztzjy.money_management.entity.CaseInvestmentPlanInsuranceProductInfo; + +import java.math.BigDecimal; + +/** + * @Author xcj + * @Date 2024/10/9 + */ +public interface ComputeService { + BigDecimal getAnnualPremium(CaseInvestmentPlanInsuranceProductInfo productInfo); + +} diff --git a/src/main/java/com/sztzjy/money_management/service/impl/CaseServiceImpl.java b/src/main/java/com/sztzjy/money_management/service/impl/CaseServiceImpl.java index 73beb2c..2c0e65b 100644 --- a/src/main/java/com/sztzjy/money_management/service/impl/CaseServiceImpl.java +++ b/src/main/java/com/sztzjy/money_management/service/impl/CaseServiceImpl.java @@ -17,6 +17,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.*; @@ -80,7 +81,8 @@ public class CaseServiceImpl implements CaseService { private CaseInvestmentPlanRealGoldProductInfoMapper investmentPlanRealGoldProductInfoMapper; @Autowired private CaseInvestmentPlanSelectMapper caseInvestmentPlanSelectMapper; - + @Autowired + private InsuranceProMapper insuranceProMapper; private void insertSynthesisPlanClient(CaseInfo newCase) { SynthesisPlanClient synthesisPlanClient = new SynthesisPlanClient(); @@ -361,6 +363,138 @@ public class CaseServiceImpl implements CaseService { return null; } +// @Override +// public BigDecimal getAnnualPremium(CaseInvestmentPlanInsuranceProductInfo productInfo) { +// Integer age = productInfo.getAge(); //年龄 +// String gender = productInfo.getGender(); //性别 +// String insurancePeriod = productInfo.getInsurancePeriod(); //保险年份 +// String paymentMethod = productInfo.getPaymentMethod();//缴费方式 +// BigDecimal insuranceAmount = productInfo.getInsuranceAmount();//保险金额 +// String insuranceProId = productInfo.getInsuranceProId(); +// InsuranceProWithBLOBs insuranceProWithBLOBs = insuranceProMapper.selectByPrimaryKey(insuranceProId); +// String name = insuranceProWithBLOBs.getName();//保险名称 +// +// if (name.equals("爱相随定期寿险")) { +// if (paymentMethod.equals("趸交")) { +// if (insurancePeriod.equals("10年")) { +// if (insuranceAmount.compareTo(BigDecimal.valueOf(100000)) == 0) { //10万 +// if (gender.equals("男")) { +// +// } +// if (gender.equals("女")) { +// +// } +// } +// if (insuranceAmount.compareTo(BigDecimal.valueOf(200000)) == 0) { //20万 +// if (gender.equals("男")) { +// +// } +// if (gender.equals("女")) { +// +// } +// } +// if (insuranceAmount.compareTo(BigDecimal.valueOf(300000)) == 0) { //30万 +// if (gender.equals("男")) { +// +// } +// if (gender.equals("女")) { +// +// } +// } +// if (insuranceAmount.compareTo(BigDecimal.valueOf(400000)) == 0) { //40万 +// if (gender.equals("男")) { +// +// } +// if (gender.equals("女")) { +// +// } +// } +// if (insuranceAmount.compareTo(BigDecimal.valueOf(500000)) == 0) { //50万 +// if (gender.equals("男")) { +// +// } +// if (gender.equals("女")) { +// +// } +// } +// } +// if (insurancePeriod.equals("20年")) { +// if (gender.equals("男")) { +// +// } +// if (gender.equals("女")) { +// +// } +// } +// if (insurancePeriod.equals("30年")) { +// if (gender.equals("男")) { +// +// } +// if (gender.equals("女")) { +// +// } +// } +// } +// if (paymentMethod.equals("5年交")) { +// if (insuranceAmount.compareTo(BigDecimal.valueOf(100000)) == 0) { //10万 +// if (gender.equals("男")) { +// +// } +// if (gender.equals("女")) { +// +// } +// } +// if (insuranceAmount.compareTo(BigDecimal.valueOf(200000)) == 0) { //20万 +// if (gender.equals("男")) { +// +// } +// if (gender.equals("女")) { +// +// } +// } +// if (insuranceAmount.compareTo(BigDecimal.valueOf(300000)) == 0) { //30万 +// if (gender.equals("男")) { +// +// } +// if (gender.equals("女")) { +// +// } +// } +// } +// if (paymentMethod.equals("10年交")) { +// if (insurancePeriod.equals("20年")) { +// if (gender.equals("男")) { +// +// } +// if (gender.equals("女")) { +// +// } +// } +// if (insurancePeriod.equals("30年")) { +// if (gender.equals("男")) { +// +// } +// if (gender.equals("女")) { +// +// } +// } +// } +// if (paymentMethod.equals("20年交")) { +// if (insurancePeriod.equals("30年")) { +// if (gender.equals("男")) { +// +// } +// if (gender.equals("女")) { +// +// } +// } +// } +// } +// +// return null; +// } + + @Override public ResultEntity insertCase(String caseInfo, String json, String operator, String type) { @@ -811,12 +945,10 @@ public class CaseServiceImpl implements CaseService { CaseInvestmentPlanSelect caseInvestmentPlanSelect = investmentPlanSelect.getCaseInvestmentPlanSelect(); //产品选择表 //操作产品选择表 - //id为空则新增 - if (StringUtils.isBlank(caseInvestmentPlanSelect.getProductSelectId())) { - if (StringUtils.isBlank(newCase.getCaseid())) { - - } + //id为空则新增 表不可能为null + if (caseInvestmentPlanSelect != null && StringUtils.isBlank(caseInvestmentPlanSelect.getProductSelectId())) { caseInvestmentPlanSelect.setProductSelectId(IdUtil.randomUUID()); + //todo caseid前端能否传过来 caseInvestmentPlanSelectMapper.insert(caseInvestmentPlanSelect); } else { caseInvestmentPlanSelectMapper.updateByPrimaryKeySelective(caseInvestmentPlanSelect); diff --git a/src/main/java/com/sztzjy/money_management/service/impl/ComputeServiceImpl.java b/src/main/java/com/sztzjy/money_management/service/impl/ComputeServiceImpl.java new file mode 100644 index 0000000..ffafe6d --- /dev/null +++ b/src/main/java/com/sztzjy/money_management/service/impl/ComputeServiceImpl.java @@ -0,0 +1,1722 @@ +package com.sztzjy.money_management.service.impl; + +import com.sztzjy.money_management.entity.CaseInvestmentPlanInsuranceProductInfo; +import com.sztzjy.money_management.entity.InsuranceProWithBLOBs; +import com.sztzjy.money_management.mapper.InsuranceProMapper; +import com.sztzjy.money_management.service.ComputeService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; + +/** + * @Author xcj + * @Date 2024/10/9 + */ +@Service +public class ComputeServiceImpl implements ComputeService { + @Autowired + private InsuranceProMapper insuranceProMapper; + + @Override + public BigDecimal getAnnualPremium(CaseInvestmentPlanInsuranceProductInfo productInfo) { + Integer age = productInfo.getAge(); //年齢 + String gender = productInfo.getGender(); //性別 + String insurancePeriod = productInfo.getInsurancePeriod(); //保险年数 + String paymentMethod = productInfo.getPaymentMethod(); //支付方法 + BigDecimal insuranceAmount = productInfo.getInsuranceAmount(); //保险金額 + String insuranceProId = productInfo.getInsuranceProId(); + InsuranceProWithBLOBs insuranceProWithBLOBs = insuranceProMapper.selectByPrimaryKey(insuranceProId); + String name = insuranceProWithBLOBs.getName(); //保险名称 + + BigDecimal fee = BigDecimal.ZERO; + + fee = type1(age, gender, insurancePeriod, paymentMethod, insuranceAmount, name, fee); + fee = type2(age, gender, name, paymentMethod, fee); + fee = type3(age, gender, name, fee); + fee = type4(age, gender, insurancePeriod, paymentMethod, insuranceAmount, name, fee); + fee = type5(age, gender, insurancePeriod, paymentMethod, insuranceAmount, name, fee); + fee = type6(age, gender, name, fee); + //todo 百万任我行 + fee = type8(age, gender, insurancePeriod, paymentMethod, name, fee); + fee = type9(age, gender, paymentMethod, name, fee); + fee = type10(age, gender, paymentMethod, name, fee); + fee = type11(age, gender, paymentMethod, name, fee); + fee = type12(age, gender, paymentMethod, name, fee); + fee = type13(age, gender, name, fee); + fee = type14(age, gender, insurancePeriod, paymentMethod, name, fee); + fee = type15(age, name, fee); + fee = type16(age, gender, name, fee); + //todo 终身重疾险所属产品暂无公式 + fee = type25(age, name, fee); + fee = type26(age, gender, name, fee); + fee = type27(name, fee); + fee = type28(name, fee); + fee = type29(age, paymentMethod, name, fee); + fee = type30(age, paymentMethod, name, fee); + fee = type31(name, fee); + fee = type32(age, name, fee, insuranceAmount); + fee = type33(age, gender, name, fee, paymentMethod); //todo age必须大于18小于55 + fee = type34(age, gender, name, fee, paymentMethod); //todo age 0~17之间 + fee = type35(age, gender, name, fee, paymentMethod); //todo age 0~17之间 + fee = type36(age, gender, name, fee, paymentMethod); //todo age 0~60之间 + fee = type37(age, gender, name, fee, paymentMethod); //todo age 0~65之间 + fee = type38(age, gender, name, fee, paymentMethod); //todo age 0~60之间 + fee = type39(age, gender, name, fee, paymentMethod); //todo age 0~15之间 + + return fee; + } + + + private BigDecimal type1(Integer age, String gender, String insurancePeriod, String paymentMethod, BigDecimal insuranceAmount, String name, BigDecimal fee) { + if (name.equals("爱相随定期寿险")) { + if (paymentMethod.equals("趸交")) { + if (insurancePeriod.equals("10年")) { + if (insuranceAmount.compareTo(BigDecimal.valueOf(100000)) == 0) { + fee = gender.equals("男") ? + new BigDecimal(-1883.25).add(new BigDecimal(123.625).multiply(new BigDecimal(age))) : + new BigDecimal(-1434).add(new BigDecimal(88).multiply(new BigDecimal(age))); + } else if (insuranceAmount.compareTo(BigDecimal.valueOf(200000)) == 0) { + fee = gender.equals("男") ? + new BigDecimal(-3766.5).add(new BigDecimal(247.25).multiply(new BigDecimal(age))) : + new BigDecimal(-2868).add(new BigDecimal(176).multiply(new BigDecimal(age))); + } else if (insuranceAmount.compareTo(BigDecimal.valueOf(300000)) == 0) { + fee = gender.equals("男") ? + new BigDecimal(-5649.75).add(new BigDecimal(370.875).multiply(new BigDecimal(age))) : + new BigDecimal(-4302).add(new BigDecimal(264).multiply(new BigDecimal(age))); + } else if (insuranceAmount.compareTo(BigDecimal.valueOf(400000)) == 0) { + fee = gender.equals("男") ? + new BigDecimal(-7533).add(new BigDecimal(494.5).multiply(new BigDecimal(age))) : + new BigDecimal(-5736).add(new BigDecimal(352).multiply(new BigDecimal(age))); + } else if (insuranceAmount.compareTo(BigDecimal.valueOf(500000)) == 0) { + fee = gender.equals("男") ? + new BigDecimal(-9416.25).add(new BigDecimal(618.125).multiply(new BigDecimal(age))) : + new BigDecimal(-7170).add(new BigDecimal(440).multiply(new BigDecimal(age))); + } + } else if (insurancePeriod.equals("20年")) { + fee = gender.equals("男") ? + new BigDecimal(-7612.25).add(new BigDecimal(416.125).multiply(new BigDecimal(age))) : + new BigDecimal(-6058).add(new BigDecimal(313).multiply(new BigDecimal(age))); + } else if (insurancePeriod.equals("30年")) { + fee = gender.equals("男") ? + new BigDecimal(-6543.75).add(new BigDecimal(485.875).multiply(new BigDecimal(age))) : + new BigDecimal(-11720).add(new BigDecimal(636.5).multiply(new BigDecimal(age))); + } + } else if (paymentMethod.equals("5年交")) { + if (insuranceAmount.compareTo(BigDecimal.valueOf(100000)) == 0) { + fee = gender.equals("男") ? + new BigDecimal(-462).add(new BigDecimal(30).multiply(new BigDecimal(age))) : + new BigDecimal(-338).add(new BigDecimal(21).multiply(new BigDecimal(age))); + } else if (insuranceAmount.compareTo(BigDecimal.valueOf(200000)) == 0) { + fee = gender.equals("男") ? + new BigDecimal(-924).add(new BigDecimal(60).multiply(new BigDecimal(age))) : + new BigDecimal(-676).add(new BigDecimal(42).multiply(new BigDecimal(age))); + } else if (insuranceAmount.compareTo(BigDecimal.valueOf(300000)) == 0) { + fee = gender.equals("男") ? + new BigDecimal(-1386).add(new BigDecimal(90).multiply(new BigDecimal(age))) : + new BigDecimal(-1014).add(new BigDecimal(63).multiply(new BigDecimal(age))); + } + } else if (paymentMethod.equals("10年交")) { + if (insurancePeriod.equals("20年")) { + fee = gender.equals("男") ? + new BigDecimal(-918).add(new BigDecimal(50).multiply(new BigDecimal(age))) : + new BigDecimal(-727).add(new BigDecimal(37.5).multiply(new BigDecimal(age))); + } else if (insurancePeriod.equals("30年")) { + fee = gender.equals("男") ? + new BigDecimal(-858.9818).add(new BigDecimal(61.49091).multiply(new BigDecimal(age))) : + new BigDecimal(-706.6545).add(new BigDecimal(46.32727).multiply(new BigDecimal(age))); + } + } else if (paymentMethod.equals("20年交")) { + if (insurancePeriod.equals("30年")) { + fee = gender.equals("男") ? + new BigDecimal(-505.5636).add(new BigDecimal(35.78182).multiply(new BigDecimal(age))) : + new BigDecimal(-400.9455).add(new BigDecimal(26.47273).multiply(new BigDecimal(age))); + } + } + } + return fee; + } + + + private BigDecimal type2(Integer age, String gender, String name, String paymentMethod, BigDecimal fee) { + if (name.equals("平安附加少儿定期寿险")) { + if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(122.3643).subtract(new BigDecimal(3.337104).multiply(new BigDecimal(age))) : + new BigDecimal(69.36086).subtract(new BigDecimal(2.483032).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(62).subtract(new BigDecimal(1.4196832).multiply(new BigDecimal(age))) : + new BigDecimal(36.60068).subtract(new BigDecimal(1.170814).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(43.63014).subtract(new BigDecimal(1.027397).multiply(new BigDecimal(age))) : + new BigDecimal(27.6484).subtract(new BigDecimal(1.347032).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(35.78947).subtract(new BigDecimal(1.052632).multiply(new BigDecimal(age))) : + new BigDecimal(24.60526).subtract(new BigDecimal(1.973684).multiply(new BigDecimal(age))); + } + } + return fee; + } + + + private BigDecimal type3(Integer age, String gender, String name, BigDecimal fee) { + if (name.equals("安顺齐乐定期寿险")) { + fee = gender.equals("男") ? + new BigDecimal(-293.0923).add(new BigDecimal(14.58803).multiply(new BigDecimal(age))) : + new BigDecimal(-204.1251).add(new BigDecimal(9.615645).multiply(new BigDecimal(age))); + } + return fee; + } + + private BigDecimal type4(Integer age, String gender, String insurancePeriod, String paymentMethod, BigDecimal insuranceAmount, String name, BigDecimal fee) { + if (name.equals("爱家无忧定期寿险")) { + if (insurancePeriod.equals("20年")) { + if (paymentMethod.equals("趸交")) { + fee = gender.equals("男") ? + new BigDecimal(-4081.625).add(new BigDecimal(210.3125).multiply(new BigDecimal(age))) : + new BigDecimal(-2876).add(new BigDecimal(138).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(-918.375).add(new BigDecimal(47.1875).multiply(new BigDecimal(age))) : + new BigDecimal(-644.75).add(new BigDecimal(30.875).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(-493.625).add(new BigDecimal(25.3125).multiply(new BigDecimal(age))) : + new BigDecimal(-344).add(new BigDecimal(16.5).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(-357.5).add(new BigDecimal(18.25).multiply(new BigDecimal(age))) : + new BigDecimal(-243.375).add(new BigDecimal(11.6875).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(-288.375).add(new BigDecimal(14.6875).multiply(new BigDecimal(age))) : + new BigDecimal(-201).add(new BigDecimal(9.5).multiply(new BigDecimal(age))); + } + } else if (insurancePeriod.equals("30年")) { + if (paymentMethod.equals("趸交")) { + fee = gender.equals("男") ? + new BigDecimal(-3897.782).add(new BigDecimal(257.8909).multiply(new BigDecimal(age))) : + new BigDecimal(-2832.927).add(new BigDecimal(169.4636).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(-870).add(new BigDecimal(57.54545).multiply(new BigDecimal(age))) : + new BigDecimal(-630.4545).add(new BigDecimal(37.72727).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(-467.5273).add(new BigDecimal(30.76364).multiply(new BigDecimal(age))) : + new BigDecimal(-641.4545).add(new BigDecimal(37.72727).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(-332.7455).add(new BigDecimal(21.87273).multiply(new BigDecimal(age))) : + new BigDecimal(-335.0909).add(new BigDecimal(20.04545).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(-265.9818).add(new BigDecimal(17.49091).multiply(new BigDecimal(age))) : + new BigDecimal(-193.8909).add(new BigDecimal(11.44545).multiply(new BigDecimal(age))); + } + } else if (insurancePeriod.equals("至60岁")) { + if (paymentMethod.equals("趸交")) { + fee = gender.equals("男") ? + new BigDecimal(2763.25).add(new BigDecimal(1.375).multiply(new BigDecimal(age))) : + new BigDecimal(1387.5).add(new BigDecimal(5.75).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(616.375).add(new BigDecimal(0.3125).multiply(new BigDecimal(age))) : + new BigDecimal(308.375).add(new BigDecimal(1.3125).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(321.25).add(new BigDecimal(0.375).multiply(new BigDecimal(age))) : + new BigDecimal(165.75).add(new BigDecimal(0.625).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(205.75).add(new BigDecimal(1.125).multiply(new BigDecimal(age))) : + new BigDecimal(103.123).add(new BigDecimal(0.9375).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(143.125).add(new BigDecimal(1.6875).multiply(new BigDecimal(age))) : + new BigDecimal(81.25).add(new BigDecimal(0.875).multiply(new BigDecimal(age))); + } + } else if (insurancePeriod.equals("至70岁")) { + if (paymentMethod.equals("趸交")) { + fee = gender.equals("男") ? + new BigDecimal(3229.125).add(new BigDecimal(94.9375).multiply(new BigDecimal(age))) : + new BigDecimal(1761.75).add(new BigDecimal(66.625).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(714.25).add(new BigDecimal(21.375).multiply(new BigDecimal(age))) : + new BigDecimal(388).add(new BigDecimal(15).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(714.25).add(new BigDecimal(21.375).multiply(new BigDecimal(age))) : + new BigDecimal(203.875).add(new BigDecimal(8.0625).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(254.75).add(new BigDecimal(8.625).multiply(new BigDecimal(age))) : + new BigDecimal(144.5).add(new BigDecimal(5.75).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(196.75).add(new BigDecimal(7.125).multiply(new BigDecimal(age))) : + new BigDecimal(108.5).add(new BigDecimal(4.75).multiply(new BigDecimal(age))); + } + } + } + return fee; + } + + private BigDecimal type5(Integer age, String gender, String insurancePeriod, String paymentMethod, BigDecimal insuranceAmount, String name, BigDecimal fee) { + if (name.equals("i守护定期寿险")) { + // 保10年 + if (insurancePeriod.equals("10年")) { + if (paymentMethod.equals("趸交")) { + fee = gender.equals("男") ? + new BigDecimal(-6916.688).add(new BigDecimal(290.8912).multiply(new BigDecimal(age))) : + new BigDecimal(-5097.211).add(new BigDecimal(205.7217).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(-1479.402).add(new BigDecimal(62.41462).multiply(new BigDecimal(age))) : + new BigDecimal(-1092.94).add(new BigDecimal(44.24146).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(-808.8295).add(new BigDecimal(33.89869).multiply(new BigDecimal(age))) : + new BigDecimal(-584.1145).add(new BigDecimal(23.70319).multiply(new BigDecimal(age))); + } + } + // 保20年 + else if (insurancePeriod.equals("20年")) { + if (paymentMethod.equals("趸交")) { + fee = gender.equals("男") ? + new BigDecimal(-8486.75).add(new BigDecimal(434.375).multiply(new BigDecimal(age))) : + new BigDecimal(-6494.75).add(new BigDecimal(310.375).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(-1840).add(new BigDecimal(94).multiply(new BigDecimal(age))) : + new BigDecimal(-1400).add(new BigDecimal(67).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(-978).add(new BigDecimal(50).multiply(new BigDecimal(age))) : + new BigDecimal(-753.75).add(new BigDecimal(35.875).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(-587.25).add(new BigDecimal(29.625).multiply(new BigDecimal(age))) : + new BigDecimal(-433.25).add(new BigDecimal(20.625).multiply(new BigDecimal(age))); + } + } + // 保30年 + else if (insurancePeriod.equals("30年")) { + if (paymentMethod.equals("趸交")) { + fee = gender.equals("男") ? + new BigDecimal(-8229.004).add(new BigDecimal(531.7348).multiply(new BigDecimal(age))) : + new BigDecimal(-6510.508).add(new BigDecimal(380.9697).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(-1776.346).add(new BigDecimal(114.8417).multiply(new BigDecimal(age))) : + new BigDecimal(-1404.07).add(new BigDecimal(82.3153).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(-948.1926).add(new BigDecimal(61.09499).multiply(new BigDecimal(age))) : + new BigDecimal(-747.6319).add(new BigDecimal(43.66095).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(-535.8245).add(new BigDecimal(34.75594).multiply(new BigDecimal(age))) : + new BigDecimal(-427.3153).add(new BigDecimal(24.87467).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("30年交")) { + fee = gender.equals("男") ? + new BigDecimal(-424.0765).add(new BigDecimal(26.87335).multiply(new BigDecimal(age))) : + new BigDecimal(-327.5528).add(new BigDecimal(18.96438).multiply(new BigDecimal(age))); + } + } + // 至50岁 + else if (insurancePeriod.equals("至50岁")) { + if (paymentMethod.equals("趸交")) { + fee = gender.equals("男") ? + new BigDecimal(3869.503).subtract(new BigDecimal(36.00596).multiply(new BigDecimal(age))) : + new BigDecimal(2014.461).subtract(new BigDecimal(17.46647).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(832.0417).subtract(new BigDecimal(7.615499).multiply(new BigDecimal(age))) : + new BigDecimal(434.0934).subtract(new BigDecimal(3.710879).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(446.0507).subtract(new BigDecimal(4.247395).multiply(new BigDecimal(age))) : + new BigDecimal(227.2429).subtract(new BigDecimal(1.833085).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(215.5).subtract(new BigDecimal(0.75).multiply(new BigDecimal(age))) : + new BigDecimal(108.5).subtract(new BigDecimal(0.25).multiply(new BigDecimal(age))); + } + } + // 至60岁 + else if (insurancePeriod.equals("至60岁")) { + if (paymentMethod.equals("趸交")) { + fee = gender.equals("男") ? + new BigDecimal(5887.119).subtract(new BigDecimal(2.996065).multiply(new BigDecimal(age))) : + new BigDecimal(3246.388).add(new BigDecimal(9.243957).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("2年交")) { + fee = gender.equals("男") ? + new BigDecimal(1277.732).subtract(new BigDecimal(0.7588533).multiply(new BigDecimal(age))) : + new BigDecimal(700.7757).add(new BigDecimal(2.006745).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(667.9202).subtract(new BigDecimal(0.1630129).multiply(new BigDecimal(age))) : + new BigDecimal(367.8415).add(new BigDecimal(1.155143).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(298.7779).add(new BigDecimal(3.025335).multiply(new BigDecimal(age))) : + new BigDecimal(167.531).add(new BigDecimal(2.250373).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("30年交")) { + fee = gender.equals("男") ? + new BigDecimal(196).add(new BigDecimal(3.5).multiply(new BigDecimal(age))) : + new BigDecimal(105).add(new BigDecimal(2.5).multiply(new BigDecimal(age))); + } + } + // 至70岁 + else if (insurancePeriod.equals("至70岁")) { + if (paymentMethod.equals("趸交")) { + fee = gender.equals("男") ? + new BigDecimal(8795.218).add(new BigDecimal(129.1426).multiply(new BigDecimal(age))) : + new BigDecimal(5451.137).add(new BigDecimal(103.0999).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(1917.01).add(new BigDecimal(27.44948).multiply(new BigDecimal(age))) : + new BigDecimal(1184.544).add(new BigDecimal(22.1204).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(993.5714).add(new BigDecimal(15.35714).multiply(new BigDecimal(age))) : + new BigDecimal(611.5801).add(new BigDecimal(12.22285).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(404.2983).add(new BigDecimal(14.03256).multiply(new BigDecimal(age))) : + new BigDecimal(240.2545).add(new BigDecimal(10.40419).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("30年交")) { + fee = gender.equals("男") ? + new BigDecimal(279.1951).add(new BigDecimal(11.44611).multiply(new BigDecimal(age))) : + new BigDecimal(169.7271).add(new BigDecimal(8.117326).multiply(new BigDecimal(age))); + } + } + } + return fee; + } + + + private BigDecimal type6(Integer age, String gender, String name, BigDecimal fee) { + if (name.equals("百万任我行两全保险")) { + fee = gender.equals("男") ? + new BigDecimal(-293.0923).add(new BigDecimal(14.58803).multiply(new BigDecimal(age))) : + new BigDecimal(-204.1251).add(new BigDecimal(9.615645).multiply(new BigDecimal(age))); + } + return fee; + } + + + private BigDecimal type8(Integer age, String gender, String insurancePeriod, String paymentMethod, String name, BigDecimal fee) { + if (name.equals("安康福瑞两全寿险")) { + // 至60岁 + if (insurancePeriod.equals("至60岁")) { + if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(134.4336).multiply(new BigDecimal(age)).add(new BigDecimal(805.9708)) : + new BigDecimal(138.9243).multiply(new BigDecimal(age)).add(new BigDecimal(736.2398)); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(66.31167).multiply(new BigDecimal(age)).add(new BigDecimal(560.4141)) : + new BigDecimal(68.12841).multiply(new BigDecimal(age)).add(new BigDecimal(530.5551)); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(43.43579).multiply(new BigDecimal(age)).add(new BigDecimal(468.8614)) : + new BigDecimal(44.36105).multiply(new BigDecimal(age)).add(new BigDecimal(451.793)); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(32.17622).multiply(new BigDecimal(age)).add(new BigDecimal(419.5518)) : + new BigDecimal(32.70488).multiply(new BigDecimal(age)).add(new BigDecimal(407.2073)); + } + } + // 至70岁 + else if (insurancePeriod.equals("至70岁")) { + if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(90.22489).multiply(new BigDecimal(age)).add(new BigDecimal(440.1598)) : + new BigDecimal(101.6416).multiply(new BigDecimal(age)).add(new BigDecimal(349.0765)); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(51.79954).multiply(new BigDecimal(age)).add(new BigDecimal(204.1393)) : + new BigDecimal(57.17968).multiply(new BigDecimal(age)).add(new BigDecimal(166.6975)); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(33.93669).multiply(new BigDecimal(age)).add(new BigDecimal(212.7637)) : + new BigDecimal(37.17765).multiply(new BigDecimal(age)).add(new BigDecimal(194.337)); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(25.11863).multiply(new BigDecimal(age)).add(new BigDecimal(213.2164)) : + new BigDecimal(27.25096).multiply(new BigDecimal(age)).add(new BigDecimal(204.2685)); + } + } + // 至85岁 + else if (insurancePeriod.equals("至85岁")) { + if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(49.31256).multiply(new BigDecimal(age)).add(new BigDecimal(403.1701)) : + new BigDecimal(57.19064).multiply(new BigDecimal(age)).add(new BigDecimal(277.605)); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(28.35662).multiply(new BigDecimal(age)).add(new BigDecimal(199.9806)) : + new BigDecimal(32.19155).multiply(new BigDecimal(age)).add(new BigDecimal(137.8265)); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(19.14642).multiply(new BigDecimal(age)).add(new BigDecimal(170.8498)) : + new BigDecimal(21.21195).multiply(new BigDecimal(age)).add(new BigDecimal(136.6672)); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(14.49041).multiply(new BigDecimal(age)).add(new BigDecimal(157.3151)) : + new BigDecimal(15.50137).multiply(new BigDecimal(age)).add(new BigDecimal(135.3836)); + } + } + } + return fee; + } + + // 平安福终身寿险 + private BigDecimal type9(Integer age, String gender, String paymentMethod, String name, BigDecimal fee) { + if (name.equals("平安福终身寿险")) { + if (paymentMethod.equals("趸交")) { + fee = gender.equals("男") ? + new BigDecimal(543.2694).multiply(new BigDecimal(age)).subtract(new BigDecimal(4834.593)) : + new BigDecimal(15.50137).multiply(new BigDecimal(age)).add(new BigDecimal(135.3836)); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(74.61229).multiply(new BigDecimal(age)).subtract(new BigDecimal(512.8383)) : + new BigDecimal(67.07388).multiply(new BigDecimal(age)).subtract(new BigDecimal(521.4685)); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(54.8098).multiply(new BigDecimal(age)).subtract(new BigDecimal(412.383)) : + new BigDecimal(48.65399).multiply(new BigDecimal(age)).subtract(new BigDecimal(400.3255)); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(46.90746).multiply(new BigDecimal(age)).subtract(new BigDecimal(396.3661)) : + new BigDecimal(40.96928).multiply(new BigDecimal(age)).subtract(new BigDecimal(360.4042)); + } else if (paymentMethod.equals("30年交")) { + fee = gender.equals("男") ? + new BigDecimal(30.08859).multiply(new BigDecimal(age)).subtract(new BigDecimal(131.8172)) : + new BigDecimal(26.06742).multiply(new BigDecimal(age)).subtract(new BigDecimal(124.9438)); + } + } + return fee; + } + + // 少儿平安福终身寿险 + private BigDecimal type10(Integer age, String gender, String paymentMethod, String name, BigDecimal fee) { + if (name.equals("少儿平安福终身寿险")) { + if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(32.03054).multiply(new BigDecimal(age)).add(new BigDecimal(669.3495)) : + new BigDecimal(34.6776).multiply(new BigDecimal(age)).add(new BigDecimal(474.6437)); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(23.4276).multiply(new BigDecimal(age)).add(new BigDecimal(485.8937)) : + new BigDecimal(19.95475).multiply(new BigDecimal(age)).add(new BigDecimal(413.371)); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(19.01018).multiply(new BigDecimal(age)).add(new BigDecimal(388.1165)) : + new BigDecimal(16.13688).multiply(new BigDecimal(age)).add(new BigDecimal(329.6776)); + } + } + return fee; + } + + // 鑫如意终身寿险 + private BigDecimal type11(Integer age, String gender, String paymentMethod, String name, BigDecimal fee) { + if (name.equals("鑫如意终身寿险")) { + if (paymentMethod.equals("五年交")) { + fee = gender.equals("男") ? + new BigDecimal(61.08333).multiply(new BigDecimal(age)).add(new BigDecimal(16305.83)) : + new BigDecimal(89.44048).multiply(new BigDecimal(age)).add(new BigDecimal(15930.83)); + } else if (paymentMethod.equals("十年交")) { + fee = gender.equals("男") ? + new BigDecimal(46.71429).multiply(new BigDecimal(age)).add(new BigDecimal(8790)) : + new BigDecimal(46.53571).multiply(new BigDecimal(age)).add(new BigDecimal(8576.786)); + } else if (paymentMethod.equals("二十年交")) { + fee = gender.equals("男") ? + new BigDecimal(26.34286).multiply(new BigDecimal(age)).add(new BigDecimal(5271.429)) : + new BigDecimal(26.34286).multiply(new BigDecimal(age)).add(new BigDecimal(5151.429)); + } + } + return fee; + } + + // 一生保终身寿险 + private BigDecimal type12(Integer age, String gender, String paymentMethod, String name, BigDecimal fee) { + if (name.equals("一生保终身寿险")) { + if (paymentMethod.equals("趸交")) { + fee = gender.equals("男") ? + new BigDecimal(757.3143).multiply(new BigDecimal(age)).add(new BigDecimal(5271.429)) : + new BigDecimal(683.6543).multiply(new BigDecimal(age)).add(new BigDecimal(5113.476)); + } else if (paymentMethod.equals("3年交")) { + fee = gender.equals("男") ? + new BigDecimal(261.9657).multiply(new BigDecimal(age)).add(new BigDecimal(2226.524)) : + new BigDecimal(235.9457).multiply(new BigDecimal(age)).add(new BigDecimal(1754.857)); + } else if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(163.1086).multiply(new BigDecimal(age)).add(new BigDecimal(1370.952)) : + new BigDecimal(146.5457).multiply(new BigDecimal(age)).add(new BigDecimal(1083.19)); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(89.67429).multiply(new BigDecimal(age)).add(new BigDecimal(729.8095)) : + new BigDecimal(80.07429).multiply(new BigDecimal(age)).add(new BigDecimal(579.8095)); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(65.97143).multiply(new BigDecimal(age)).add(new BigDecimal(513.7143)) : + new BigDecimal(58.46571).multiply(new BigDecimal(age)).add(new BigDecimal(411.1905)); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(54.85714).multiply(new BigDecimal(age)).add(new BigDecimal(401.2381)) : + new BigDecimal(48.41714).multiply(new BigDecimal(age)).add(new BigDecimal(322.9048)); + } + } + return fee; + } + + private BigDecimal type13(Integer age, String gender, String name, BigDecimal fee) { + if (name.equals("福享安康定期重疾险")) { + fee = gender.equals("男") ? + new BigDecimal(384).add(new BigDecimal(13.1).multiply(new BigDecimal(age))) : + new BigDecimal(505).add(new BigDecimal(8.7).multiply(new BigDecimal(age))); + } + return fee; + } + + private BigDecimal type14(Integer age, String gender, String insurancePeriod, String paymentMethod, String name, BigDecimal fee) { + if (name.equals("合众定期重疾险")) { + if (insurancePeriod.equals("20年")) { + if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(-1374.5).add(new BigDecimal(101.85).multiply(new BigDecimal(age))) : + new BigDecimal(-1057).add(new BigDecimal(79.4).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(-802).add(new BigDecimal(57.3).multiply(new BigDecimal(age))) : + new BigDecimal(-558.5).add(new BigDecimal(42.95).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(-579).add(new BigDecimal(41.7).multiply(new BigDecimal(age))) : + new BigDecimal(-434.5).add(new BigDecimal(31.85).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(-495).add(new BigDecimal(35).multiply(new BigDecimal(age))) : + new BigDecimal(-366.5).add(new BigDecimal(26.45).multiply(new BigDecimal(age))); + } + } else if (insurancePeriod.equals("30年")) { + if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(-1067.5).add(new BigDecimal(117.1).multiply(new BigDecimal(age))) : + new BigDecimal(-840).add(new BigDecimal(93.2).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(-585).add(new BigDecimal(63.65).multiply(new BigDecimal(age))) : + new BigDecimal(-462.5).add(new BigDecimal(50.65).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(-425).add(new BigDecimal(45.8).multiply(new BigDecimal(age))) : + new BigDecimal(-332.5).add(new BigDecimal(36.25).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(-355).add(new BigDecimal(37.45).multiply(new BigDecimal(age))) : + new BigDecimal(-275).add(new BigDecimal(29.45).multiply(new BigDecimal(age))); + } + } else if (insurancePeriod.equals("至60岁")) { + if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(1444).add(new BigDecimal(11.7).multiply(new BigDecimal(age))) : + new BigDecimal(1189.5).add(new BigDecimal(8.25).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(759.5).add(new BigDecimal(7.15).multiply(new BigDecimal(age))) : + new BigDecimal(629).add(new BigDecimal(4.9).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(460).add(new BigDecimal(9).multiply(new BigDecimal(age))) : + new BigDecimal(372.5).add(new BigDecimal(7.1).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(362.5).add(new BigDecimal(7.5).multiply(new BigDecimal(age))) : + new BigDecimal(290).add(new BigDecimal(6.05).multiply(new BigDecimal(age))); + } + } else if (insurancePeriod.equals("至70岁")) { + if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(1727.5).add(new BigDecimal(57.75).multiply(new BigDecimal(age))) : + new BigDecimal(1440.5).add(new BigDecimal(43.35).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(895.5).add(new BigDecimal(32.95).multiply(new BigDecimal(age))) : + new BigDecimal(752.5).add(new BigDecimal(24.45).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(597).add(new BigDecimal(25.2).multiply(new BigDecimal(age))) : + new BigDecimal(511.5).add(new BigDecimal(18.35).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(440.5).add(new BigDecimal(22.05).multiply(new BigDecimal(age))) : + new BigDecimal(389).add(new BigDecimal(15.7).multiply(new BigDecimal(age))); + } + } + } + return fee; + } + + //四、抗癌卫士医疗险 + //Fee=-895.3+48.27273*age男 + //Fee=-668.5+41.86364*age 女 + // + //五、安康住院费用医疗保险 + // + //Fee=-187.28+68.76*age男 + //Fee=-187.28+68.76*age 女 + //六、真爱关心住院险 + //Fee=-187.5125+11.90625*age男 + //Fee=-185.115+11.9475*age 女 + private BigDecimal type15(Integer age, String name, BigDecimal fee) { + if (name.equals("平安尊优人生全球医疗保险")) { + return new BigDecimal(-7472.6).add(new BigDecimal(925.3077).multiply(new BigDecimal(age))); + } + return fee; + } + + private BigDecimal type16(Integer age, String gender, String name, BigDecimal fee) { + if (name.equals("抗癌卫士医疗险")) { + fee = gender.equals("男") ? + new BigDecimal(-895.3).add(new BigDecimal(48.27273).multiply(new BigDecimal(age))) : + new BigDecimal(-668.5).add(new BigDecimal(41.86364).multiply(new BigDecimal(age))); + } + return fee; + } + + + //todo 终身重疾险所属产品暂无公式 + + + private BigDecimal type25(Integer age, String name, BigDecimal fee) { + if (name.equals("安康住院费用医疗保险")) { + fee = new BigDecimal(-187.28).add(new BigDecimal(68.76).multiply(new BigDecimal(age))); + } + return fee; + } + + private BigDecimal type26(Integer age, String gender, String name, BigDecimal fee) { + if (name.equals("真爱关心住院险")) { + fee = gender.equals("男") ? + new BigDecimal(-187.5125).add(new BigDecimal(11.90625).multiply(new BigDecimal(age))) : + new BigDecimal(-185.115).add(new BigDecimal(11.9475).multiply(new BigDecimal(age))); + } + return fee; + } + + private BigDecimal type27(String name, BigDecimal fee) { + if (name.equals("交通意外险")) { + fee = new BigDecimal(310); + } + return fee; + } + + private BigDecimal type28(String name, BigDecimal fee) { + if (name.equals("旅行意外险")) { + fee = new BigDecimal(0.8); + } + return fee; + } + + private BigDecimal type29(Integer age, String paymentMethod, String name, BigDecimal fee) { + if (name.equals("长期意外伤害险")) { + if (paymentMethod.equals("趸交")) { + fee = new BigDecimal(4209.085).subtract(new BigDecimal(46.58631).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("10年交")) { + fee = new BigDecimal(531.6).subtract(new BigDecimal(3.95).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("15年交")) { + fee = new BigDecimal(374.9).subtract(new BigDecimal(2.8).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("20年交")) { + fee = new BigDecimal(298.5).subtract(new BigDecimal(2).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("30年交")) { + fee = new BigDecimal(211).subtract(new BigDecimal(0.75).multiply(new BigDecimal(age))); + } + } + return fee; + } + + private BigDecimal type30(Integer age, String paymentMethod, String name, BigDecimal fee) { + if (name.equals("少儿长期意外伤害保险")) { + if (paymentMethod.equals("10年交")) { + fee = new BigDecimal(306.375).add(new BigDecimal(4.625).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("15年交")) { + fee = new BigDecimal(210.5).add(new BigDecimal(3.5).multiply(new BigDecimal(age))); + } else if (paymentMethod.equals("20年交")) { + fee = new BigDecimal(175.125).add(new BigDecimal(2.875).multiply(new BigDecimal(age))); + } + } + return fee; + } + + private BigDecimal type31(String name, BigDecimal fee) { + if (name.equals("优乐保人身意外伤害保险")) { + fee = new BigDecimal(55); + } + return fee; + } + + // 意安心人身意外险 + private BigDecimal type32(Integer age, String name, BigDecimal fee, BigDecimal insuranceAmount) { + if (name.equals("意安心人身意外险")) { + if (insuranceAmount.compareTo(BigDecimal.valueOf(500000)) == 0) { + if (age > 0 && age <= 50) { + fee = new BigDecimal(2100); + } + if (age > 50 && age <= 60) { + fee = new BigDecimal(2850); + } + if (age > 60 && age <= 63) { + fee = new BigDecimal(3375); + } + } + if (insuranceAmount.compareTo(BigDecimal.valueOf(600000)) == 0) { + if (age > 0 && age <= 50) { + fee = new BigDecimal(2520); + } + if (age > 50 && age <= 60) { + fee = new BigDecimal(3420); + } + if (age > 60 && age <= 63) { + fee = new BigDecimal(4050); + } + + } + if (insuranceAmount.compareTo(BigDecimal.valueOf(750000)) == 0) { + if (age > 0 && age <= 50) { + fee = new BigDecimal(3150); + } + if (age > 50 && age <= 60) { + fee = new BigDecimal(4275); + } + if (age > 60 && age <= 63) { + fee = new BigDecimal(5062.5); + } + } + } + return fee; + } + + private BigDecimal type33(Integer age, String gender, String name, BigDecimal fee, String paymentMethod) { + if (name.equals("护身福终身寿险(分红型)")) { + if (paymentMethod.equals("10年交")) { + if (gender.equals("男")) { + if (age > 18 && age <= 25) { + fee = new BigDecimal(1955); + } + if (age > 25 && age <= 33) { + fee = new BigDecimal(2335); + } + if (age > 33 && age <= 41) { + fee = new BigDecimal(2815); + } + if (age > 41 && age <= 48) { + fee = new BigDecimal(3400); + } + if (age > 48 && age <= 55) { + fee = new BigDecimal(4000); + } + } + if (gender.equals("女")) { + if (age > 18 && age <= 25) { + fee = new BigDecimal(1765); + } + if (age > 25 && age <= 33) { + fee = new BigDecimal(2125); + } + if (age > 33 && age <= 41) { + fee = new BigDecimal(2570); + } + if (age > 41 && age <= 48) { + fee = new BigDecimal(3110); + } + if (age > 48 && age <= 55) { + fee = new BigDecimal(3675); + } + } + } + if (paymentMethod.equals("15年交")) { + if (gender.equals("男")) { + if (age > 18 && age <= 25) { + fee = new BigDecimal(1335); + } + if (age > 25 && age <= 33) { + fee = new BigDecimal(1600); + } + if (age > 33 && age <= 41) { + fee = new BigDecimal(1930); + } + if (age > 41 && age <= 48) { + fee = new BigDecimal(2340); + } + if (age > 48 && age <= 55) { + fee = new BigDecimal(2785); + } + } + if (gender.equals("女")) { + if (age > 18 && age <= 25) { + fee = new BigDecimal(1205); + } + if (age > 25 && age <= 33) { + fee = new BigDecimal(1455); + } + if (age > 33 && age <= 41) { + fee = new BigDecimal(1760); + } + if (age > 41 && age <= 48) { + fee = new BigDecimal(2135); + } + if (age > 48 && age <= 55) { + fee = new BigDecimal(2535); + } + } + } + + if (paymentMethod.equals("20年交")) { + if (gender.equals("男")) { + if (age > 18 && age <= 25) { + fee = new BigDecimal(1055); + } + if (age > 25 && age <= 33) { + fee = new BigDecimal(1265); + } + if (age > 33 && age <= 41) { + fee = new BigDecimal(1535); + } + if (age > 41 && age <= 48) { + fee = new BigDecimal(1875); + } + if (age > 48 && age <= 55) { + fee = new BigDecimal(2255); + } + } + if (gender.equals("女")) { + if (age > 18 && age <= 25) { + fee = new BigDecimal(950); + } + if (age > 25 && age <= 33) { + fee = new BigDecimal(1150); + } + if (age > 33 && age <= 41) { + fee = new BigDecimal(1395); + } + if (age > 41 && age <= 48) { + fee = new BigDecimal(1700); + } + if (age > 48 && age <= 55) { + fee = new BigDecimal(2040); + } + } + } + if (paymentMethod.equals("30年交")) { + if (gender.equals("男")) { + if (age > 18 && age <= 25) { + fee = new BigDecimal(765); + } + if (age > 25 && age <= 33) { + fee = new BigDecimal(925); + } + if (age > 33 && age <= 41) { + fee = new BigDecimal(1130); + } + if (age > 41 && age <= 48) { + fee = new BigDecimal(1410); + } + } + if (gender.equals("女")) { + if (age > 18 && age <= 25) { + fee = new BigDecimal(690); + } + if (age > 25 && age <= 33) { + fee = new BigDecimal(835); + } + if (age > 33 && age <= 41) { + fee = new BigDecimal(1020); + } + if (age > 41 && age <= 48) { + fee = new BigDecimal(1265); + } + } + } + } + return fee; + } + + //0-3/4-7/8-11/12-15/16-17 + private BigDecimal type34(Integer age, String gender, String name, BigDecimal fee, String paymentMethod) { + if (name.equals("世纪天使分红保险")) { + if (paymentMethod.equals("10年交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 3) { + fee = new BigDecimal(12190); + } + if (age > 3 && age <= 7) { + fee = new BigDecimal(12340); + } + if (age > 7 && age <= 11) { + fee = new BigDecimal(12515); + } + if (age > 11 && age <= 15) { + fee = new BigDecimal(12720); + } + if (age > 15 && age <= 17) { + fee = new BigDecimal(12965); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 3) { + fee = new BigDecimal(12025); + } + if (age > 3 && age <= 7) { + fee = new BigDecimal(12165); + } + if (age > 7 && age <= 11) { + fee = new BigDecimal(12320); + } + if (age > 11 && age <= 15) { + fee = new BigDecimal(12500); + } + if (age > 15 && age <= 17) { + fee = new BigDecimal(12715); + } + } + } + if (paymentMethod.equals("15年交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 3) { + fee = new BigDecimal(8570); + } + if (age > 3 && age <= 7) { + fee = new BigDecimal(8675); + } + if (age > 7 && age <= 11) { + fee = new BigDecimal(8805); + } + if (age > 11 && age <= 15) { + fee = new BigDecimal(8955); + } + if (age > 15 && age <= 17) { + fee = new BigDecimal(9130); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 3) { + fee = new BigDecimal(8450); + } + if (age > 3 && age <= 7) { + fee = new BigDecimal(8550); + } + if (age > 7 && age <= 11) { + fee = new BigDecimal(8665); + } + if (age > 11 && age <= 15) { + fee = new BigDecimal(8795); + } + if (age > 15 && age <= 17) { + fee = new BigDecimal(8945); + } + } + } + + if (paymentMethod.equals("20年交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 3) { + fee = new BigDecimal(6825); + } + if (age > 3 && age <= 7) { + fee = new BigDecimal(6915); + } + if (age > 7 && age <= 11) { + fee = new BigDecimal(7020); + } + if (age > 11 && age <= 15) { + fee = new BigDecimal(7145); + } + if (age > 15 && age <= 17) { + fee = new BigDecimal(7290); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 3) { + fee = new BigDecimal(6730); + } + if (age > 3 && age <= 7) { + fee = new BigDecimal(6810); + } + if (age > 7 && age <= 11) { + fee = new BigDecimal(6905); + } + if (age > 11 && age <= 15) { + fee = new BigDecimal(7015); + } + if (age > 15 && age <= 17) { + fee = new BigDecimal(7135); + } + } + } + if (paymentMethod.equals("交至18岁")) { + if (gender.equals("男")) { + if (age > 0 && age <= 3) { + fee = new BigDecimal(7340); + } + if (age > 3 && age <= 7) { + fee = new BigDecimal(9050); + } + if (age > 7 && age <= 11) { + fee = new BigDecimal(12515); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 3) { + fee = new BigDecimal(7240); + } + if (age > 3 && age <= 7) { + fee = new BigDecimal(8920); + } + if (age > 7 && age <= 11) { + fee = new BigDecimal(12320); + } + } + } + } + return fee; + } + + private BigDecimal type35(Integer age, String gender, String name, BigDecimal fee, String paymentMethod) { + if (name.equals("守护星少儿两全保险")) { + if (paymentMethod.equals("10年交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 3) { + fee = new BigDecimal(33055); + } + if (age > 3 && age <= 7) { + fee = new BigDecimal(33330); + } + if (age > 7 && age <= 11) { + fee = new BigDecimal(33700); + } + if (age > 11 && age <= 15) { + fee = new BigDecimal(34160); + } + if (age > 15 && age <= 17) { + fee = new BigDecimal(34735); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 3) { + fee = new BigDecimal(32520); + } + if (age > 3 && age <= 7) { + fee = new BigDecimal(32720); + } + if (age > 7 && age <= 11) { + fee = new BigDecimal(32995); + } + if (age > 11 && age <= 15) { + fee = new BigDecimal(33340); + } + if (age > 15 && age <= 17) { + fee = new BigDecimal(33775); + } + } + } + + if (paymentMethod.equals("20年交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 3) { + fee = new BigDecimal(19635); + } + if (age > 3 && age <= 7) { + fee = new BigDecimal(19985); + } + if (age > 7 && age <= 11) { + fee = new BigDecimal(20440); + } + if (age > 11 && age <= 15) { + fee = new BigDecimal(21020); + } + if (age > 15 && age <= 17) { + fee = new BigDecimal(21780); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 3) { + fee = new BigDecimal(19280); + } + if (age > 3 && age <= 7) { + fee = new BigDecimal(19580); + } + if (age > 7 && age <= 11) { + fee = new BigDecimal(19970); + } + if (age > 11 && age <= 15) { + fee = new BigDecimal(20470); + } + if (age > 15 && age <= 17) { + fee = new BigDecimal(21125); + } + } + } + } + return fee; + } + + private BigDecimal type36(Integer age, String gender, String name, BigDecimal fee, String paymentMethod) { + if (name.equals("鑫利两全保险(分红型)")) { + if (paymentMethod.equals("5年交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 11) { + fee = new BigDecimal(19075); + } + if (age > 11 && age <= 23) { + fee = new BigDecimal(19465); + } + if (age > 23 && age <= 35) { + fee = new BigDecimal(20075); + } + if (age > 35 && age <= 47) { + fee = new BigDecimal(20860); + } + if (age > 47 && age <= 60) { + fee = new BigDecimal(21970); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 11) { + fee = new BigDecimal(18960); + } + if (age > 11 && age <= 23) { + fee = new BigDecimal(19345); + } + if (age > 23 && age <= 35) { + fee = new BigDecimal(19920); + } + if (age > 35 && age <= 47) { + fee = new BigDecimal(20680); + } + if (age > 47 && age <= 60) { + fee = new BigDecimal(21725); + } + } + } + + if (paymentMethod.equals("10年交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 11) { + fee = new BigDecimal(10130); + } + if (age > 11 && age <= 23) { + fee = new BigDecimal(10345); + } + if (age > 23 && age <= 35) { + fee = new BigDecimal(10690); + } + if (age > 35 && age <= 47) { + fee = new BigDecimal(11140); + } + if (age > 47 && age <= 60) { + fee = new BigDecimal(11865); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 11) { + fee = new BigDecimal(10070); + } + if (age > 11 && age <= 23) { + fee = new BigDecimal(10280); + } + if (age > 23 && age <= 35) { + fee = new BigDecimal(10600); + } + if (age > 35 && age <= 47) { + fee = new BigDecimal(11020); + } + if (age > 47 && age <= 60) { + fee = new BigDecimal(11660); + } + } + } + if (paymentMethod.equals("15年交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 11) { + fee = new BigDecimal(7145); + } + if (age > 11 && age <= 23) { + fee = new BigDecimal(7310); + } + if (age > 23 && age <= 35) { + fee = new BigDecimal(7560); + } + if (age > 35 && age <= 47) { + fee = new BigDecimal(7910); + } + if (age > 47 && age <= 60) { + fee = new BigDecimal(8540); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 11) { + fee = new BigDecimal(7100); + } + if (age > 11 && age <= 23) { + fee = new BigDecimal(7255); + } + if (age > 23 && age <= 35) { + fee = new BigDecimal(7490); + } + if (age > 35 && age <= 47) { + fee = new BigDecimal(7805); + } + if (age > 47 && age <= 60) { + fee = new BigDecimal(8335); + } + } + } + if (paymentMethod.equals("20年交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 11) { + fee = new BigDecimal(5675); + } + if (age > 11 && age <= 23) { + fee = new BigDecimal(5820); + } + if (age > 23 && age <= 35) { + fee = new BigDecimal(6030); + } + if (age > 35 && age <= 47) { + fee = new BigDecimal(6345); + } + if (age > 47 && age <= 60) { + fee = new BigDecimal(6970); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 11) { + fee = new BigDecimal(5645); + } + if (age > 11 && age <= 23) { + fee = new BigDecimal(5775); + } + if (age > 23 && age <= 35) { + fee = new BigDecimal(5960); + } + if (age > 35 && age <= 47) { + fee = new BigDecimal(6240); + } + if (age > 47 && age <= 60) { + fee = new BigDecimal(6745); + } + } + } + } + return fee; + } + + private BigDecimal type37(Integer age, String gender, String name, BigDecimal fee, String paymentMethod) { + if (name.equals("鑫盛2012终身寿险(分红型)")) { + if (paymentMethod.equals("趸交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 12) { + fee = new BigDecimal(11265); + } + if (age > 12 && age <= 25) { + fee = new BigDecimal(14680); + } + if (age > 25 && age <= 38) { + fee = new BigDecimal(19625); + } + if (age > 38 && age <= 51) { + fee = new BigDecimal(26360); + } + if (age > 51 && age <= 65) { + fee = new BigDecimal(34705); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 12) { + fee = new BigDecimal(10055); + } + if (age > 12 && age <= 25) { + fee = new BigDecimal(13180); + } + if (age > 25 && age <= 38) { + fee = new BigDecimal(17855); + } + if (age > 38 && age <= 51) { + fee = new BigDecimal(24190); + } + if (age > 51 && age <= 65) { + fee = new BigDecimal(32280); + } + } + } + + if (paymentMethod.equals("10年交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 12) { + fee = new BigDecimal(1410); + } + if (age > 12 && age <= 25) { + fee = new BigDecimal(1830); + } + if (age > 25 && age <= 38) { + fee = new BigDecimal(2450); + } + if (age > 38 && age <= 51) { + fee = new BigDecimal(3315); + } + if (age > 51 && age <= 65) { + fee = new BigDecimal(4490); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 12) { + fee = new BigDecimal(1255); + } + if (age > 12 && age <= 25) { + fee = new BigDecimal(1640); + } + if (age > 25 && age <= 38) { + fee = new BigDecimal(2225); + } + if (age > 38 && age <= 51) { + fee = new BigDecimal(3025); + } + if (age > 51 && age <= 65) { + fee = new BigDecimal(4115); + } + } + } + if (paymentMethod.equals("15年交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 12) { + fee = new BigDecimal(960); + } + if (age > 12 && age <= 25) { + fee = new BigDecimal(1245); + } + if (age > 25 && age <= 38) { + fee = new BigDecimal(1670); + } + if (age > 38 && age <= 51) { + fee = new BigDecimal(2270); + } + if (age > 51 && age <= 65) { + fee = new BigDecimal(3145); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 12) { + fee = new BigDecimal(855); + } + if (age > 12 && age <= 25) { + fee = new BigDecimal(1115); + } + if (age > 25 && age <= 38) { + fee = new BigDecimal(1515); + } + if (age > 38 && age <= 51) { + fee = new BigDecimal(2070); + } + if (age > 51 && age <= 65) { + fee = new BigDecimal(2855); + } + } + } + if (paymentMethod.equals("20年交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 12) { + fee = new BigDecimal(760); + } + if (age > 12 && age <= 25) { + fee = new BigDecimal(985); + } + if (age > 25 && age <= 38) { + fee = new BigDecimal(1320); + } + if (age > 38 && age <= 51) { + fee = new BigDecimal(1815); + } + if (age > 51 && age <= 65) { + fee = new BigDecimal(2585); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 12) { + fee = new BigDecimal(675); + } + if (age > 12 && age <= 25) { + fee = new BigDecimal(880); + } + if (age > 25 && age <= 38) { + fee = new BigDecimal(1195); + } + if (age > 38 && age <= 51) { + fee = new BigDecimal(1645); + } + if (age > 51 && age <= 65) { + fee = new BigDecimal(2320); + } + } + } + if (paymentMethod.equals("30年交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 12) { + fee = new BigDecimal(550); + } + if (age > 12 && age <= 25) { + fee = new BigDecimal(715); + } + if (age > 25 && age <= 38) { + fee = new BigDecimal(965); + } + if (age > 38 && age <= 51) { + fee = new BigDecimal(1360); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 12) { + fee = new BigDecimal(490); + } + if (age > 12 && age <= 25) { + fee = new BigDecimal(640); + } + if (age > 25 && age <= 38) { + fee = new BigDecimal(870); + } + if (age > 38 && age <= 51) { + fee = new BigDecimal(1220); + } + } + } + if (paymentMethod.equals("终身交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 12) { + fee = new BigDecimal(335); + } + if (age > 12 && age <= 25) { + fee = new BigDecimal(470); + } + if (age > 25 && age <= 38) { + fee = new BigDecimal(700); + } + if (age > 38 && age <= 51) { + fee = new BigDecimal(1130); + } + if (age > 51 && age <= 65) { + fee = new BigDecimal(1960); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 12) { + fee = new BigDecimal(290); + } + if (age > 12 && age <= 25) { + fee = new BigDecimal(410); + } + if (age > 25 && age <= 38) { + fee = new BigDecimal(615); + } + if (age > 38 && age <= 51) { + fee = new BigDecimal(975); + } + if (age > 51 && age <= 65) { + fee = new BigDecimal(1670); + } + } + } + } + return fee; + } + + + private BigDecimal type38(Integer age, String gender, String name, BigDecimal fee, String paymentMethod) { + if (name.equals("关爱e生两全保险(分红型)")) { + if (paymentMethod.equals("5年交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 11) { + fee = new BigDecimal(2685); + } + if (age > 11 && age <= 23) { + fee = new BigDecimal(3470); + } + if (age > 23 && age <= 35) { + fee = new BigDecimal(4555); + } + if (age > 35 && age <= 47) { + fee = new BigDecimal(5960); + } + if (age > 47 && age <= 60) { + fee = new BigDecimal(7710); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 11) { + fee = new BigDecimal(2535); + } + if (age > 11 && age <= 23) { + fee = new BigDecimal(3260); + } + if (age > 23 && age <= 35) { + fee = new BigDecimal(4290); + } + if (age > 35 && age <= 47) { + fee = new BigDecimal(5605); + } + if (age > 47 && age <= 60) { + fee = new BigDecimal(7185); + } + } + } + + if (paymentMethod.equals("10年交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 11) { + fee = new BigDecimal(1415); + } + if (age > 11 && age <= 23) { + fee = new BigDecimal(1825); + } + if (age > 23 && age <= 35) { + fee = new BigDecimal(2400); + } + if (age > 35 && age <= 47) { + fee = new BigDecimal(3170); + } + if (age > 47 && age <= 60) { + fee = new BigDecimal(4210); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 11) { + fee = new BigDecimal(1335); + } + if (age > 11 && age <= 23) { + fee = new BigDecimal(1715); + } + if (age > 23 && age <= 35) { + fee = new BigDecimal(2265); + } + if (age > 35 && age <= 47) { + fee = new BigDecimal(2975); + } + if (age > 47 && age <= 60) { + fee = new BigDecimal(3885); + } + } + } + if (paymentMethod.equals("20年交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 11) { + fee = new BigDecimal(795); + } + if (age > 11 && age <= 23) { + fee = new BigDecimal(1025); + } + if (age > 23 && age <= 35) { + fee = new BigDecimal(1360); + } + if (age > 35 && age <= 47) { + fee = new BigDecimal(1840); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 11) { + fee = new BigDecimal(750); + } + if (age > 11 && age <= 23) { + fee = new BigDecimal(965); + } + if (age > 23 && age <= 35) { + fee = new BigDecimal(1280); + } + if (age > 35 && age <= 47) { + fee = new BigDecimal(1720); + } + } + } + } + return fee; + } + + private BigDecimal type39(Integer age, String gender, String name, BigDecimal fee, String paymentMethod) { + if (name.equals("锦绣前程少儿两全保险A款(分红型)")) { + if (paymentMethod.equals("5年交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 3) { + fee = new BigDecimal(73); + } + if (age > 3 && age <= 6) { + fee = new BigDecimal(79); + } + if (age > 6 && age <= 9) { + fee = new BigDecimal(99); + } + if (age > 9 && age <= 12) { + fee = new BigDecimal(135); + } + if (age > 12 && age <= 15) { + fee = new BigDecimal(235); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 3) { + fee = new BigDecimal(73); + } + if (age > 3 && age <= 6) { + fee = new BigDecimal(79); + } + if (age > 6 && age <= 9) { + fee = new BigDecimal(99); + } + if (age > 9 && age <= 12) { + fee = new BigDecimal(135); + } + if (age > 12 && age <= 15) { + fee = new BigDecimal(235); + } + } + } + + if (paymentMethod.equals("10年交")) { + if (gender.equals("男")) { + if (age > 0 && age <= 3) { + fee = new BigDecimal(50); + } + if (age > 3 && age <= 6) { + fee = new BigDecimal(60); + } + if (age > 6 && age <= 9) { + fee = new BigDecimal(90); + } + if (age > 9 && age <= 12) { + fee = new BigDecimal(180); + } + } + if (gender.equals("女")) { + if (age > 0 && age <= 3) { + fee = new BigDecimal(50); + } + if (age > 3 && age <= 6) { + fee = new BigDecimal(60); + } + if (age > 6 && age <= 9) { + fee = new BigDecimal(90); + } + if (age > 9 && age <= 12) { + fee = new BigDecimal(180); + } + } + } + } + return fee; + } + +} \ No newline at end of file diff --git a/src/main/resources/mapper/CaseInvestmentPlanInsuranceProductInfoMapper.xml b/src/main/resources/mapper/CaseInvestmentPlanInsuranceProductInfoMapper.xml index 53ca5e1..35d6c7f 100644 --- a/src/main/resources/mapper/CaseInvestmentPlanInsuranceProductInfoMapper.xml +++ b/src/main/resources/mapper/CaseInvestmentPlanInsuranceProductInfoMapper.xml @@ -12,6 +12,7 @@ + @@ -74,7 +75,8 @@ insurance_productinfo_id, product_select_id, level, insurance_pro_id, insured_person, - gender, age, insurance_amount, insurance_period, payment_method, add_time + gender, age, insurance_amount, insurance_period, payment_method, annual_premium, + add_time