Ver Fonte

永诚增加特约险种返回

wks há 2 anos atrás
pai
commit
17f09edc07

+ 1 - 0
src/main/java/com/ydtech/modules/admin/model/SysLog.java

@@ -1,6 +1,7 @@
 package com.ydtech.modules.admin.model;
 
 
+import cn.hutool.core.lang.Snowflake;
 import com.ydtech.utils.idgen.IdGenerate;
 
 import java.util.Date;

+ 23 - 112
src/main/java/com/ydtech/modules/ins/model/vo/QuoteKindRespVo.java

@@ -1,137 +1,48 @@
 package com.ydtech.modules.ins.model.vo;
 
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
 /**
  * @author qinfenglong
  * @version 1.0.0
  * @description QuoteKindRespVo
  * @since 2020/11/27 0:04
  */
+@Data
 public class QuoteKindRespVo {
 
-    private double amount;  //保额
-    private double coveragePremium; //保费
-    private double deductible;
-    private double deductibleRate;
-    private String kindCode;    //险种编码
-    private String kindName; //险种编码
-    private String modeCode;
-    private String modeName;
-    private boolean notDeductibleFlag;
-    private String quantity;
-    private double rate;
-    private String riskCode;        //主险种编码
-    private String serviceTimes;
-    private double unitAmount;
-
-    public double getAmount() {
-        return amount;
-    }
-
-    public void setAmount(double amount) {
-        this.amount = amount;
-    }
-
-    public double getCoveragePremium() {
-        return coveragePremium;
-    }
-
-    public void setCoveragePremium(double coveragePremium) {
-        this.coveragePremium = coveragePremium;
-    }
-
-    public double getDeductible() {
-        return deductible;
-    }
-
-    public void setDeductible(double deductible) {
-        this.deductible = deductible;
-    }
-
-    public double getDeductibleRate() {
-        return deductibleRate;
-    }
+    @ApiModelProperty("保额")
+    private double amount;
 
-    public void setDeductibleRate(double deductibleRate) {
-        this.deductibleRate = deductibleRate;
-    }
+    @ApiModelProperty("保费")
+    private double coveragePremium;
 
-    public String getKindCode() {
-        return kindCode;
-    }
-
-    public void setKindCode(String kindCode) {
-        this.kindCode = kindCode;
-    }
-
-    public String getKindName() {
-        return kindName;
-    }
-
-    public void setKindName(String kindName) {
-        this.kindName = kindName;
-    }
-
-    public String getModeCode() {
-        return modeCode;
-    }
-
-    public void setModeCode(String modeCode) {
-        this.modeCode = modeCode;
-    }
-
-    public String getModeName() {
-        return modeName;
-    }
-
-    public void setModeName(String modeName) {
-        this.modeName = modeName;
-    }
+    private double deductible;
 
-    public boolean isNotDeductibleFlag() {
-        return notDeductibleFlag;
-    }
+    private double deductibleRate;
 
-    public void setNotDeductibleFlag(boolean notDeductibleFlag) {
-        this.notDeductibleFlag = notDeductibleFlag;
-    }
+    @ApiModelProperty("险种编码")
+    private String kindCode;
 
-    public String getQuantity() {
-        return quantity;
-    }
+    @ApiModelProperty("险种编码")
+    private String kindName;
 
-    public void setQuantity(String quantity) {
-        this.quantity = quantity;
-    }
+    private String modeCode;
 
-    public double getRate() {
-        return rate;
-    }
+    private String modeName;
 
-    public void setRate(double rate) {
-        this.rate = rate;
-    }
+    private boolean notDeductibleFlag;
 
-    public String getRiskCode() {
-        return riskCode;
-    }
+    private String quantity;
 
-    public void setRiskCode(String riskCode) {
-        this.riskCode = riskCode;
-    }
+    private double rate;
 
-    public String getServiceTimes() {
-        return serviceTimes;
-    }
+    @ApiModelProperty("主险种编码")
+    private String riskCode;
 
-    public void setServiceTimes(String serviceTimes) {
-        this.serviceTimes = serviceTimes;
-    }
+    private String serviceTimes;
 
-    public double getUnitAmount() {
-        return unitAmount;
-    }
+    private double unitAmount;
 
-    public void setUnitAmount(double unitAmount) {
-        this.unitAmount = unitAmount;
-    }
 }

