wks 2 жил өмнө
parent
commit
ed97e26d0a

+ 1 - 11
src/main/java/com/ydtech/constants/enums/InsurKind.java

@@ -26,22 +26,12 @@ public enum InsurKind {
     SY_FJ_YBW1("SY_FJ_YBW1", "附加医保外用药责任险(第三者责任保险)"),
     SY_FJ_YBW2("SY_FJ_YBW2", "附加医保外用药责任险(车上人员责任保险(乘客))"),
     SY_FJ_YBW3("SY_FJ_YBW3", "附加医保外用药责任险(车上人员责任保险(司机))"),
+
     TY1("TY1", "道路救援服务特约条款"),
     TY2("TY2", "车辆安全检测特约条款"),
     TY3("TY3", "代为驾驶服务特约条款"),
     TY4("TY4", "代为送检服务特约条款");
 
-    public static InsurKind matchKey(String key) {
-        InsurKind result = null;
-        for (InsurKind e : values()) {
-            if (e.getCode().equals(key)) {
-                result = e;
-                break;
-            }
-        }
-        return result;
-    }
-
     private final String code;
 
     private final String desc;

+ 27 - 7
src/main/java/com/ydtech/modules/order/constants/InsuranceTypeCorrespondence.java

@@ -16,17 +16,25 @@ public class InsuranceTypeCorrespondence {
     private InsuranceTypeCorrespondence() {
     }
 
-    protected static final String[] JINZHANGGUI_TYPE = {"A", "B", "D3", "D4", "MJ1", "MJ2", "MJ3", "MJ4", "BD", "L", "SY_FJ_YBW1", "SY_FJ_YBW2", "SY_FJ_YBW3"};
+    protected static final String[] JINZHANGGUI_TYPE = {"A", "B", "D3", "D4", "MJ1", "MJ2", "MJ3", "MJ4", "BD", "L", "SY_FJ_YBW1",
+            "SY_FJ_YBW2", "SY_FJ_YBW3", "TY1", "TY2", "TY3", "TY4"};
 
     // 中煤财险
-    protected static final String[] ZM_CONNECT_INSURANCE_TYPE = {"01", "02", "041", "044", "501", "502", "5041", "5044", "49", "21", "5302", "5344", "5341"};
+    protected static final String[] ZM_CONNECT_INSURANCE_TYPE = {"01", "02", "041", "044", "501", "502", "5041", "5044", "49", "21",
+            "5302", "5344", "5341", "54", "55", "56", "57"};
+
+
     //华泰财险
-    protected static final String[] HuaTai_CONNECT_INSURANCE_TYPE = {"A", "B", "D11", "D12", "MMA", "MMB", "MMD11", "MMD12", "BD", "L", "PB", "PD12", "PD11"};
+    protected static final String[] HuaTai_CONNECT_INSURANCE_TYPE = {"A", "B", "D11", "D12", "MMA", "MMB", "MMD11", "MMD12", "BD", "L",
+            "PB", "PD12", "PD11", "SR", "", "SD", ""};
 
     // 紫金财险
-    protected static final String[] ZJ_CONNECT_INSURANCE_TYPE = {"A", "B", "D3", "D4", "FA", "FB", "FD3", "FD4", "B2", "L", "S1", "S3", "S2"};
+    protected static final String[] ZJ_CONNECT_INSURANCE_TYPE = {"A", "B", "D3", "D4", "FA", "FB", "FD3", "FD4", "B2", "L", "S1", "S3",
+            "S2", "T1", "T2", "T3", "T4"};
+
     //紫金财险新能源
-    protected static final String[] ZJ_CONNECT_INSURANCE_TYPE_NEW_EMERGY = {"A3", "B3", "D5", "D6", "FA", "FB", "FD3", "FD4", "B2", "L", "S1", "S3", "S2"};
+    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[] PASSENGER = {"D4", "SY_FJ_YBW2"};
@@ -37,14 +45,17 @@ public class InsuranceTypeCorrespondence {
     // 绝对免赔
     protected static final String[] ABSOLUTE_DEDUCTIBLE = {"MJ1", "MJ2", "MJ3", "MJ4"};
 
+    // 服务特约条款
+    protected static final String[] SPECIAL_CONTRACT_CLAUSE = {"TY1", "TY2", "TY3", "TY4"};
+
     //中煤机动车险种
     protected static final Map<String, String> ZhongMei_RISK_1379 = new HashMap<>();
     //中煤新能源车险种
     protected static final Map<String, String> ZhongMei_RISK_1382 = new HashMap<>();
     //中煤产品编码
-    protected static final Map<String, String> ZhongMei_PRODUCT=new HashMap<>();
+    protected static final Map<String, String> ZhongMei_PRODUCT = new HashMap<>();
     //中煤险种编码
-    protected static final Map<String, Map<String, String>> ZhongMei_RISK=new HashMap<>();
+    protected static final Map<String, Map<String, String>> ZhongMei_RISK = new HashMap<>();
 
     protected static final Map<String, String> HuaTai_RISK = new HashMap<>();
     protected static final String HuaTai_NEW_ENERGY_RISK = "1255";
@@ -58,6 +69,7 @@ public class InsuranceTypeCorrespondence {
         ZhongMei_RISK_1382.put("0507", "0330");
         ZhongMei_RISK_1382.put("0510", "0365");
     }
+
     static {
         ZhongMei_PRODUCT.put("0", "1379");//燃油-机动车
         ZhongMei_PRODUCT.put("1", "1382");//纯电动-新能源
@@ -66,6 +78,7 @@ public class InsuranceTypeCorrespondence {
         ZhongMei_PRODUCT.put("4", "1379");//其他混合动力-机动车
         ZhongMei_PRODUCT.put("9", "1379");//其他-机动车
     }
+
     static {
         ZhongMei_RISK.put("0", ZhongMei_RISK_1379);//燃油-机动车
         ZhongMei_RISK.put("1", ZhongMei_RISK_1382);//纯电动-新能源
@@ -95,6 +108,7 @@ public class InsuranceTypeCorrespondence {
     public static String[] getZmConnectInsuranceType() {
         return ZM_CONNECT_INSURANCE_TYPE;
     }
+
     public static String[] getHuaTaiConnectInsuranceType() {
         return HuaTai_CONNECT_INSURANCE_TYPE;
     }
@@ -102,6 +116,11 @@ public class InsuranceTypeCorrespondence {
     public static String[] getZjConnectInsuranceType() {
         return ZJ_CONNECT_INSURANCE_TYPE;
     }
+
+    public static String[] getSpecialContractClause(){
+        return SPECIAL_CONTRACT_CLAUSE;
+    }
+
     public static String[] getZjConnectInsuranceTypeNewEnergy() {
         return ZJ_CONNECT_INSURANCE_TYPE_NEW_EMERGY;
     }
@@ -137,6 +156,7 @@ public class InsuranceTypeCorrespondence {
     public static Map<String, String> getHuaTaiRisk() {
         return HuaTai_RISK;
     }
+
     public static String getHuaTaiNewEnergyRisk() {
         return HuaTai_NEW_ENERGY_RISK;
     }

+ 9 - 0
src/main/java/com/ydtech/modules/order/entity/api/zijin/request/CalculatePremiumRequest.java

@@ -1092,6 +1092,12 @@ public class CalculatePremiumRequest implements Serializable {
         @JsonProperty("deductibleRate")
         private String deductibleRate;
 
+        /**
+         * 服务次数
+         */
+        @JsonProperty("serviceTimes")
+        private String  serviceTimes;
+
 
         public static ItemKindListDTO getCompulsoryInsurance() {
             ItemKindListDTO insuredListDTO = new ItemKindListDTO();
@@ -1133,11 +1139,14 @@ public class CalculatePremiumRequest implements Serializable {
                 // 绝对免赔
                 else if (ArrayUtil.indexOf(InsuranceTypeCorrespondence.getAbsoluteDeductible(), code) >= 0) {
                     itemKindListDTO.deductibleRate = kindInfoVo.getDeductibleRate();
+                }else if (ArrayUtil.indexOf(InsuranceTypeCorrespondence.getSpecialContractClause(), code) >= 0) {
+                    itemKindListDTO.serviceTimes = String.valueOf(kindInfoVo.getServiceTimes());
                 } else if (InsurKind.A.getCode().equals(code)) {
                     itemKindListDTO.amount = actualValue;
                 } else {
                     itemKindListDTO.amount = String.valueOf(kindInfoVo.getAmount());
                 }
+
                 list.add(itemKindListDTO);
             }
             return list;

+ 2 - 0
src/main/java/com/ydtech/modules/order/service/impl/InsOrdersServiceImpl.java

@@ -136,7 +136,9 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
             insOrders.setOrderstatus(insAreaCompany.getOrderstatus());
             LambdaQueryWrapper<InsOrders> insOrdersLambdaQueryWrapper = new LambdaQueryWrapper<>();
             insOrdersLambdaQueryWrapper.ne(InsOrders::getOrderstatus, InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
+            insOrdersLambdaQueryWrapper.eq(InsOrders::getOrderno, orderNo);
             update(insOrders, insOrdersLambdaQueryWrapper);
+
         }
     }
 

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

@@ -463,10 +463,10 @@ public class ZijinOrderApiServiceImpl implements ZijinOrderApiService {
                         .collect(Collectors.toList()).get(0);
             }
 
-
             kind.setAmount(Double.parseDouble(itemKindListDTO.getAmount()));
             kind.setCoveragePremium(Double.parseDouble(itemKindListDTO.getPremium()));
             kind.setUnitAmount(kindInfoVo.getUnitAmount());
+            kind.setServiceTimes(itemKindListDTO.getServiceTimes());
             if (!ObjectUtils.isEmpty(kindInfoVo.getDeductibleRate())) {
                 kind.setDeductibleRate(Double.parseDouble(kindInfoVo.getDeductibleRate()));
             }