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 741ad04..f2ff161 100644 --- a/src/main/java/com/sztzjy/money_management/controller/CaseController.java +++ b/src/main/java/com/sztzjy/money_management/controller/CaseController.java @@ -22,6 +22,7 @@ import org.springframework.web.bind.annotation.*; import java.math.BigDecimal; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; /** @@ -46,7 +47,7 @@ public class CaseController { private ComputeService computeService; @PostMapping("/insertCase") - @ApiOperation("新增/编辑案例,老师和管理员新增根据caseInfo中的publish区分都是题目答案,学生端新增传isAnswer为学生答案+userId") + @ApiOperation("新增/编辑案例,学生端新增传isAnswer为学生答案+userId") private ResultEntity<HttpStatus> insertCase(@ApiParam("左侧caseInfo对象") @RequestParam(required = false) String caseInfo, //todo 传json字符串 @ApiParam("右侧考核点设置的参数对象") @RequestParam String json, @ApiParam("老师或管理员操作传master,学生操作传stu") @RequestParam String operator, @@ -56,7 +57,7 @@ public class CaseController { @PostMapping("/insertComprehensivePlanCase") - @ApiOperation("新增/编辑综合规划案例") + @ApiOperation("老师端或管理员/新增编辑综合规划案例") private ResultEntity<HttpStatus> insertComprehensivePlanCase(@ApiParam("主表caseInfo必传") @RequestBody StuCaseDto stuCaseDto) { return caseService.insertComprehensivePlanCase(stuCaseDto); } @@ -64,8 +65,9 @@ public class CaseController { @PostMapping("/getInsurancePro") @ApiOperation("查询保险规划产品名称") - private ResultEntity<List<String>> getInsurancePro(@RequestParam String type) { - return new ResultEntity<List<String>>(insuranceProMapper.getInsurancePro(type)); + @AnonymousAccess + private ResultEntity<List<Map<String, String>>> getInsurancePro(@RequestParam String type) { + return new ResultEntity<>(insuranceProMapper.getInsurancePro(type)); } @PostMapping("/insertOrUpdateInvestmentPlan") @@ -217,8 +219,7 @@ public class CaseController { @ApiOperation("年缴保费计算") @AnonymousAccess private ResultEntity<BigDecimal> getInsuranceExpense(@ApiParam("需要年龄,性别,保险年份,缴费方式,保险金额,InsuranceProId") @RequestBody CaseInvestmentPlanInsuranceProductInfo productInfo) { - BigDecimal AnnualPremium = computeService.getAnnualPremium(productInfo); - return new ResultEntity<BigDecimal>(AnnualPremium); + return computeService.getAnnualPremium(productInfo); } diff --git a/src/main/java/com/sztzjy/money_management/mapper/InsuranceProMapper.java b/src/main/java/com/sztzjy/money_management/mapper/InsuranceProMapper.java index c768ef2..20377e5 100644 --- a/src/main/java/com/sztzjy/money_management/mapper/InsuranceProMapper.java +++ b/src/main/java/com/sztzjy/money_management/mapper/InsuranceProMapper.java @@ -3,14 +3,13 @@ package com.sztzjy.money_management.mapper; import com.sztzjy.money_management.entity.InsurancePro; import com.sztzjy.money_management.entity.InsuranceProExample; import com.sztzjy.money_management.entity.InsuranceProWithBLOBs; - -import java.util.List; - -import com.sztzjy.money_management.util.ResultEntity; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; +import java.util.List; +import java.util.Map; + @Mapper public interface InsuranceProMapper { long countByExample(InsuranceProExample example); @@ -41,6 +40,6 @@ public interface InsuranceProMapper { int updateByPrimaryKey(InsurancePro record); - @Select("select name from insurance_pro where kind=#{type}") - List<String> getInsurancePro(@Param("type") String type); + @Select("select insurance_pro_id,name from insurance_pro where kind=#{type}") + List<Map<String, String>> getInsurancePro(@Param("type") String type); } \ No newline at end of file diff --git a/src/main/java/com/sztzjy/money_management/service/ComputeService.java b/src/main/java/com/sztzjy/money_management/service/ComputeService.java index 96a7ab5..1d1405c 100644 --- a/src/main/java/com/sztzjy/money_management/service/ComputeService.java +++ b/src/main/java/com/sztzjy/money_management/service/ComputeService.java @@ -1,6 +1,7 @@ package com.sztzjy.money_management.service; import com.sztzjy.money_management.entity.CaseInvestmentPlanInsuranceProductInfo; +import com.sztzjy.money_management.util.ResultEntity; import java.math.BigDecimal; @@ -9,6 +10,6 @@ import java.math.BigDecimal; * @Date 2024/10/9 */ public interface ComputeService { - BigDecimal getAnnualPremium(CaseInvestmentPlanInsuranceProductInfo productInfo); + ResultEntity<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 2c0e65b..6512933 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,7 +17,6 @@ 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.*; @@ -495,7 +494,6 @@ public class CaseServiceImpl implements CaseService { // } - @Override public ResultEntity<HttpStatus> insertCase(String caseInfo, String json, String operator, String type) { Gson gson = new Gson(); @@ -935,6 +933,15 @@ public class CaseServiceImpl implements CaseService { ResultEntity<HttpStatus> result = getHttpStatusResultEntity(caseInvestmentPlanDto.getCaseId(), caseInvestmentPlanDto.getUserId()); if (result != null) return result; + CaseInvestmentPlan investmentPlan = caseInvestmentPlanDto.getInvestmentPlan(); + String investmentPlanId = IdUtil.randomUUID(); + if (StringUtils.isBlank(investmentPlan.getCaseInvestmentPlanId())) { + investmentPlan.setCaseInvestmentPlanId(investmentPlanId); + investmentPlanMapper.insert(investmentPlan); + } else { + investmentPlanMapper.updateByPrimaryKey(investmentPlan); + } + //投资规划-产品选择表和其余五张表是一对多关系 if (caseInvestmentPlanDto.getCaseInvestmentPlanSelectDtos() != null && !caseInvestmentPlanDto.getCaseInvestmentPlanSelectDtos().isEmpty()) { @@ -943,12 +950,11 @@ public class CaseServiceImpl implements CaseService { for (CaseInvestmentPlanSelectDto investmentPlanSelect : investmentPlanSelects) { CaseInvestmentPlanSelect caseInvestmentPlanSelect = investmentPlanSelect.getCaseInvestmentPlanSelect(); //产品选择表 - + String selectId = IdUtil.randomUUID(); //操作产品选择表 - //id为空则新增 表不可能为null if (caseInvestmentPlanSelect != null && StringUtils.isBlank(caseInvestmentPlanSelect.getProductSelectId())) { caseInvestmentPlanSelect.setProductSelectId(IdUtil.randomUUID()); - //todo caseid前端能否传过来 + caseInvestmentPlanSelect.setCaseInvestmentPlanId(investmentPlanId); caseInvestmentPlanSelectMapper.insert(caseInvestmentPlanSelect); } else { caseInvestmentPlanSelectMapper.updateByPrimaryKeySelective(caseInvestmentPlanSelect); @@ -962,6 +968,8 @@ public class CaseServiceImpl implements CaseService { //id为空则新增 if (StringUtils.isBlank(investmentPlanFundProductInfo.getFundProductinfoId())) { investmentPlanFundProductInfo.setFundProductinfoId(IdUtil.randomUUID()); + investmentPlanFundProductInfo.setProductSelectId(selectId); + investmentPlanFundProductInfo.setAddTime(new Date()); investmentPlanFundProductInfoMapper.insert(investmentPlanFundProductInfo); } else { investmentPlanFundProductInfoMapper.updateByPrimaryKeySelective(investmentPlanFundProductInfo); @@ -976,6 +984,8 @@ public class CaseServiceImpl implements CaseService { //id为空则新增 if (StringUtils.isBlank(investmentPlanBankProductInfo.getBankProductinfoId())) { investmentPlanBankProductInfo.setBankProductinfoId(IdUtil.randomUUID()); + investmentPlanBankProductInfo.setProductSelectId(selectId); + investmentPlanBankProductInfo.setAddTime(new Date()); investmentPlanBankProductInfoMapper.insert(investmentPlanBankProductInfo); } else { investmentPlanBankProductInfoMapper.updateByPrimaryKeySelective(investmentPlanBankProductInfo); @@ -991,6 +1001,8 @@ public class CaseServiceImpl implements CaseService { //id为空则新增 if (StringUtils.isBlank(investmentPlanInsuranceProductInfo.getInsuranceProductinfoId())) { investmentPlanInsuranceProductInfo.setInsuranceProductinfoId(IdUtil.randomUUID()); + investmentPlanInsuranceProductInfo.setProductSelectId(selectId); + investmentPlanInsuranceProductInfo.setAddTime(new Date()); investmentPlanInsuranceProductInfoMapper.insert(investmentPlanInsuranceProductInfo); } else { investmentPlanInsuranceProductInfoMapper.updateByPrimaryKeySelective(investmentPlanInsuranceProductInfo); @@ -1005,6 +1017,8 @@ public class CaseServiceImpl implements CaseService { //id为空则新增 if (StringUtils.isBlank(investmentPlanP2PProductInfo.getP2pProductinfoId())) { investmentPlanP2PProductInfo.setP2pProductinfoId(IdUtil.randomUUID()); + investmentPlanP2PProductInfo.setProductSelectId(selectId); + investmentPlanP2PProductInfo.setAddTime(new Date()); investmentPlanP2PProductInfoMapper.insert(investmentPlanP2PProductInfo); } else { investmentPlanP2PProductInfoMapper.updateByPrimaryKeySelective(investmentPlanP2PProductInfo); @@ -1020,6 +1034,8 @@ public class CaseServiceImpl implements CaseService { //id为空则新增 if (StringUtils.isBlank(investmentPlanRealGoldProductInfo.getRealGoldProductId())) { investmentPlanRealGoldProductInfo.setRealGoldProductId(IdUtil.randomUUID()); + investmentPlanRealGoldProductInfo.setProductSelectId(selectId); + investmentPlanRealGoldProductInfo.setAddTime(new Date()); investmentPlanRealGoldProductInfoMapper.insert(investmentPlanRealGoldProductInfo); } else { investmentPlanRealGoldProductInfoMapper.updateByPrimaryKeySelective(investmentPlanRealGoldProductInfo); @@ -1269,21 +1285,154 @@ public class CaseServiceImpl implements CaseService { wrongCount = getCaseInsurancePlanWrongCount(wrongCount, stuData); } +// if (type.equals("投资规划")) { +// CaseInvestmentPlan stuInvestmentPlan = gson.fromJson(json, CaseInvestmentPlan.class); +// CaseInvestmentPlanExample caseInvestmentPlanExample = new CaseInvestmentPlanExample(); +// caseInvestmentPlanExample.createCriteria().andIsAnswerEqualTo("学生答案").andUserIdEqualTo(stuInvestmentPlan.getUserId()).andCaseIdEqualTo(stuInvestmentPlan.getCaseId()); +// List<CaseInvestmentPlan> caseInvestmentPlans = investmentPlanMapper.selectByExampleWithBLOBs(caseInvestmentPlanExample); +// if (!caseInvestmentPlans.isEmpty()) { +// for (CaseInvestmentPlan caseInvestmentPlan : caseInvestmentPlans) { +// investmentPlanMapper.deleteByPrimaryKey(caseInvestmentPlan.getCaseInvestmentPlanId()); +// } +// } +// stuInvestmentPlan.setCaseInvestmentPlanId(IdUtil.randomUUID()); +// investmentPlanMapper.insert(stuInvestmentPlan); +// +// //比较正确答案 +// wrongCount = getCaseInvestmentPlan(wrongCount, stuInvestmentPlan); +// } + + + //先查询一次 if (type.equals("投资规划")) { - CaseInvestmentPlan stuInvestmentPlan = gson.fromJson(json, CaseInvestmentPlan.class); - CaseInvestmentPlanExample caseInvestmentPlanExample = new CaseInvestmentPlanExample(); - caseInvestmentPlanExample.createCriteria().andIsAnswerEqualTo("学生答案").andUserIdEqualTo(stuInvestmentPlan.getUserId()).andCaseIdEqualTo(stuInvestmentPlan.getCaseId()); - List<CaseInvestmentPlan> caseInvestmentPlans = investmentPlanMapper.selectByExampleWithBLOBs(caseInvestmentPlanExample); - if (!caseInvestmentPlans.isEmpty()) { - for (CaseInvestmentPlan caseInvestmentPlan : caseInvestmentPlans) { - investmentPlanMapper.deleteByPrimaryKey(caseInvestmentPlan.getCaseInvestmentPlanId()); + CaseInvestmentPlanDto caseInvestmentPlanDto = gson.fromJson(json, CaseInvestmentPlanDto.class); + + CaseInvestmentPlan investmentPlan = caseInvestmentPlanDto.getInvestmentPlan(); + + //投资规划-产品选择表和其余五张表是一对多关系 + if (caseInvestmentPlanDto.getCaseInvestmentPlanSelectDtos() != null + && !caseInvestmentPlanDto.getCaseInvestmentPlanSelectDtos().isEmpty()) { + List<CaseInvestmentPlanSelectDto> investmentPlanSelects = caseInvestmentPlanDto.getCaseInvestmentPlanSelectDtos(); + + for (CaseInvestmentPlanSelectDto investmentPlanSelect : investmentPlanSelects) { + + CaseInvestmentPlanSelect caseInvestmentPlanSelect = investmentPlanSelect.getCaseInvestmentPlanSelect(); //产品选择表 + String selectId = IdUtil.randomUUID(); + + //提交功能 主表必定不为空,把老数据查出来删掉 + CaseInvestmentPlanExample example = new CaseInvestmentPlanExample(); + example.createCriteria().andCaseIdEqualTo(investmentPlan.getCaseId()).andUserIdEqualTo(investmentPlan.getUserId()).andIsAnswerEqualTo("学生答案"); + List<CaseInvestmentPlan> caseInvestmentPlans = investmentPlanMapper.selectByExampleWithBLOBs(example); + + //删除老数据 + if (caseInvestmentPlans != null) { + CaseInvestmentPlan caseInvestmentPlan = caseInvestmentPlans.get(0); + + CaseInvestmentPlanSelectExample planSelectExample = new CaseInvestmentPlanSelectExample(); + planSelectExample.createCriteria().andCaseInvestmentPlanIdEqualTo(caseInvestmentPlan.getCaseInvestmentPlanId()); + List<CaseInvestmentPlanSelect> investmentPlanSelectsDataList = caseInvestmentPlanSelectMapper.selectByExampleWithBLOBs(planSelectExample); + if (investmentPlanSelectsDataList != null) { + CaseInvestmentPlanSelect investmentPlanSelectsData = investmentPlanSelectsDataList.get(0); + String productSelectId = investmentPlanSelectsData.getProductSelectId(); + caseInvestmentPlanSelectMapper.deleteByPrimaryKey(productSelectId); + caseInvestmentPlanSelectMapper.deleteByPrimaryKey(productSelectId); + investmentPlanFundProductInfoMapper.deleteByPrimaryKey(productSelectId); + investmentPlanBankProductInfoMapper.deleteByPrimaryKey(productSelectId); + investmentPlanInsuranceProductInfoMapper.deleteByPrimaryKey(productSelectId); + investmentPlanP2PProductInfoMapper.deleteByPrimaryKey(productSelectId); + investmentPlanRealGoldProductInfoMapper.deleteByPrimaryKey(productSelectId); + } + investmentPlanMapper.deleteByPrimaryKey(caseInvestmentPlan.getCaseInvestmentPlanId()); + } + + //新增主表 + String newCaseInvestmentPlanId = IdUtil.randomUUID(); + investmentPlan.setCaseInvestmentPlanId(newCaseInvestmentPlanId); + investmentPlanMapper.insert(investmentPlan); + + //下面都为新增操作 + if (caseInvestmentPlanSelect != null) { + caseInvestmentPlanSelect.setProductSelectId(selectId); + caseInvestmentPlanSelect.setCaseInvestmentPlanId(newCaseInvestmentPlanId); + caseInvestmentPlanSelectMapper.insert(caseInvestmentPlanSelect); + } + + //投资规划-基金产品信息表 + if (investmentPlanSelect.getInvestmentPlanFundProductInfos() != null + && !investmentPlanSelect.getInvestmentPlanFundProductInfos().isEmpty()) { + List<CaseInvestmentPlanFundProductInfo> investmentPlanFundProductInfos = investmentPlanSelect.getInvestmentPlanFundProductInfos(); + + for (CaseInvestmentPlanFundProductInfo investmentPlanFundProductInfo : investmentPlanFundProductInfos) { + if (StringUtils.isBlank(investmentPlanFundProductInfo.getFundProductinfoId())) { + investmentPlanFundProductInfo.setFundProductinfoId(IdUtil.randomUUID()); + investmentPlanFundProductInfo.setProductSelectId(selectId); + investmentPlanFundProductInfo.setAddTime(new Date()); + investmentPlanFundProductInfoMapper.insert(investmentPlanFundProductInfo); + } + } + } + //投资规划-银行储蓄信息表 + if (investmentPlanSelect.getInvestmentPlanBankProductInfos() != null + && !investmentPlanSelect.getInvestmentPlanBankProductInfos().isEmpty()) { + List<CaseInvestmentPlanBankProductInfo> investmentPlanBankProductInfos = investmentPlanSelect.getInvestmentPlanBankProductInfos(); //投资规划-银行储蓄信息表 + for (CaseInvestmentPlanBankProductInfo investmentPlanBankProductInfo : investmentPlanBankProductInfos) { + //id为空则新增 + if (StringUtils.isBlank(investmentPlanBankProductInfo.getBankProductinfoId())) { + investmentPlanBankProductInfo.setBankProductinfoId(IdUtil.randomUUID()); + investmentPlanBankProductInfo.setProductSelectId(selectId); + investmentPlanBankProductInfo.setAddTime(new Date()); + investmentPlanBankProductInfoMapper.insert(investmentPlanBankProductInfo); + } + } + } + //投资规划-保险产品信息表 + if (investmentPlanSelect.getInvestmentPlanInsuranceProductInfos() != null + && !investmentPlanSelect.getInvestmentPlanInsuranceProductInfos().isEmpty()) { + List<CaseInvestmentPlanInsuranceProductInfo> investmentPlanInsuranceProductInfos = investmentPlanSelect.getInvestmentPlanInsuranceProductInfos();//投资规划-保险产品信息表 + + for (CaseInvestmentPlanInsuranceProductInfo investmentPlanInsuranceProductInfo : investmentPlanInsuranceProductInfos) { + //id为空则新增 + if (StringUtils.isBlank(investmentPlanInsuranceProductInfo.getInsuranceProductinfoId())) { + investmentPlanInsuranceProductInfo.setInsuranceProductinfoId(IdUtil.randomUUID()); + investmentPlanInsuranceProductInfo.setProductSelectId(selectId); + investmentPlanInsuranceProductInfo.setAddTime(new Date()); + investmentPlanInsuranceProductInfoMapper.insert(investmentPlanInsuranceProductInfo); + } + } + } + //投资规划-P2P产品信息表 + if (investmentPlanSelect.getInvestmentPlanP2PProductInfos() != null + && !investmentPlanSelect.getInvestmentPlanP2PProductInfos().isEmpty()) { + List<CaseInvestmentPlanP2PProductInfo> investmentPlanP2PProductInfos = investmentPlanSelect.getInvestmentPlanP2PProductInfos();//投资规划-P2P产品信息表 + for (CaseInvestmentPlanP2PProductInfo investmentPlanP2PProductInfo : investmentPlanP2PProductInfos) { + //id为空则新增 + if (StringUtils.isBlank(investmentPlanP2PProductInfo.getP2pProductinfoId())) { + investmentPlanP2PProductInfo.setP2pProductinfoId(IdUtil.randomUUID()); + investmentPlanP2PProductInfo.setProductSelectId(selectId); + investmentPlanP2PProductInfo.setAddTime(new Date()); + investmentPlanP2PProductInfoMapper.insert(investmentPlanP2PProductInfo); + } + } + } + //投资规划-实物黄金信息表 + if (investmentPlanSelect.getInvestmentPlanRealGoldProductInfos() != null + && !investmentPlanSelect.getInvestmentPlanRealGoldProductInfos().isEmpty()) { + List<CaseInvestmentPlanRealGoldProductInfo> investmentPlanRealGoldProductInfos = investmentPlanSelect.getInvestmentPlanRealGoldProductInfos();//投资规划-实物黄金信息表 + + for (CaseInvestmentPlanRealGoldProductInfo investmentPlanRealGoldProductInfo : investmentPlanRealGoldProductInfos) { + //id为空则新增 + if (StringUtils.isBlank(investmentPlanRealGoldProductInfo.getRealGoldProductId())) { + investmentPlanRealGoldProductInfo.setRealGoldProductId(IdUtil.randomUUID()); + investmentPlanRealGoldProductInfo.setProductSelectId(selectId); + investmentPlanRealGoldProductInfo.setAddTime(new Date()); + investmentPlanRealGoldProductInfoMapper.insert(investmentPlanRealGoldProductInfo); + } + } + } } } - stuInvestmentPlan.setCaseInvestmentPlanId(IdUtil.randomUUID()); - investmentPlanMapper.insert(stuInvestmentPlan); - //比较正确答案 - wrongCount = getCaseInvestmentPlan(wrongCount, stuInvestmentPlan); + wrongCount = getCaseInvestmentPlan(wrongCount, investmentPlan); } if (type.equals("税务筹划")) { @@ -1354,7 +1503,8 @@ public class CaseServiceImpl implements CaseService { wrongCount = getCaseHeritageWrongCount(wrongCount, stuData); } } - } catch (Exception e) { + } catch ( + Exception e) { e.printStackTrace(); throw new RuntimeException("实训提交失败"); } 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 index ffafe6d..48782c1 100644 --- a/src/main/java/com/sztzjy/money_management/service/impl/ComputeServiceImpl.java +++ b/src/main/java/com/sztzjy/money_management/service/impl/ComputeServiceImpl.java @@ -4,10 +4,13 @@ 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 com.sztzjy.money_management.util.ResultEntity; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.http.HttpStatus; import org.springframework.stereotype.Service; import java.math.BigDecimal; +import java.math.RoundingMode; /** * @Author xcj @@ -19,7 +22,7 @@ public class ComputeServiceImpl implements ComputeService { private InsuranceProMapper insuranceProMapper; @Override - public BigDecimal getAnnualPremium(CaseInvestmentPlanInsuranceProductInfo productInfo) { + public ResultEntity<BigDecimal> getAnnualPremium(CaseInvestmentPlanInsuranceProductInfo productInfo) { Integer age = productInfo.getAge(); //年齢 String gender = productInfo.getGender(); //性別 String insurancePeriod = productInfo.getInsurancePeriod(); //保险年数 @@ -29,1694 +32,2284 @@ public class ComputeServiceImpl implements ComputeService { 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) { + BigDecimal fee = null; 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 type1(age, gender, insurancePeriod, paymentMethod, insuranceAmount, fee); //18岁-50岁 } - 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 type2(age, gender, paymentMethod, fee); //0岁-17岁之间 } - 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 type3(age, gender, fee); //18-55 } - 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 type4(age, gender, insurancePeriod, paymentMethod, insuranceAmount, fee); //18~50 + } + if (name.equals("i守护定期寿险")) { + return type5(age, gender, insurancePeriod, paymentMethod, insuranceAmount, fee); //0岁-50岁 + } + if (name.equals("百万任我行两全保险")) { + return type6(age, fee, insurancePeriod); //18~55 + } + if (name.equals("安康福瑞两全寿险B款")) { + return type8(age, gender, insurancePeriod, paymentMethod, fee); //0岁-50岁 + } + if (name.equals("平安福终身寿险")) { + return type9(age, gender, paymentMethod, fee);//0岁-65岁 + } + if (name.equals("少儿平安福终身寿险")) { + return type10(age, gender, paymentMethod, fee);//0岁-17岁 + } + if (name.equals("鑫如意终身寿险")) { + return type11(age, gender, paymentMethod, fee);//0岁-70岁 + } + if (name.equals("一生保终身寿险")) { + return type12(age, gender, paymentMethod, fee); //0岁-50岁 + } + if (name.equals("福享安康定期重疾险")) { + return type13(age, gender, fee);//0岁-50岁 + } + if (name.equals("合众定期重疾险")) { + return type14(age, gender, insurancePeriod, paymentMethod, fee);//0岁-50岁 + } + if (name.equals("平安尊优人生全球医疗保险")) { + return type15(age, fee);//0岁-65岁 + } + if (name.equals("抗癌卫士医疗险")) { + return type16(age, gender, fee);//0岁-55岁 + } + if (name.equals("护身福重疾险")) { + return type17(age, gender, fee, paymentMethod); //0岁-55岁 + } + if (name.equals("乐享福重疾险")) { + return type18(age, gender, fee, paymentMethod); //0岁-64岁 + } + if (name.equals("平安福重疾险")) { + return type19(age, gender, fee, paymentMethod); //18岁-55岁之间 + } + if (name.equals("少儿重疾险")) { + return type20(age, gender, fee, paymentMethod); //0岁-17岁 + } + if (name.equals("乐安康终身重疾险")) { + return type21(age, gender, fee, paymentMethod); //0岁-64岁 } - return fee; + if (name.equals("康健一生终身重疾险")) { + return type22(age, gender, fee, paymentMethod); //0岁-55岁 + } + if (name.equals("安康住院费用医疗保险")) { + return type25(age, fee);//0岁-65岁 + } + if (name.equals("真爱关心住院费用补贴险")) { + return type26(age, gender, fee);//18岁-50岁 + } + if (name.equals("i相随交通工具意外伤害险")) { + return type27(age, fee);//0岁-65岁 + } + if (name.equals("平安旅行意外伤害保险")) { + return type28(age, fee);//0岁-80岁 + } + if (name.equals("长期意外伤害险")) { + return type29(age, paymentMethod, fee);//18岁-65岁 + } + if (name.equals("少儿长期意外伤害保险")) { + return type30(age, paymentMethod, fee);//0岁-17岁 + } + if (name.equals("优乐保人身意外伤害保险")) { + return type31(age, fee);//0岁-65岁 + } + if (name.equals("意安心人身意外险")) { + return type32(age, fee, insuranceAmount);//0岁-63岁 + } + if (name.equals("护身福终身寿险(分红型)")) { + return type33(age, gender, fee, paymentMethod); //todo age必须大于18小于55 + } + if (name.equals("世纪天使分红保险")) { + return type34(age, gender, fee, paymentMethod); //todo age 0~17之间 + } + if (name.equals("守护星少儿两全保险")) { + return type35(age, gender, fee, paymentMethod); //todo age 0~17之间 + } + if (name.equals("鑫利两全保险(分红型)")) { + return type36(age, gender, fee, paymentMethod); //todo age 0~60之间 + } + if (name.equals("鑫盛2012终身寿险(分红型)")) { + return type37(age, gender, fee, paymentMethod); //todo age 0~65之间 + } + if (name.equals("关爱e生两全保险(分红型)")) { + return type38(age, gender, fee, paymentMethod); //todo age 0~60之间 + } + if (name.equals("锦绣前程少儿两全保险A款(分红型)")) { + return type39(age, gender, fee, paymentMethod); //todo age 0~15之间 + } + return new ResultEntity<BigDecimal>(HttpStatus.INTERNAL_SERVER_ERROR, "服务器错误!请联系管理员"); } - private BigDecimal type5(Integer age, String gender, String insurancePeriod, String paymentMethod, BigDecimal insuranceAmount, String name, BigDecimal fee) { - if (name.equals("i守护定期寿险")) { - // 保10年 + + private ResultEntity<BigDecimal> type1(Integer age, String gender, String insurancePeriod, String paymentMethod, BigDecimal insuranceAmount, BigDecimal fee) { + if (age > 50 || age < 18) { + return new ResultEntity<BigDecimal>(HttpStatus.OK, "被保人年龄必须在18~50之间"); + } + if (paymentMethod.equals("趸交")) { 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("趸交")) { + if (insuranceAmount.compareTo(BigDecimal.valueOf(100000)) == 0) { 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年交")) { + new BigDecimal(-1883.25).add(new BigDecimal(123.625).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-1434).add(new BigDecimal(88).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (insuranceAmount.compareTo(BigDecimal.valueOf(200000)) == 0) { 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年交")) { + new BigDecimal(-3766.5).add(new BigDecimal(247.25).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-2868).add(new BigDecimal(176).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (insuranceAmount.compareTo(BigDecimal.valueOf(300000)) == 0) { 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年交")) { + new BigDecimal(-5649.75).add(new BigDecimal(370.875).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-4302).add(new BigDecimal(264).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (insuranceAmount.compareTo(BigDecimal.valueOf(400000)) == 0) { 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年交")) { + new BigDecimal(-7533).add(new BigDecimal(494.5).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-5736).add(new BigDecimal(352).multiply(new BigDecimal(age)).setScale(2, RoundingMode.HALF_UP)); + } else if (insuranceAmount.compareTo(BigDecimal.valueOf(500000)) == 0) { 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))); + new BigDecimal(-9416.25).add(new BigDecimal(618.125).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-7170).add(new BigDecimal(440).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); } + } else if (insurancePeriod.equals("20年")) { + fee = gender.equals("男") ? + new BigDecimal(-7612.25).add(new BigDecimal(416.125).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-6058).add(new BigDecimal(313).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (insurancePeriod.equals("30年")) { + fee = gender.equals("男") ? + new BigDecimal(-6543.75).add(new BigDecimal(485.875).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-11720).add(new BigDecimal(636.5).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); } - // 至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))); - } + } 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))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-338).add(new BigDecimal(21).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (insuranceAmount.compareTo(BigDecimal.valueOf(200000)) == 0) { + fee = gender.equals("男") ? + new BigDecimal(-924).add(new BigDecimal(60).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-676).add(new BigDecimal(42).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (insuranceAmount.compareTo(BigDecimal.valueOf(300000)) == 0) { + fee = gender.equals("男") ? + new BigDecimal(-1386).add(new BigDecimal(90).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-1014).add(new BigDecimal(63).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); } - // 至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))); - } + } else if (paymentMethod.equals("10年交")) { + if (insurancePeriod.equals("20年")) { + fee = gender.equals("男") ? + new BigDecimal(-918).add(new BigDecimal(50).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-727).add(new BigDecimal(37.5).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (insurancePeriod.equals("30年")) { + fee = gender.equals("男") ? + new BigDecimal(-858.9818).add(new BigDecimal(61.49091).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-706.6545).add(new BigDecimal(46.32727).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); } - // 至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))); - } + } 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))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-400.9455).add(new BigDecimal(26.47273).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); } } - return fee; + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); } - private BigDecimal type6(Integer age, String gender, String name, BigDecimal fee) { - if (name.equals("百万任我行两全保险")) { + private ResultEntity<BigDecimal> type2(Integer age, String gender, String paymentMethod, BigDecimal fee) { + if (age < 0 || age > 17) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~17之间"); + } + if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(122.3643).subtract(new BigDecimal(3.337104).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(69.36086).subtract(new BigDecimal(2.483032).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("10年交")) { 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))); + new BigDecimal(62).subtract(new BigDecimal(1.4196832).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(36.60068).subtract(new BigDecimal(1.170814).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(43.63014).subtract(new BigDecimal(1.027397).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(27.6484).subtract(new BigDecimal(1.347032).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(35.78947).subtract(new BigDecimal(1.052632).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(24.60526).subtract(new BigDecimal(1.973684).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); } - return fee; + return new ResultEntity<BigDecimal>(HttpStatus.OK, 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)); - } - } + private ResultEntity<BigDecimal> type3(Integer age, String gender, BigDecimal fee) { + if (age < 18 || age > 55) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在18~55之间"); } - return fee; + fee = gender.equals("男") ? + new BigDecimal(-293.0923).add(new BigDecimal(14.58803).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-204.1251).add(new BigDecimal(9.615645).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); } - // 平安福终身寿险 - private BigDecimal type9(Integer age, String gender, String paymentMethod, String name, BigDecimal fee) { - if (name.equals("平安福终身寿险")) { + private ResultEntity<BigDecimal> type4(Integer age, String gender, String insurancePeriod, String paymentMethod, BigDecimal insuranceAmount, BigDecimal fee) { + if (age < 18 || age > 50) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在18~50之间"); + } + if (insurancePeriod.equals("20年")) { 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)); + new BigDecimal(-4081.625).add(new BigDecimal(210.3125).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-2876).add(new BigDecimal(138).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(-918.375).add(new BigDecimal(47.1875).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-644.75).add(new BigDecimal(30.875).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); } 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)); + new BigDecimal(-493.625).add(new BigDecimal(25.3125).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-344).add(new BigDecimal(16.5).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); } 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)); + new BigDecimal(-357.5).add(new BigDecimal(18.25).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-243.375).add(new BigDecimal(11.6875).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); } 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年交")) { + new BigDecimal(-288.375).add(new BigDecimal(14.6875).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-201).add(new BigDecimal(9.5).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } + } else if (insurancePeriod.equals("30年")) { + if (paymentMethod.equals("趸交")) { + fee = gender.equals("男") ? + new BigDecimal(-3897.782).add(new BigDecimal(257.8909).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-2832.927).add(new BigDecimal(169.4636).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(-870).add(new BigDecimal(57.54545).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-630.4545).add(new BigDecimal(37.72727).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(-467.5273).add(new BigDecimal(30.76364).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-641.4545).add(new BigDecimal(37.72727).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(-332.7455).add(new BigDecimal(21.87273).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-335.0909).add(new BigDecimal(20.04545).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("20年交")) { 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)); + new BigDecimal(-265.9818).add(new BigDecimal(17.49091).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-193.8909).add(new BigDecimal(11.44545).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); } - } - return fee; - } - - // 少儿平安福终身寿险 - private BigDecimal type10(Integer age, String gender, String paymentMethod, String name, BigDecimal fee) { - if (name.equals("少儿平安福终身寿险")) { - if (paymentMethod.equals("10年交")) { + } else if (insurancePeriod.equals("至60岁")) { + if (paymentMethod.equals("趸交")) { + fee = gender.equals("男") ? + new BigDecimal(2763.25).add(new BigDecimal(1.375).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(1387.5).add(new BigDecimal(5.75).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("5年交")) { 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)); + new BigDecimal(616.375).add(new BigDecimal(0.3125).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(308.375).add(new BigDecimal(1.3125).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(321.25).add(new BigDecimal(0.375).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(165.75).add(new BigDecimal(0.625).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); } 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)); + new BigDecimal(205.75).add(new BigDecimal(1.125).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(103.123).add(new BigDecimal(0.9375).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); } 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)); + new BigDecimal(143.125).add(new BigDecimal(1.6875).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(81.25).add(new BigDecimal(0.875).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); } - } - return fee; - } - - // 鑫如意终身寿险 - private BigDecimal type11(Integer age, String gender, String paymentMethod, String name, BigDecimal fee) { - if (name.equals("鑫如意终身寿险")) { - if (paymentMethod.equals("五年交")) { + } else if (insurancePeriod.equals("至70岁")) { + 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("十年交")) { + new BigDecimal(3229.125).add(new BigDecimal(94.9375).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(1761.75).add(new BigDecimal(66.625).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(714.25).add(new BigDecimal(21.375).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(388).add(new BigDecimal(15).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(714.25).add(new BigDecimal(21.375).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(203.875).add(new BigDecimal(8.0625).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("15年交")) { 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("二十年交")) { + new BigDecimal(254.75).add(new BigDecimal(8.625).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(144.5).add(new BigDecimal(5.75).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("20年交")) { 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)); + new BigDecimal(196.75).add(new BigDecimal(7.125).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(108.5).add(new BigDecimal(4.75).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); } } - return fee; + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); } - // 一生保终身寿险 - private BigDecimal type12(Integer age, String gender, String paymentMethod, String name, BigDecimal fee) { - if (name.equals("一生保终身寿险")) { + private ResultEntity<BigDecimal> type5(Integer age, String gender, String insurancePeriod, String paymentMethod, BigDecimal insuranceAmount, BigDecimal fee) { + if (age < 0 || age > 50) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在18~50之间"); + } + // 保10年 + if (insurancePeriod.equals("10年")) { 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年交")) { + new BigDecimal(-6916.688).add(new BigDecimal(290.8912).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-5097.211).add(new BigDecimal(205.7217).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(-1479.402).add(new BigDecimal(62.41462).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-1092.94).add(new BigDecimal(44.24146).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(-808.8295).add(new BigDecimal(33.89869).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-584.1145).add(new BigDecimal(23.70319).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } + } + // 保20年 + else if (insurancePeriod.equals("20年")) { + if (paymentMethod.equals("趸交")) { 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)); + new BigDecimal(-8486.75).add(new BigDecimal(434.375).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-6494.75).add(new BigDecimal(310.375).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); } 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)); + new BigDecimal(-1840).add(new BigDecimal(94).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-1400).add(new BigDecimal(67).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); } 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年交")) { + new BigDecimal(-978).add(new BigDecimal(50).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-753.75).add(new BigDecimal(35.875).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(-587.25).add(new BigDecimal(29.625).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-433.25).add(new BigDecimal(20.625).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } + } + // 保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))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-6510.508).add(new BigDecimal(380.9697).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("5年交")) { 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)); + new BigDecimal(-1776.346).add(new BigDecimal(114.8417).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-1404.07).add(new BigDecimal(82.3153).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(-948.1926).add(new BigDecimal(61.09499).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-747.6319).add(new BigDecimal(43.66095).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); } 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)); + new BigDecimal(-535.8245).add(new BigDecimal(34.75594).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-427.3153).add(new BigDecimal(24.87467).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("30年交")) { + fee = gender.equals("男") ? + new BigDecimal(-424.0765).add(new BigDecimal(26.87335).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-327.5528).add(new BigDecimal(18.96438).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); } } - 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))); + // 至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))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(2014.461).subtract(new BigDecimal(17.46647).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(832.0417).subtract(new BigDecimal(7.615499).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(434.0934).subtract(new BigDecimal(3.710879).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(446.0507).subtract(new BigDecimal(4.247395).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(227.2429).subtract(new BigDecimal(1.833085).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(215.5).subtract(new BigDecimal(0.75).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(108.5).subtract(new BigDecimal(0.25).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } } - return fee; + // 至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))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(3246.388).add(new BigDecimal(9.243957).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("2年交")) { + fee = gender.equals("男") ? + new BigDecimal(1277.732).subtract(new BigDecimal(0.7588533).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(700.7757).add(new BigDecimal(2.006745).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(667.9202).subtract(new BigDecimal(0.1630129).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(367.8415).add(new BigDecimal(1.155143).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(298.7779).add(new BigDecimal(3.025335).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(167.531).add(new BigDecimal(2.250373).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("30年交")) { + fee = gender.equals("男") ? + new BigDecimal(196).add(new BigDecimal(3.5).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(105).add(new BigDecimal(2.5).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } + } + // 至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))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(5451.137).add(new BigDecimal(103.0999).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(1917.01).add(new BigDecimal(27.44948).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(1184.544).add(new BigDecimal(22.1204).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(993.5714).add(new BigDecimal(15.35714).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(611.5801).add(new BigDecimal(12.22285).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(404.2983).add(new BigDecimal(14.03256).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(240.2545).add(new BigDecimal(10.40419).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("30年交")) { + fee = gender.equals("男") ? + new BigDecimal(279.1951).add(new BigDecimal(11.44611).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(169.7271).add(new BigDecimal(8.117326).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } + } + return new ResultEntity<BigDecimal>(HttpStatus.OK, 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))); + + private ResultEntity<BigDecimal> type6(Integer age, BigDecimal fee, String insurancePeriod) { + if (age < 18 || age > 55) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在18~55之间"); + } + if (insurancePeriod.equals("20年")) { + if (age > 18 && age <= 40) { + fee = new BigDecimal(2339); + } + if (age > 40 && age <= 50) { + fee = new BigDecimal(2458); + } + if (age > 50 && age <= 55) { + fee = new BigDecimal(2984); + } + } + if (insurancePeriod.equals("30年")) { + if (age > 18 && age <= 40) { + fee = new BigDecimal(1472); + } + } + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + + private ResultEntity<BigDecimal> type8(Integer age, String gender, String insurancePeriod, String paymentMethod, BigDecimal fee) { + if (age < 0 || age > 50) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~50之间"); + } + // 至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)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(138.9243).multiply(new BigDecimal(age)).add(new BigDecimal(736.2398)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(66.31167).multiply(new BigDecimal(age)).add(new BigDecimal(560.4141)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(68.12841).multiply(new BigDecimal(age)).add(new BigDecimal(530.5551)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(43.43579).multiply(new BigDecimal(age)).add(new BigDecimal(468.8614)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(44.36105).multiply(new BigDecimal(age)).add(new BigDecimal(451.793)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(32.17622).multiply(new BigDecimal(age)).add(new BigDecimal(419.5518)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(32.70488).multiply(new BigDecimal(age)).add(new BigDecimal(407.2073)).setScale(2, RoundingMode.HALF_UP); + } + } + // 至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)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(101.6416).multiply(new BigDecimal(age)).add(new BigDecimal(349.0765)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(51.79954).multiply(new BigDecimal(age)).add(new BigDecimal(204.1393)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(57.17968).multiply(new BigDecimal(age)).add(new BigDecimal(166.6975)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(33.93669).multiply(new BigDecimal(age)).add(new BigDecimal(212.7637)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(37.17765).multiply(new BigDecimal(age)).add(new BigDecimal(194.337)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(25.11863).multiply(new BigDecimal(age)).add(new BigDecimal(213.2164)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(27.25096).multiply(new BigDecimal(age)).add(new BigDecimal(204.2685)).setScale(2, RoundingMode.HALF_UP); + } + } + // 至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)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(57.19064).multiply(new BigDecimal(age)).add(new BigDecimal(277.605)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(28.35662).multiply(new BigDecimal(age)).add(new BigDecimal(199.9806)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(32.19155).multiply(new BigDecimal(age)).add(new BigDecimal(137.8265)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(19.14642).multiply(new BigDecimal(age)).add(new BigDecimal(170.8498)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(21.21195).multiply(new BigDecimal(age)).add(new BigDecimal(136.6672)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(14.49041).multiply(new BigDecimal(age)).add(new BigDecimal(157.3151)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(15.50137).multiply(new BigDecimal(age)).add(new BigDecimal(135.3836)).setScale(2, RoundingMode.HALF_UP); + } + } + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + // 平安福终身寿险 + private ResultEntity<BigDecimal> type9(Integer age, String gender, String paymentMethod, BigDecimal fee) { + if (age < 0 || age > 65) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~65之间"); + } + if (paymentMethod.equals("趸交")) { + fee = gender.equals("男") ? + new BigDecimal(543.2694).multiply(new BigDecimal(age)).subtract(new BigDecimal(4834.593)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(15.50137).multiply(new BigDecimal(age)).add(new BigDecimal(135.3836)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(74.61229).multiply(new BigDecimal(age)).subtract(new BigDecimal(512.8383)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(67.07388).multiply(new BigDecimal(age)).subtract(new BigDecimal(521.4685)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(54.8098).multiply(new BigDecimal(age)).subtract(new BigDecimal(412.383)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(48.65399).multiply(new BigDecimal(age)).subtract(new BigDecimal(400.3255)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(46.90746).multiply(new BigDecimal(age)).subtract(new BigDecimal(396.3661)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(40.96928).multiply(new BigDecimal(age)).subtract(new BigDecimal(360.4042)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("30年交")) { + fee = gender.equals("男") ? + new BigDecimal(30.08859).multiply(new BigDecimal(age)).subtract(new BigDecimal(131.8172)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(26.06742).multiply(new BigDecimal(age)).subtract(new BigDecimal(124.9438)).setScale(2, RoundingMode.HALF_UP); + } + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + // 少儿平安福终身寿险 + private ResultEntity<BigDecimal> type10(Integer age, String gender, String paymentMethod, BigDecimal fee) { + if (age < 0 || age > 17) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~17之间"); + } + if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(32.03054).multiply(new BigDecimal(age)).add(new BigDecimal(669.3495)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(34.6776).multiply(new BigDecimal(age)).add(new BigDecimal(474.6437)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(23.4276).multiply(new BigDecimal(age)).add(new BigDecimal(485.8937)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(19.95475).multiply(new BigDecimal(age)).add(new BigDecimal(413.371)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(19.01018).multiply(new BigDecimal(age)).add(new BigDecimal(388.1165)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(16.13688).multiply(new BigDecimal(age)).add(new BigDecimal(329.6776)).setScale(2, RoundingMode.HALF_UP); + } + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + // 鑫如意终身寿险 + private ResultEntity<BigDecimal> type11(Integer age, String gender, String paymentMethod, BigDecimal fee) { + if (age < 0 || age > 70) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~70之间"); + } + if (paymentMethod.equals("五年交")) { + fee = gender.equals("男") ? + new BigDecimal(61.08333).multiply(new BigDecimal(age)).add(new BigDecimal(16305.83)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(89.44048).multiply(new BigDecimal(age)).add(new BigDecimal(15930.83)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("十年交")) { + fee = gender.equals("男") ? + new BigDecimal(46.71429).multiply(new BigDecimal(age)).add(new BigDecimal(8790)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(46.53571).multiply(new BigDecimal(age)).add(new BigDecimal(8576.786)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("二十年交")) { + fee = gender.equals("男") ? + new BigDecimal(26.34286).multiply(new BigDecimal(age)).add(new BigDecimal(5271.429)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(26.34286).multiply(new BigDecimal(age)).add(new BigDecimal(5151.429)).setScale(2, RoundingMode.HALF_UP); + } + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + // 一生保终身寿险 + private ResultEntity<BigDecimal> type12(Integer age, String gender, String paymentMethod, BigDecimal fee) { + if (age < 0 || age > 50) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~50之间"); + } + if (paymentMethod.equals("趸交")) { + fee = gender.equals("男") ? + new BigDecimal(757.3143).multiply(new BigDecimal(age)).add(new BigDecimal(5271.429)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(683.6543).multiply(new BigDecimal(age)).add(new BigDecimal(5113.476)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("3年交")) { + fee = gender.equals("男") ? + new BigDecimal(261.9657).multiply(new BigDecimal(age)).add(new BigDecimal(2226.524)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(235.9457).multiply(new BigDecimal(age)).add(new BigDecimal(1754.857)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(163.1086).multiply(new BigDecimal(age)).add(new BigDecimal(1370.952)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(146.5457).multiply(new BigDecimal(age)).add(new BigDecimal(1083.19)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(89.67429).multiply(new BigDecimal(age)).add(new BigDecimal(729.8095)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(80.07429).multiply(new BigDecimal(age)).add(new BigDecimal(579.8095)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(65.97143).multiply(new BigDecimal(age)).add(new BigDecimal(513.7143)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(58.46571).multiply(new BigDecimal(age)).add(new BigDecimal(411.1905)).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(54.85714).multiply(new BigDecimal(age)).add(new BigDecimal(401.2381)).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(48.41714).multiply(new BigDecimal(age)).add(new BigDecimal(322.9048)).setScale(2, RoundingMode.HALF_UP); + } + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + private ResultEntity<BigDecimal> type13(Integer age, String gender, BigDecimal fee) { + if (age < 0 || age > 50) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~50之间"); + } + fee = gender.equals("男") ? + new BigDecimal(384).add(new BigDecimal(13.1).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(505).add(new BigDecimal(8.7).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + private ResultEntity<BigDecimal> type14(Integer age, String gender, String insurancePeriod, String paymentMethod, BigDecimal fee) { + if (age < 0 || age > 50) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~50之间"); + } + if (insurancePeriod.equals("20年")) { + if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(-1374.5).add(new BigDecimal(101.85).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-1057).add(new BigDecimal(79.4).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(-802).add(new BigDecimal(57.3).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-558.5).add(new BigDecimal(42.95).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(-579).add(new BigDecimal(41.7).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-434.5).add(new BigDecimal(31.85).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(-495).add(new BigDecimal(35).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-366.5).add(new BigDecimal(26.45).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } + } 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))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-840).add(new BigDecimal(93.2).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(-585).add(new BigDecimal(63.65).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-462.5).add(new BigDecimal(50.65).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(-425).add(new BigDecimal(45.8).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-332.5).add(new BigDecimal(36.25).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(-355).add(new BigDecimal(37.45).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-275).add(new BigDecimal(29.45).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } + } else if (insurancePeriod.equals("至60岁")) { + if (paymentMethod.equals("5年交")) { + fee = gender.equals("男") ? + new BigDecimal(1444).add(new BigDecimal(11.7).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(1189.5).add(new BigDecimal(8.25).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(759.5).add(new BigDecimal(7.15).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(629).add(new BigDecimal(4.9).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(460).add(new BigDecimal(9).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(372.5).add(new BigDecimal(7.1).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(362.5).add(new BigDecimal(7.5).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(290).add(new BigDecimal(6.05).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } + } 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))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(1440.5).add(new BigDecimal(43.35).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("10年交")) { + fee = gender.equals("男") ? + new BigDecimal(895.5).add(new BigDecimal(32.95).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(752.5).add(new BigDecimal(24.45).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("15年交")) { + fee = gender.equals("男") ? + new BigDecimal(597).add(new BigDecimal(25.2).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(511.5).add(new BigDecimal(18.35).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("20年交")) { + fee = gender.equals("男") ? + new BigDecimal(440.5).add(new BigDecimal(22.05).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(389).add(new BigDecimal(15.7).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } + } + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + + private ResultEntity<BigDecimal> type15(Integer age, BigDecimal fee) { + if (age < 0 || age > 65) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~65之间"); + } + fee = new BigDecimal(-7472.6).add(new BigDecimal(925.3077).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + private ResultEntity<BigDecimal> type16(Integer age, String gender, BigDecimal fee) { + if (age < 0 || age > 55) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~55之间"); + } + fee = gender.equals("男") ? + new BigDecimal(-895.3).add(new BigDecimal(48.27273).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-668.5).add(new BigDecimal(41.86364).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + + private ResultEntity<BigDecimal> type17(Integer age, String gender, BigDecimal fee, String paymentMethod) { + if (age < 0 || age > 55) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~55之间"); + } + if (paymentMethod.equals("10年交")) { + if (age > 18 && age <= 25) { + fee = gender.equals("男") ? new BigDecimal(635) : new BigDecimal(730); + } + if (age > 25 && age <= 33) { + fee = gender.equals("男") ? new BigDecimal(750) : new BigDecimal(840); + } + if (age > 33 && age <= 41) { + fee = gender.equals("男") ? new BigDecimal(880) : new BigDecimal(955); + } + if (age > 41 && age <= 48) { + fee = new BigDecimal(1070); + } + if (age > 48 && age <= 55) { + fee = gender.equals("男") ? new BigDecimal(1305) : new BigDecimal(1150); + } + } + + if (paymentMethod.equals("15年交")) { + if (age > 18 && age <= 25) { + fee = gender.equals("男") ? new BigDecimal(445) : new BigDecimal(515); + } + if (age > 25 && age <= 33) { + fee = gender.equals("男") ? new BigDecimal(530) : new BigDecimal(595); + } + if (age > 33 && age <= 41) { + fee = gender.equals("男") ? new BigDecimal(635) : new BigDecimal(690); + } + if (age > 41 && age <= 48) { + fee = gender.equals("男") ? new BigDecimal(820) : new BigDecimal(800); + } + if (age > 48 && age <= 55) { + fee = gender.equals("男") ? new BigDecimal(1070) : new BigDecimal(895); + } + } + + if (paymentMethod.equals("20年交")) { + if (age > 18 && age <= 25) { + fee = gender.equals("男") ? new BigDecimal(360) : new BigDecimal(410); + } + if (age > 25 && age <= 33) { + fee = gender.equals("男") ? new BigDecimal(430) : new BigDecimal(480); + } + if (age > 33 && age <= 41) { + fee = gender.equals("男") ? new BigDecimal(535) : new BigDecimal(575); + } + if (age > 41 && age <= 48) { + fee = gender.equals("男") ? new BigDecimal(735) : new BigDecimal(690); + } + if (age > 48 && age <= 55) { + fee = gender.equals("男") ? new BigDecimal(1005) : new BigDecimal(805); + } + } + + if (paymentMethod.equals("30年交")) { + if (age > 18 && age <= 25) { + fee = gender.equals("男") ? new BigDecimal(270) : new BigDecimal(310); + } + if (age > 25 && age <= 33) { + fee = gender.equals("男") ? new BigDecimal(340) : new BigDecimal(375); + } + if (age > 33 && age <= 41) { + fee = gender.equals("男") ? new BigDecimal(460) : new BigDecimal(470); + } + if (age > 41 && age <= 48) { + fee = gender.equals("男") ? new BigDecimal(685) : new BigDecimal(470); + } + } + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + //乐享福重疾险 0-12/13-25/26-38/39-51/52-64 + private ResultEntity<BigDecimal> type18(Integer age, String gender, BigDecimal fee, String paymentMethod) { + if (age < 0 || age > 64) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~64之间"); + } + if (paymentMethod.equals("趸交")) { + if (age > 0 && age <= 12) { + fee = gender.equals("男") ? new BigDecimal(14605) : new BigDecimal(13820); + } + if (age > 12 && age <= 25) { + fee = gender.equals("男") ? new BigDecimal(21450) : new BigDecimal(20030); + } + if (age > 25 && age <= 38) { + fee = gender.equals("男") ? new BigDecimal(32180) : new BigDecimal(29485); + } + if (age > 38 && age <= 51) { + fee = gender.equals("男") ? new BigDecimal(47735) : new BigDecimal(42830); + } + if (age > 51 && age <= 64) { + fee = gender.equals("男") ? new BigDecimal(66960) : new BigDecimal(59400); + } + } + if (paymentMethod.equals("5年交")) { + if (age > 0 && age <= 12) { + fee = gender.equals("男") ? new BigDecimal(3245) : new BigDecimal(3075); + } + if (age > 12 && age <= 25) { + fee = gender.equals("男") ? new BigDecimal(4765) : new BigDecimal(4455); + } + if (age > 25 && age <= 38) { + fee = gender.equals("男") ? new BigDecimal(7165) : new BigDecimal(6565); + } + if (age > 38 && age <= 51) { + fee = gender.equals("男") ? new BigDecimal(10700) : new BigDecimal(9600); + } + if (age > 51 && age <= 64) { + fee = gender.equals("男") ? new BigDecimal(15655) : new BigDecimal(13595); + } + } + if (paymentMethod.equals("10年交")) { + if (age > 0 && age <= 12) { + fee = gender.equals("男") ? new BigDecimal(1705) : new BigDecimal(1615); + } + if (age > 12 && age <= 25) { + fee = gender.equals("男") ? new BigDecimal(2505) : new BigDecimal(2340); + } + if (age > 25 && age <= 38) { + fee = gender.equals("男") ? new BigDecimal(3770) : new BigDecimal(3460); + } + if (age > 38 && age <= 51) { + fee = gender.equals("男") ? new BigDecimal(5700) : new BigDecimal(5110); + } + if (age > 51 && age <= 64) { + fee = gender.equals("男") ? new BigDecimal(8895) : new BigDecimal(7450); + } + } + if (paymentMethod.equals("15年交")) { + if (age > 0 && age <= 12) { + fee = gender.equals("男") ? new BigDecimal(1240) : new BigDecimal(1175); + } + if (age > 12 && age <= 25) { + fee = gender.equals("男") ? new BigDecimal(1820) : new BigDecimal(1705); + } + if (age > 25 && age <= 38) { + fee = gender.equals("男") ? new BigDecimal(2750) : new BigDecimal(2525); + } + if (age > 38 && age <= 51) { + fee = gender.equals("男") ? new BigDecimal(4235) : new BigDecimal(3780); + } + } + if (paymentMethod.equals("20年交")) { + if (age > 0 && age <= 12) { + fee = gender.equals("男") ? new BigDecimal(1065) : new BigDecimal(1010); + } + if (age > 12 && age <= 25) { + fee = gender.equals("男") ? new BigDecimal(1565) : new BigDecimal(1465); + } + if (age > 25 && age <= 38) { + fee = gender.equals("男") ? new BigDecimal(2375) : new BigDecimal(2185); + } + if (age > 38 && age <= 51) { + fee = gender.equals("男") ? new BigDecimal(3785) : new BigDecimal(3325); + } + } + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + //平安福重疾险 18-25/26-33/34-41/42-48/49-55 + private ResultEntity<BigDecimal> type19(Integer age, String gender, BigDecimal fee, String paymentMethod) { + if (age < 0 || age > 55) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~55之间"); + } + if (paymentMethod.equals("10年交")) { + if (age > 18 && age <= 25) { + fee = gender.equals("男") ? new BigDecimal(580) : new BigDecimal(660); + } + if (age > 25 && age <= 33) { + fee = gender.equals("男") ? new BigDecimal(725) : new BigDecimal(800); + } + if (age > 33 && age <= 41) { + fee = gender.equals("男") ? new BigDecimal(905) : new BigDecimal(960); + } + if (age > 41 && age <= 48) { + fee = gender.equals("男") ? new BigDecimal(1150) : new BigDecimal(1120); + } + if (age > 48 && age <= 55) { + fee = gender.equals("男") ? new BigDecimal(1410) : new BigDecimal(1230); + } + } + if (paymentMethod.equals("15年交")) { + if (age > 18 && age <= 25) { + fee = gender.equals("男") ? new BigDecimal(410) : new BigDecimal(465); + } + if (age > 25 && age <= 33) { + fee = gender.equals("男") ? new BigDecimal(515) : new BigDecimal(565); + } + if (age > 33 && age <= 41) { + fee = gender.equals("男") ? new BigDecimal(650) : new BigDecimal(690); + } + if (age > 41 && age <= 48) { + fee = gender.equals("男") ? new BigDecimal(860) : new BigDecimal(825); + } + if (age > 48 && age <= 55) { + fee = gender.equals("男") ? new BigDecimal(1115) : new BigDecimal(935); + } + } + if (paymentMethod.equals("20年交")) { + if (age > 18 && age <= 25) { + fee = gender.equals("男") ? new BigDecimal(340) : new BigDecimal(390); + } + if (age > 25 && age <= 33) { + fee = gender.equals("男") ? new BigDecimal(435) : new BigDecimal(480); + } + if (age > 33 && age <= 41) { + fee = gender.equals("男") ? new BigDecimal(560) : new BigDecimal(590); + } + if (age > 41 && age <= 48) { + fee = gender.equals("男") ? new BigDecimal(780) : new BigDecimal(725); + } + if (age > 48 && age <= 55) { + fee = gender.equals("男") ? new BigDecimal(1060) : new BigDecimal(855); + } + } + if (paymentMethod.equals("30年交")) { + if (age > 18 && age <= 25) { + fee = gender.equals("男") ? new BigDecimal(270) : new BigDecimal(305); + } + if (age > 25 && age <= 33) { + fee = gender.equals("男") ? new BigDecimal(350) : new BigDecimal(385); + } + if (age > 33 && age <= 41) { + fee = gender.equals("男") ? new BigDecimal(485) : new BigDecimal(490); + } + if (age > 41 && age <= 48) { + fee = gender.equals("男") ? new BigDecimal(720) : new BigDecimal(635); + } + } + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + //少儿重疾险 0-3/4-7/8-11/12-15/16-17 + private ResultEntity<BigDecimal> type20(Integer age, String gender, BigDecimal fee, String paymentMethod) { + if (age < 0 || age > 17) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~17之间"); + } + if (paymentMethod.equals("10年交")) { + if (age > 0 && age <= 3) { + fee = gender.equals("男") ? new BigDecimal(775) : new BigDecimal(700); + } + if (age > 3 && age <= 7) { + fee = gender.equals("男") ? new BigDecimal(870) : new BigDecimal(785); + } + if (age > 7 && age <= 11) { + fee = gender.equals("男") ? new BigDecimal(980) : new BigDecimal(880); + } + if (age > 11 && age <= 15) { + fee = gender.equals("男") ? new BigDecimal(1110) : new BigDecimal(990); + } + if (age > 15 && age <= 17) { + fee = gender.equals("男") ? new BigDecimal(1255) : new BigDecimal(1115); + } + } + + if (paymentMethod.equals("15年交")) { + if (age > 0 && age <= 3) { + fee = gender.equals("男") ? new BigDecimal(555) : new BigDecimal(505); + } + if (age > 3 && age <= 7) { + fee = gender.equals("男") ? new BigDecimal(625) : new BigDecimal(565); + } + if (age > 7 && age <= 11) { + fee = gender.equals("男") ? new BigDecimal(705) : new BigDecimal(635); + } + if (age > 11 && age <= 15) { + fee = gender.equals("男") ? new BigDecimal(795) : new BigDecimal(710); + } + if (age > 15 && age <= 17) { + fee = gender.equals("男") ? new BigDecimal(900) : new BigDecimal(800); + } + } + if (paymentMethod.equals("20年交")) { + if (age > 0 && age <= 3) { + fee = gender.equals("男") ? new BigDecimal(450) : new BigDecimal(410); + } + if (age > 3 && age <= 7) { + fee = gender.equals("男") ? new BigDecimal(510) : new BigDecimal(460); + } + if (age > 7 && age <= 11) { + fee = gender.equals("男") ? new BigDecimal(575) : new BigDecimal(515); + } + if (age > 11 && age <= 15) { + fee = gender.equals("男") ? new BigDecimal(650) : new BigDecimal(580); + } + if (age > 15 && age <= 17) { + fee = gender.equals("男") ? new BigDecimal(735) : new BigDecimal(655); + } + } + if (paymentMethod.equals("交至18岁")) { + if (age > 0 && age <= 3) { + fee = gender.equals("男") ? new BigDecimal(480) : new BigDecimal(435); + } + if (age > 3 && age <= 7) { + fee = gender.equals("男") ? new BigDecimal(650) : new BigDecimal(585); + } + if (age > 7 && age <= 11) { + fee = gender.equals("男") ? new BigDecimal(980) : new BigDecimal(880); + } + } + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + //乐安康终身重疾险 0-12/13-25/26-38/39-51/52-64 + private ResultEntity<BigDecimal> type21(Integer age, String gender, BigDecimal fee, String paymentMethod) { + if (age < 0 || age > 64) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~64之间"); + } + if (paymentMethod.equals("趸交")) { + if (age > 0 && age <= 12) { + fee = gender.equals("男") ? new BigDecimal(5880) : new BigDecimal(5265); + } + if (age > 12 && age <= 25) { + fee = gender.equals("男") ? new BigDecimal(8830) : new BigDecimal(7845); + } + if (age > 25 && age <= 38) { + fee = gender.equals("男") ? new BigDecimal(13260) : new BigDecimal(11750); + } + if (age > 38 && age <= 51) { + fee = gender.equals("男") ? new BigDecimal(19540) : new BigDecimal(17265); + } + if (age > 51 && age <= 64) { + fee = gender.equals("男") ? new BigDecimal(27470) : new BigDecimal(24295); + } + } + if (paymentMethod.equals("5年交")) { + if (age > 0 && age <= 12) { + fee = gender.equals("男") ? new BigDecimal(1320) : new BigDecimal(1185); + } + if (age > 12 && age <= 25) { + fee = gender.equals("男") ? new BigDecimal(1985) : new BigDecimal(1765); + } + if (age > 25 && age <= 38) { + fee = gender.equals("男") ? new BigDecimal(2985) : new BigDecimal(2645); + } + if (age > 38 && age <= 51) { + fee = gender.equals("男") ? new BigDecimal(4425) : new BigDecimal(3905); + } + if (age > 51 && age <= 64) { + fee = gender.equals("男") ? new BigDecimal(6340) : new BigDecimal(5555); + } + } + if (paymentMethod.equals("10年交")) { + if (age > 0 && age <= 12) { + fee = gender.equals("男") ? new BigDecimal(795) : new BigDecimal(710); + } + if (age > 12 && age <= 25) { + fee = gender.equals("男") ? new BigDecimal(1195) : new BigDecimal(1060); + } + if (age > 25 && age <= 38) { + fee = gender.equals("男") ? new BigDecimal(1800) : new BigDecimal(1595); + } + if (age > 38 && age <= 51) { + fee = gender.equals("男") ? new BigDecimal(2695) : new BigDecimal(2375); + } + if (age > 51 && age <= 64) { + fee = gender.equals("男") ? new BigDecimal(3445) : new BigDecimal(4015); + } + } + if (paymentMethod.equals("15年交")) { + if (age > 0 && age <= 12) { + fee = gender.equals("男") ? new BigDecimal(580) : new BigDecimal(520); + } + if (age > 12 && age <= 25) { + fee = gender.equals("男") ? new BigDecimal(870) : new BigDecimal(775); + } + if (age > 25 && age <= 38) { + fee = gender.equals("男") ? new BigDecimal(1320) : new BigDecimal(1165); + } + if (age > 38 && age <= 51) { + fee = gender.equals("男") ? new BigDecimal(2005) : new BigDecimal(1755); + } + } + if (paymentMethod.equals("20年交")) { + if (age > 0 && age <= 12) { + fee = gender.equals("男") ? new BigDecimal(480) : new BigDecimal(425); + } + if (age > 12 && age <= 25) { + fee = gender.equals("男") ? new BigDecimal(720) : new BigDecimal(640); + } + if (age > 25 && age <= 38) { + fee = gender.equals("男") ? new BigDecimal(1095) : new BigDecimal(970); + } + if (age > 38 && age <= 51) { + fee = gender.equals("男") ? new BigDecimal(1700) : new BigDecimal(1475); + } + } + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + //0-11/12-22/23-33/34-44/45-55 + private ResultEntity<BigDecimal> type22(Integer age, String gender, BigDecimal fee, String paymentMethod) { + if (age < 0 || age > 55) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~55之间"); + } + if (paymentMethod.equals("趸交")) { + if (age > 0 && age <= 11) { + fee = gender.equals("男") ? new BigDecimal(12000) : new BigDecimal(10690); + } + if (age > 11 && age <= 22) { + fee = gender.equals("男") ? new BigDecimal(17310) : new BigDecimal(15300); + } + if (age > 22 && age <= 33) { + fee = gender.equals("男") ? new BigDecimal(24320) : new BigDecimal(21390); + } + if (age > 33 && age <= 44) { + fee = gender.equals("男") ? new BigDecimal(33940) : new BigDecimal(29880); + } + if (age > 44 && age <= 55) { + fee = gender.equals("男") ? new BigDecimal(46530) : new BigDecimal(40640); + } + } + if (paymentMethod.equals("5年交")) { + if (age > 0 && age <= 11) { + fee = gender.equals("男") ? new BigDecimal(2680) : new BigDecimal(2390); + } + if (age > 11 && age <= 22) { + fee = gender.equals("男") ? new BigDecimal(3840) : new BigDecimal(3390); + } + if (age > 22 && age <= 33) { + fee = gender.equals("男") ? new BigDecimal(5360) : new BigDecimal(4710); + } + if (age > 33 && age <= 44) { + fee = gender.equals("男") ? new BigDecimal(7490) : new BigDecimal(6600); + } + if (age > 44 && age <= 55) { + fee = gender.equals("男") ? new BigDecimal(10400) : new BigDecimal(9050); + } + } + if (paymentMethod.equals("10年交")) { + if (age > 0 && age <= 11) { + fee = gender.equals("男") ? new BigDecimal(1520) : new BigDecimal(1360); + } + if (age > 11 && age <= 22) { + fee = gender.equals("男") ? new BigDecimal(2170) : new BigDecimal(1920); + } + if (age > 22 && age <= 33) { + fee = gender.equals("男") ? new BigDecimal(3040) : new BigDecimal(2670); + } + if (age > 33 && age <= 44) { + fee = gender.equals("男") ? new BigDecimal(4280) : new BigDecimal(3770); + } + if (age > 44 && age <= 55) { + fee = gender.equals("男") ? new BigDecimal(6070) : new BigDecimal(5230); + } + } + if (paymentMethod.equals("15年交")) { + if (age > 0 && age <= 11) { + fee = gender.equals("男") ? new BigDecimal(1110) : new BigDecimal(990); + } + if (age > 11 && age <= 22) { + fee = gender.equals("男") ? new BigDecimal(1580) : new BigDecimal(1400); + } + if (age > 22 && age <= 33) { + fee = gender.equals("男") ? new BigDecimal(2220) : new BigDecimal(1950); + } + if (age > 33 && age <= 44) { + fee = gender.equals("男") ? new BigDecimal(3140) : new BigDecimal(2760); + } + if (age > 44 && age <= 55) { + fee = gender.equals("男") ? new BigDecimal(4570) : new BigDecimal(3890); + } + } + if (paymentMethod.equals("20年交")) { + if (age > 0 && age <= 11) { + fee = gender.equals("男") ? new BigDecimal(880) : new BigDecimal(790); + } + if (age > 11 && age <= 22) { + fee = gender.equals("男") ? new BigDecimal(1260) : new BigDecimal(1110); + } + if (age > 22 && age <= 33) { + fee = gender.equals("男") ? new BigDecimal(1770) : new BigDecimal(1560); + } + if (age > 33 && age <= 44) { + fee = gender.equals("男") ? new BigDecimal(2540) : new BigDecimal(2230); + } + if (age > 44 && age <= 55) { + fee = gender.equals("男") ? new BigDecimal(3800) : new BigDecimal(3180); + } + } + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + private ResultEntity<BigDecimal> type25(Integer age, BigDecimal fee) { + if (age < 0 || age > 65) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~65之间"); + } + fee = new BigDecimal(-187.28).add(new BigDecimal(68.76).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + private ResultEntity<BigDecimal> type26(Integer age, String gender, BigDecimal fee) { + if (age < 18 || age > 50) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在18~50之间"); + } + fee = gender.equals("男") ? + new BigDecimal(-187.5125).add(new BigDecimal(11.90625).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP) : + new BigDecimal(-185.115).add(new BigDecimal(11.9475).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + private ResultEntity<BigDecimal> type27(Integer age, BigDecimal fee) { + if (age < 0 || age > 65) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~65之间"); + } + fee = new BigDecimal(310); + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + private ResultEntity<BigDecimal> type28(Integer age, BigDecimal fee) { + if (age < 0 || age > 80) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~80之间"); + } + fee = new BigDecimal(0.8); + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + private ResultEntity<BigDecimal> type29(Integer age, String paymentMethod, BigDecimal fee) { + if (age < 18 || age > 65) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在18~65之间"); + } + if (paymentMethod.equals("趸交")) { + fee = new BigDecimal(4209.085).subtract(new BigDecimal(46.58631).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("10年交")) { + fee = new BigDecimal(531.6).subtract(new BigDecimal(3.95).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("15年交")) { + fee = new BigDecimal(374.9).subtract(new BigDecimal(2.8).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("20年交")) { + fee = new BigDecimal(298.5).subtract(new BigDecimal(2).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("30年交")) { + fee = new BigDecimal(211).subtract(new BigDecimal(0.75).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + private ResultEntity<BigDecimal> type30(Integer age, String paymentMethod, BigDecimal fee) { + if (age < 0 || age > 17) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~17之间"); + } + if (paymentMethod.equals("10年交")) { + fee = new BigDecimal(306.375).add(new BigDecimal(4.625).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("15年交")) { + fee = new BigDecimal(210.5).add(new BigDecimal(3.5).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } else if (paymentMethod.equals("20年交")) { + fee = new BigDecimal(175.125).add(new BigDecimal(2.875).multiply(new BigDecimal(age))).setScale(2, RoundingMode.HALF_UP); + } + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + private ResultEntity<BigDecimal> type31(Integer age, BigDecimal fee) { + if (age < 0 || age > 65) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~65之间"); + } + fee = new BigDecimal(55); + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + // 意安心人身意外险 + private ResultEntity<BigDecimal> type32(Integer age, BigDecimal fee, BigDecimal insuranceAmount) { + if (age < 0 || age > 63) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~63之间"); + } + 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 new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + private ResultEntity<BigDecimal> type33(Integer age, String gender, BigDecimal fee, String paymentMethod) { + if (age < 18 || age > 55) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在18~55之间"); + } + 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 new ResultEntity<BigDecimal>(HttpStatus.OK, fee); + } + + //0-3/4-7/8-11/12-15/16-17 + private ResultEntity<BigDecimal> type34(Integer age, String gender, BigDecimal fee, String paymentMethod) { + if (age < 0 || age > 17) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~17之间"); + } + 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); } - } 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))); + if (age > 7 && age <= 11) { + fee = new BigDecimal(12515); } - } 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))); + } + if (gender.equals("女")) { + if (age > 0 && age <= 3) { + fee = new BigDecimal(7240); } - } 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))); + if (age > 3 && age <= 7) { + fee = new BigDecimal(8920); + } + if (age > 7 && age <= 11) { + fee = new BigDecimal(12320); } } } - return fee; + return new ResultEntity<BigDecimal>(HttpStatus.OK, 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))); + private ResultEntity<BigDecimal> type35(Integer age, String gender, BigDecimal fee, String paymentMethod) { + if (age < 0 || age > 17) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~17之间"); } - 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))); + 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); + } + } } - 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))); + 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; + return new ResultEntity<BigDecimal>(HttpStatus.OK, 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))); + private ResultEntity<BigDecimal> type36(Integer age, String gender, BigDecimal fee, String paymentMethod) { + if (age < 0 || age > 60) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~60之间"); } - return fee; - } - - private BigDecimal type27(String name, BigDecimal fee) { - if (name.equals("交通意外险")) { - fee = new BigDecimal(310); + 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); + } + } } - return fee; - } - private BigDecimal type28(String name, BigDecimal fee) { - if (name.equals("旅行意外险")) { - fee = new BigDecimal(0.8); + 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); + } + } } - 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))); + 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); + } } } - 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))); + 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; + return new ResultEntity<BigDecimal>(HttpStatus.OK, fee); } - private BigDecimal type31(String name, BigDecimal fee) { - if (name.equals("优乐保人身意外伤害保险")) { - fee = new BigDecimal(55); + private ResultEntity<BigDecimal> type37(Integer age, String gender, BigDecimal fee, String paymentMethod) { + if (age < 0 || age > 65) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~65之间"); } - 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 (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 > 50 && age <= 60) { - fee = new BigDecimal(2850); + if (age > 25 && age <= 38) { + fee = new BigDecimal(19625); } - if (age > 60 && age <= 63) { - fee = new BigDecimal(3375); + if (age > 38 && age <= 51) { + fee = new BigDecimal(26360); + } + if (age > 51 && age <= 65) { + fee = new BigDecimal(34705); } } - if (insuranceAmount.compareTo(BigDecimal.valueOf(600000)) == 0) { - if (age > 0 && age <= 50) { - fee = new BigDecimal(2520); + if (gender.equals("女")) { + if (age > 0 && age <= 12) { + fee = new BigDecimal(10055); + } + if (age > 12 && age <= 25) { + fee = new BigDecimal(13180); } - if (age > 50 && age <= 60) { - fee = new BigDecimal(3420); + if (age > 25 && age <= 38) { + fee = new BigDecimal(17855); } - if (age > 60 && age <= 63) { - fee = new BigDecimal(4050); + 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 (insuranceAmount.compareTo(BigDecimal.valueOf(750000)) == 0) { - if (age > 0 && age <= 50) { - fee = new BigDecimal(3150); + if (gender.equals("女")) { + if (age > 0 && age <= 12) { + fee = new BigDecimal(1255); } - if (age > 50 && age <= 60) { - fee = new BigDecimal(4275); + if (age > 12 && age <= 25) { + fee = new BigDecimal(1640); } - if (age > 60 && age <= 63) { - fee = new BigDecimal(5062.5); + 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); } } } - 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("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 (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 (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 <= 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 <= 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 (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 (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("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("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 (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; + 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 new ResultEntity<BigDecimal>(HttpStatus.OK, 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); - } + private ResultEntity<BigDecimal> type38(Integer age, String gender, BigDecimal fee, String paymentMethod) { + if (age < 0 || age > 60) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~60之间"); + } + 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; + 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 new ResultEntity<BigDecimal>(HttpStatus.OK, 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); - } + private ResultEntity<BigDecimal> type39(Integer age, String gender, BigDecimal fee, String paymentMethod) { + if (age < 0 || age > 15) { + return new ResultEntity<BigDecimal>(HttpStatus.OK,"被保人年龄必须在0~15之间"); + } + 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; + 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 new ResultEntity<BigDecimal>(HttpStatus.OK, fee); } } \ No newline at end of file diff --git a/src/main/resources/mapper/CaseDistributionOfPropertyFamilyRecordsMapper.xml b/src/main/resources/mapper/CaseDistributionOfPropertyFamilyRecordsMapper.xml index d6a7ab8..99e61cd 100644 --- a/src/main/resources/mapper/CaseDistributionOfPropertyFamilyRecordsMapper.xml +++ b/src/main/resources/mapper/CaseDistributionOfPropertyFamilyRecordsMapper.xml @@ -293,13 +293,13 @@ insert into case_distribution_of_property_family_records (case_distribution_of_property_family_records_id, caseid, case_distribution_of_property_id, name, age, - customer_relationship, annual_income, sort, + customer_relationship, annual_income, create_time, user_id, is_answer) values <foreach collection="list" item="item" separator=","> (#{item.caseDistributionOfPropertyFamilyRecordsId,jdbcType=VARCHAR}, #{item.caseid,jdbcType=VARCHAR}, #{item.caseDistributionOfPropertyId,jdbcType=VARCHAR}, #{item.name,jdbcType=VARCHAR}, #{item.age,jdbcType=INTEGER}, - #{item.customerRelationship,jdbcType=VARCHAR}, #{item.annualIncome,jdbcType=DECIMAL}, #{item.sort,jdbcType=INTEGER}, + #{item.customerRelationship,jdbcType=VARCHAR}, #{item.annualIncome,jdbcType=DECIMAL}, #{item.create_time,jdbcType=TIMESTAMP}, #{item.userId,jdbcType=VARCHAR}, #{item.isAnswer,jdbcType=VARCHAR}) </foreach> </insert>