+ 25 - 120
src/main/java/com/ydtech/modules/ins/model/yc/YcBuildData.java

@@ -1,10 +1,12 @@
 package com.ydtech.modules.ins.model.yc;
 
+import cn.hutool.core.util.ArrayUtil;
 import com.ydtech.constants.enums.InsurKind;
 import com.ydtech.modules.ins.model.vo.*;
 import com.ydtech.modules.ins.model.ya.YaQuoteInfoVo;
 import com.ydtech.modules.ins.model.yc.ruote.response.RuoteResponse;
 import com.ydtech.modules.ins.model.yc.ruote.response.TfiWarnListResponse;
+import com.ydtech.modules.order.constants.InsuranceTypeCorrespondence;
 import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.TaxArrears;
 import com.ydtech.utils.StringUtils;
@@ -13,6 +15,7 @@ import org.springframework.stereotype.Component;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -55,142 +58,44 @@ public class YcBuildData {
     public static List<QuoteKindRespVo> buildQuoteKindList(RuoteResponse rd) {
 
         if (null == rd.getCvrgListSY() || null == rd.getCvrgListSY().getCvrgSY()) {
-            return null;
+            return Collections.emptyList();
         }
 
-//        List<CvrgListSYResponse.CvrgSY> CvrgSY = rd.getCvrgListSY().getCvrgSY();
         List<QuoteKindRespVo> kindList = new ArrayList<>();
 
-        rd.getCvrgListSY().getCvrgSY().stream().forEach(a -> {
+        rd.getCvrgListSY().getCvrgSY().forEach(a -> {
 
             String kindcode = a.getCCvrgNo();
+            int i = ArrayUtil.indexOf(InsuranceTypeCorrespondence.getYongchengConnectInsuranceType(), kindcode);
+            InsurKind insurKind = Enum.valueOf(InsurKind.class, InsuranceTypeCorrespondence.getJinZhangGuiType()[i]);
+
             double premium = StringUtils.parseDouble(a.getNPrm());
             double amount = StringUtils.parseDouble(a.getNPerAmt());
             QuoteKindRespVo kind;
-            if ("030006".equals(kindcode)) {
-                kind = new QuoteKindRespVo();
-                kind.setKindCode(InsurKind.A.getCode());
-                kind.setKindName(InsurKind.A.getDesc());
-                kind.setAmount(amount);
-                kind.setCoveragePremium(premium);
-                kindList.add(kind);
-                return;
-            }
-            if ("030018".equals(kindcode)) {
-                kind = new QuoteKindRespVo();
-                kind.setKindCode(InsurKind.B.getCode());
-                kind.setKindName(InsurKind.B.getDesc());
-                kind.setAmount(amount);
-                kind.setCoveragePremium(premium);
-                kindList.add(kind);
-                return;
-            }
-            if ("030101".equals(kindcode)) {
-                kind = new QuoteKindRespVo();
-                kind.setKindCode(InsurKind.D3.getCode());
-                kind.setKindName(InsurKind.D3.getDesc());
-                kind.setAmount(amount);
-                kind.setCoveragePremium(premium);
+            kind = new QuoteKindRespVo();
+            kind.setKindCode(insurKind.getCode());
+            kind.setKindName(insurKind.getDesc());
+            kind.setAmount(amount);
+            kind.setCoveragePremium(premium);
+
+            // 司机
+            if (ArrayUtil.indexOf(InsuranceTypeCorrespondence.getDriver(), insurKind.getCode()) >= 0) {
                 kind.setUnitAmount(amount);
-                kindList.add(kind);
-                return;
+                kind.setQuantity("1");
             }
-            if ("030102".equals(kindcode)) {
-//                int seat = carDTO.getSeatCount() - 1;
+            // 乘客
+            if (ArrayUtil.indexOf(InsuranceTypeCorrespondence.getPassenger(), insurKind.getCode()) >= 0) {
                 int seat = Integer.parseInt(rd.getVhl().getNSeatNum()) - 1;
-                kind = new QuoteKindRespVo();
-                kind.setKindCode(InsurKind.D4.getCode());
-                kind.setKindName(InsurKind.D4.getDesc());
                 kind.setUnitAmount(amount);
-                kind.setAmount(amount);
-                kind.setCoveragePremium(premium);
                 kind.setQuantity(String.valueOf(seat));
-                // kind.setUnitAmount(obj.getDouble("unitAmount"));
-                kindList.add(kind);
-                return;
-            }
-            if ("030213".equals(kindcode)) {
-                kind = new QuoteKindRespVo();
-                kind.setKindCode(InsurKind.MJ1.getCode());
-                kind.setKindName(InsurKind.MJ1.getDesc());
-                kind.setAmount(amount);
-                kind.setCoveragePremium(premium);
-                kindList.add(kind);
-                return;
-            }
-            if ("030214".equals(kindcode)) {
-                kind = new QuoteKindRespVo();
-                kind.setKindCode(InsurKind.MJ2.getCode());
-                kind.setKindName(InsurKind.MJ2.getDesc());
-                kind.setAmount(amount);
-                kind.setCoveragePremium(premium);
-                kindList.add(kind);
-                return;
-            }
-            if ("030215".equals(kindcode)) {
-                kind = new QuoteKindRespVo();
-                kind.setKindCode(InsurKind.MJ3.getCode());
-                kind.setKindName(InsurKind.MJ3.getDesc());
-                kind.setAmount(amount);
-                kind.setCoveragePremium(premium);
-                kindList.add(kind);
-                return;
-            }
-            if ("030216".equals(kindcode)) {
-                kind = new QuoteKindRespVo();
-                kind.setKindCode(InsurKind.MJ4.getCode());
-                kind.setKindName(InsurKind.MJ4.getDesc());
-                kind.setAmount(amount);
-                kind.setCoveragePremium(premium);
-                kindList.add(kind);
-                return;
             }
-            if ("030108".equals(kindcode)) {
-                kind = new QuoteKindRespVo();
-                kind.setKindCode(InsurKind.L.getCode());
-                kind.setKindName(InsurKind.L.getDesc());
-                kind.setAmount(amount);
-                kind.setCoveragePremium(premium);
-                kindList.add(kind);
-                return;
-            }
-            if ("030019".equals(kindcode)) {
-                kind = new QuoteKindRespVo();
-                kind.setKindCode(InsurKind.BD.getCode());
-                kind.setKindName(InsurKind.BD.getDesc());
-                kind.setAmount(amount);
-                kind.setCoveragePremium(premium);
-                kindList.add(kind);
-                return;
-            }
-            if ("030208".equals(kindcode)) {
-                kind = new QuoteKindRespVo();
-                kind.setKindCode(InsurKind.SY_FJ_YBW1.getCode());
-                kind.setKindName(InsurKind.SY_FJ_YBW1.getDesc());
-                kind.setAmount(amount);
-                kind.setCoveragePremium(premium);
-                kindList.add(kind);
-                return;
-            }
-            if ("030220".equals(kindcode)) {
-                kind = new QuoteKindRespVo();
-                kind.setKindCode(InsurKind.SY_FJ_YBW2.getCode());
-                kind.setKindName(InsurKind.SY_FJ_YBW2.getDesc());
-                kind.setAmount(amount);
-                kind.setUnitAmount(amount);
-                kind.setCoveragePremium(premium);
-                kindList.add(kind);
-                return;
-            }
-            if ("030219".equals(kindcode)) {
-                kind = new QuoteKindRespVo();
-                kind.setKindCode(InsurKind.SY_FJ_YBW3.getCode());
-                kind.setKindName(InsurKind.SY_FJ_YBW3.getDesc());
-                kind.setAmount(amount);
-                kind.setCoveragePremium(premium);
-                kindList.add(kind);
-                return;
+            // 增值服务
+            if (ArrayUtil.indexOf(InsuranceTypeCorrespondence.getSpecialContractClause(), insurKind.getCode()) >= 0) {
+                kind.setServiceTimes(a.getNLiabDaysLmt());
             }
+
+            kindList.add(kind);
+
         });
 
         return kindList;

+ 1 - 1
src/main/java/com/ydtech/modules/ins/model/yc/ruote/CvrgListSY.java

@@ -185,7 +185,7 @@ public class CvrgListSY {
             }
 
             if ("32773002,32773003,32773004,".contains(vhl.getFuelType())) {
-                //
+                //新能源产品险别拼装(商业)
                 if (InsurKind.TY1.getCode().equals(a.getKindCode())) {
                     bean.setCCvrgNo("030235");
                     bean.setNLiabDaysLmt(String.valueOf(a.getServiceTimes()));

+ 2 - 1
src/main/java/com/ydtech/modules/ins/model/yc/ruote/Ruote.java

@@ -184,6 +184,7 @@ public class Ruote {
          * 代码:vhl
          */
         Vhl vhl = Vhl.buildVhl(carInfo,ownerInfo);
+
         String startTime = StringUtils.isNotEmpty(base.getTInsrncBgnTmJQ()) ? base.getTInsrncBgnTmJQ() : base.getTInsrncBgnTmSY();
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
         SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
@@ -234,7 +235,7 @@ public class Ruote {
         vehicleAdjust.setSecondaryOrganization("");
 
         //投保组合
-        String groupStr = YcBuildData.buildInsureGroup(jqFlag.equals("Y") ? true : false, syFlag.equals("Y") ? true : false);
+        String groupStr = YcBuildData.buildInsureGroup(jqFlag.equals("Y"), syFlag.equals("Y"));
         vehicleAdjust.setCInsuranceGroup(groupStr);
 //        vehicleAdjust.setCInsuranceGroup("DJ");
         condition.setVehicleAdjust(vehicleAdjust);

+ 18 - 0
src/main/java/com/ydtech/modules/order/constants/InsuranceTypeCorrespondence.java

@@ -36,6 +36,16 @@ public class InsuranceTypeCorrespondence {
     protected static final String[] ZJ_CONNECT_INSURANCE_TYPE_NEW_EMERGY = {"A3", "B3", "D5", "D6", "FA", "FB", "FD3", "FD4", "B2", "L",
             "S1", "S3", "S2", "T5", "T6", "T7", "T8"};
 
+
+    // 永诚财险
+    protected static final String[] YONGCHENG_CONNECT_INSURANCE_TYPE = {"030006", "030018", "030101", "030102", "030213", "030214", "030215", "030216", "030019", "030108", "030208",
+            "030220", "030219", "030209", "030210", "030211", "030212"};
+
+    // 永诚财险新能源
+    protected static final String[] YONGCHENG_CONNECT_INSURANCE_TYPE_NEW_EMERGY = {"030226", "030227", "030228", "030229", "030213", "030214", "030215", "030216", "030019", "030108", "030208",
+            "030220", "030219", "030235", "030236", "030237", "030238"};
+
+
     // 乘客
     protected static final String[] PASSENGER = {"D4", "SY_FJ_YBW2"};
 
@@ -165,4 +175,12 @@ public class InsuranceTypeCorrespondence {
         return ZM_CAR_MotorUsageTypeCode;
     }
 
+    public static String[] getYongchengConnectInsuranceType(){
+        return YONGCHENG_CONNECT_INSURANCE_TYPE;
+    }
+
+    public static String[] getYongchengConnectInsuranceTypeNewEmergy(){
+        return YONGCHENG_CONNECT_INSURANCE_TYPE_NEW_EMERGY;
+    }
+
 }

+ 1 - 0
src/main/java/com/ydtech/modules/order/service/impl/ZhongMeiOrderApiServiceImpl.java

@@ -479,6 +479,7 @@ public class ZhongMeiOrderApiServiceImpl implements ZhongMeiOrderApiService {
 
                 kind.setCoveragePremium(coverageListDTOS.getPremium());
                 kind.setUnitAmount(kindInfoVo.getUnitAmount());
+                kind.setServiceTimes(String.valueOf(kindInfoVo.getServiceTimes()));
                 if (!ObjectUtils.isEmpty(kindInfoVo.getDeductibleRate())) {
                     kind.setDeductibleRate(Double.parseDouble(kindInfoVo.getDeductibleRate()));
                 }