瀏覽代碼

华泰对接新建实体

cuixinpeng 2 年之前
父節點
當前提交
ea093122f7

+ 35 - 0
src/main/java/com/ydtech/config/properties/HuaTaiApiConfigurationProperties.java

@@ -0,0 +1,35 @@
+package com.ydtech.config.properties;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author CXP
+ * @version 0.0.2
+ * @description 华泰API对接参数
+ * @date 2023/4/20 18:01
+ */
+
+@Data
+@Component
+@ConfigurationProperties(prefix = "zm.api")
+public class HuaTaiApiConfigurationProperties {
+
+    private String url;
+
+    private String imageUrl;
+
+    private String smsUrl;
+    // 支付完成页面跳转地址
+    private String pageUrl;
+    // 回调前缀
+    private String callbackDomain;
+    // 承保回调地址
+    private String callbackUrl;
+    // 审核回调地址
+    private String passMsgUrl;
+    // 会话密钥
+    private String sessionKey;
+
+}

+ 196 - 0
src/main/java/com/ydtech/modules/order/components/huatai/HuaTaiRequestApiComponents.java

@@ -0,0 +1,196 @@
+package com.ydtech.modules.order.components.huatai;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.ydtech.config.properties.HuaTaiApiConfigurationProperties;
+import com.ydtech.config.properties.ZhongmeiApiConfigurationProperties;
+import com.ydtech.constants.InsuranceEnum;
+import com.ydtech.exception.SystemException;
+import com.ydtech.modules.order.entity.api.huatai.HuaTaiBaseRequest;
+import com.ydtech.modules.order.entity.api.huatai.HuaTaiBaseResponse;
+import com.ydtech.modules.order.entity.api.huatai.request.HuaTaiQuotedPriceRequest;
+import com.ydtech.modules.order.entity.api.huatai.response.HuaTaiQuotedPriceResponse;
+import com.ydtech.modules.order.entity.api.zhongmei.BaseRequest;
+import com.ydtech.modules.order.entity.api.zhongmei.BaseResponse;
+import com.ydtech.modules.order.entity.api.zhongmei.constants.TransCode;
+import com.ydtech.modules.order.entity.api.zhongmei.request.*;
+import com.ydtech.modules.order.entity.api.zhongmei.response.*;
+import com.ydtech.modules.order.utils.AESUtilsWithDataBase;
+import com.ydtech.modules.order.utils.InsuranceLog;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.MediaType;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
+import org.springframework.util.ObjectUtils;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.List;
+
+
+/**
+ * @author CXP
+ * @version 0.0.2
+ * @description 华泰 APi 请求
+ * @date 2023-10-27 22:05:26
+ */
+@Slf4j
+@Component
+public class HuaTaiRequestApiComponents {
+
+
+    private final HuaTaiApiConfigurationProperties properties;
+
+    private final RestTemplate restTemplate;
+
+    public HuaTaiRequestApiComponents(HuaTaiApiConfigurationProperties huaTaiApiConfigurationProperties, RestTemplate restTemplate) {
+        this.properties = huaTaiApiConfigurationProperties;
+        this.restTemplate = restTemplate;
+    }
+
+
+    /**
+     * 加密请求
+     *
+     * @param q      请求参数
+     * @param url    请求url
+     * @param tClass 响应类型
+     * @param <Q>    Request 请求体
+     * @param <S>    Response 响应体
+     * @return <S>
+     */
+    private <Q extends HuaTaiBaseRequest, S extends HuaTaiBaseResponse> S post(Q q, String url, Class<S> tClass) {
+        HttpHeaders httpHeaders = new HttpHeaders();
+        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
+
+        String jsonString = JSON.toJSONString(q, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullStringAsEmpty);
+        InsuranceLog.infoLog(InsuranceEnum.ZMBX.getPinyin(), "\n\t---------> URl: {} \n---------> 请求参数:{}", url, jsonString);
+        // 加密
+        String sessionKey = properties.getSessionKey();
+        String s = AESUtilsWithDataBase.encryptECBPK5Hex(jsonString, sessionKey);
+        InsuranceLog.infoLog(InsuranceEnum.ZMBX.getPinyin(), "\n\t---------> 加密后的参数:{}", s);
+        HttpEntity<String> httpEntity = new HttpEntity<>(s, httpHeaders);
+        ResponseEntity<String> response = restTemplate.postForEntity(url, httpEntity, String.class);
+        String body = response.getBody();
+
+        S t = AESUtilsWithDataBase.decryptMessage(body, tClass, "响应参数", sessionKey);
+        if (ObjectUtils.isEmpty(t)) {
+            throw new SystemException("请求失败");
+        }
+        return t;
+    }
+
+    /**
+     * @param <Q>     Request 请求体
+     * @param <S>     Response 响应体
+     * @param request 请求内容
+     * @param tClass  响应类型
+     * @param verify  结果是否需要验证
+     * @return 响应内容
+     */
+    private <Q extends HuaTaiBaseRequest, S extends HuaTaiBaseResponse> S request(Q request, Class<S> tClass, boolean verify, String domain, String urlInterface) {
+        String url = domain;
+        if (StringUtils.isNotEmpty(urlInterface)) {
+            url = url + urlInterface + ".do";
+        } else {
+            url = url + request.getHead().getTransCode() + ".do";
+        }
+        S response = post(request, url, tClass);
+        if (verify) {
+            validationResults(response);
+        }
+        return response;
+    }
+
+    /**
+     * @param <Q> Request 请求体
+     * @param <S> Response 响应体
+     *            常规
+     */
+    private <Q extends HuaTaiBaseRequest, S extends HuaTaiBaseResponse> S routineRequest(Q request, Class<S> tClass, boolean verify, String urlInterface) {
+        return request(request, tClass, verify, properties.getUrl(), urlInterface);
+    }
+
+    /**
+     * @param <Q> Request 请求体
+     * @param <S> Response 响应体
+     *            影像
+     */
+    private <Q extends HuaTaiBaseRequest, S extends HuaTaiBaseResponse> void imageRequest(Q request, Class<S> tClass, boolean verify) {
+        request(request, tClass, verify, properties.getUrl(), "");
+    }
+
+    /**
+     * @param <Q> Request 请求体
+     * @param <S> Response 响应体
+     *            短信
+     */
+    private <Q extends HuaTaiBaseRequest, S extends HuaTaiBaseResponse> S smsRequest(Q request, Class<S> tClass, boolean verify) {
+        return request(request, tClass, verify, properties.getSmsUrl(), "");
+    }
+
+
+    /**
+     * 车型查询 传入必要车辆信息,返回车型列表给用户选择
+     */
+/*
+    public List<ModelsQueryResponse.SimpleStadarCarDTO> modelQuery(ModelsQueryRequest request, Class<ModelsQueryResponse> tClass) {
+        return routineRequest(request, tClass, true, "").getSimpleStadarCar();
+    }
+*/
+
+    /**
+     * 报价 传入必要投保方案信息,返回投保单保费及车船税
+     */
+    public HuaTaiQuotedPriceResponse quotedPrice(HuaTaiQuotedPriceRequest request, Class<HuaTaiQuotedPriceResponse> tClass) {
+        return routineRequest(request, tClass, true, "");
+    }
+
+    /**
+     * 提交核保 传入投保单必要信息,对投保单进行审核
+     */
+/*    public SubmitResponse submit(SubmitRequest request, Class<SubmitResponse> tClass) {
+        request.setCallbackUrl(properties.getCallbackDomain() + properties.getCallbackUrl());
+        request.setPageUrl(properties.getPageUrl());
+        request.setPassMsgUrl(properties.getCallbackDomain() + properties.getPassMsgUrl());
+        return routineRequest(request, tClass, false, "");
+    }*/
+
+    /**
+     * 上传影像 传入订单信息,查询是否生成保单成功
+     */
+    public void uploadImage(UploadImageRequest request, Class<UploadImageResponse> tClass) {
+      //  imageRequest(request, tClass, true);
+    }
+
+
+    /**
+     * 核保状态查询 传入单号查询该单核保状态
+     */
+/*    public SubmitStatusQueryResponse submitStatus(SubmitStatusQueryRequest request, Class<SubmitStatusQueryResponse> tClass) {
+        return routineRequest(request, tClass, true, TransCode.SUBMIT_STATUS);
+    }*/
+
+
+    /**
+     * 电子保单下载 传入单号相关信息下载电子保单
+     */
+/*    public InsurancePolicyPrintResponse insurancePolicyPrint(InsurancePolicyPrintRequest request, Class<InsurancePolicyPrintResponse> tClass) {
+        return routineRequest(request, tClass, true, "");
+    }*/
+
+
+    public <T extends HuaTaiBaseResponse> void validationResults(T t) {
+        if ("-1".equals(t.getHead().getReturnCode())) {
+            if(StringUtils.isNotEmpty(t.getHead().getReturnMessage())&& t.getHead().getReturnMessage().contains("商业险重复投保") && t.getHead().getReturnMessage().contains("重复投保的本公司的保单信息")){
+
+            }else{
+                throw new SystemException(t.getHead().getReturnMessage());
+            }
+
+        }
+    }
+
+}

+ 2 - 7
src/main/java/com/ydtech/modules/order/controller/HuaTaiOrderApiController.java

@@ -41,11 +41,11 @@ public class HuaTaiOrderApiController {
         this.insOrdersComponents = insOrdersComponents;
     }
 
-    @PostMapping(value = "/modelsQuery")
+/*    @PostMapping(value = "/modelsQuery")
     @ApiOperation(value = "车型查询接口")
     public HttpResult<List<CarModelDTO>> modelsQuery(@RequestSingleParam(value = "modelName") String modelName) {
         return this.huaTaiOrderApiService.modelsQuery(modelName);
-    }
+    }*/
 
     @QuoteVerification("报价授权")
     @PostMapping("/quote")
@@ -84,9 +84,4 @@ public class HuaTaiOrderApiController {
     public HttpResult<Object> auditStatusQuery(@RequestSingleParam(value = "companyId") String companyId) {
         return this.huaTaiOrderApiService.auditStatusQuery(companyId);
     }
-    @PostMapping("/rideAccidentQuery")
-    @ApiOperation(value = "核保状态查询")
-    public HttpResult<Object> rideAccidentQuery(@RequestBody @Valid AccidentalDrivingQueryVo accidentalDrivingVo) {
-        return this.huaTaiOrderApiService.rideAccidentQuery(accidentalDrivingVo);
-    }
 }

+ 4 - 4
src/main/java/com/ydtech/modules/order/entity/api/huatai/HuaTaiBaseRequestHead.java

@@ -1,6 +1,6 @@
 package com.ydtech.modules.order.entity.api.huatai;
 
-import com.ydtech.modules.order.entity.config.ZmConfigureParameters;
+import com.ydtech.modules.order.entity.config.HuaTaiConfigureParameters;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -35,9 +35,9 @@ public class HuaTaiBaseRequestHead extends HuaTaiBastHead {
         this.source = source;
     }
 
-    public HuaTaiBaseRequestHead(ZmConfigureParameters zmConfigureParameters) {
-        super.setToken(zmConfigureParameters.getToken());
-        this.source = zmConfigureParameters.getSource();
+    public HuaTaiBaseRequestHead(HuaTaiConfigureParameters huaTaiConfigureParameters) {
+        super.setToken(huaTaiConfigureParameters.getToken());
+        this.source = huaTaiConfigureParameters.getSource();
     }
 
 }

+ 52 - 1
src/main/java/com/ydtech/modules/order/entity/api/huatai/request/HuaTaiQuotedPriceRequest.java

@@ -1,13 +1,28 @@
 package com.ydtech.modules.order.entity.api.huatai.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.ydtech.modules.ins.model.vo.CarInfoVo;
+import com.ydtech.modules.ins.model.vo.CustomerInfoVo;
+import com.ydtech.modules.ins.model.vo.KindInfoVo;
+import com.ydtech.modules.ins.model.vo.RiskInfoVo;
 import com.ydtech.modules.order.entity.api.huatai.HuaTaiBaseRequest;
+import com.ydtech.modules.order.entity.api.huatai.HuaTaiBaseRequestHead;
+import com.ydtech.modules.order.entity.api.zhongmei.BaseRequestHead;
+import com.ydtech.modules.order.entity.api.zhongmei.constants.TransCode;
+import com.ydtech.modules.order.entity.api.zhongmei.request.QuotedPriceRequest;
+import com.ydtech.modules.order.entity.api.zhongmei.response.ModelsQueryResponse;
+import com.ydtech.modules.order.entity.config.HuaTaiConfigureParameters;
+import com.ydtech.modules.order.entity.config.ZmConfigureParameters;
+import com.ydtech.modules.order.entity.vo.AccidentalDrivingVo;
+import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
+import com.ydtech.utils.StringUtils;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
+import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 
@@ -25,6 +40,16 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
     //Y	投保单信息
     @JsonProperty("businessData")
     private BusinessDataDto businessData;
+
+    public HuaTaiQuotedPriceRequest(BaseQuoteInfoVo baseQuoteInfoVo, ModelsQueryResponse.SimpleStadarCarDTO simpleStadarCarDTO, AccidentalDrivingVo accidentalDrivingVo, HuaTaiConfigureParameters huaTaiConfigureParameters) {
+        this.businessData = new HuaTaiQuotedPriceRequest.BusinessDataDto(baseQuoteInfoVo, simpleStadarCarDTO, accidentalDrivingVo, huaTaiConfigureParameters);
+    }
+
+    @Override
+    public void setHead(HuaTaiBaseRequestHead head) {
+        super.setHead(head);
+        super.getHead().setTransCode(TransCode.QUOTE_PRICE);
+    }
     //Y	机构代码
     @JsonProperty("loginCom")
     private String loginCom;
@@ -51,6 +76,26 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
         @JsonProperty("saleInfo")
         private SaleInfoDto saleInfo;
 
+        public BusinessDataDto(BaseQuoteInfoVo baseQuoteInfoVo, ModelsQueryResponse.SimpleStadarCarDTO simpleStadarCarDTO, AccidentalDrivingVo accidentalDrivingVo, HuaTaiConfigureParameters huaTaiConfigureParameters) {
+            CarInfoVo carInfo = baseQuoteInfoVo.getCarInfo();
+            List<RiskInfoVo> riskList = baseQuoteInfoVo.getRiskList();
+            List<KindInfoVo> kindList = baseQuoteInfoVo.getKindList();
+            CustomerInfoVo ownerInfo = baseQuoteInfoVo.getOwnerInfo();
+            CustomerInfoVo policyHolderInfo = baseQuoteInfoVo.getPolicyHolderInfo();
+            CustomerInfoVo insuredPersonInfo = baseQuoteInfoVo.getInsuredPersonInfo();
+            int i = Integer.parseInt(carInfo.getSeatCount());
+            // 保单归属地
+            this.businessMain = new BusinessMainDto(huaTaiConfigureParameters);
+            // 车辆信息
+           /* this.insuredObject = new QuotedPriceRequest.BusinessDataDTO.InsuredObjectDTO(carInfo, simpleStadarCarDTO);
+            // 保险信息
+            this.contract = new QuotedPriceRequest.ContractDTO().getContract(riskList, kindList, i - 1);
+            // 客户信息
+            this.customer = new QuotedPriceRequest.CustomerDTO().getCustomers(ownerInfo, policyHolderInfo, insuredPersonInfo);
+*/
+            this.saleInfo = new SaleInfoDto(huaTaiConfigureParameters);
+
+        }
         @NoArgsConstructor
         @Data
         public static class BusinessMainDto implements Serializable{
@@ -67,6 +112,10 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
             //CY	出单计算机IP地址(北京出单机构必传)
             @JsonProperty("computerIp")
             private String computerIp;
+            public BusinessMainDto(HuaTaiConfigureParameters huaTaiConfigureParameters) {
+
+            }
+
         }
         @NoArgsConstructor
         @Data
@@ -232,7 +281,9 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
             //Y	活动ID(通过活动查询接口获得)
             @JsonProperty("promoteSalePlanID")
             private String promoteSalePlanID;
-
+            public SaleInfoDto(HuaTaiConfigureParameters huaTaiConfigureParameters) {
+                this.agentCode = huaTaiConfigureParameters.getAccountUser();
+            }
         }
     }
 

+ 43 - 0
src/main/java/com/ydtech/modules/order/entity/config/HuaTaiConfigureParameters.java

@@ -0,0 +1,43 @@
+package com.ydtech.modules.order.entity.config;
+
+import lombok.Data;
+
+
+/**
+ * @description: 华泰api 配置
+ * @author: wenks
+ * @date: 2023/8/11 19:13
+ **/
+@Data
+public class HuaTaiConfigureParameters implements ConfigureParameters {
+
+    /**
+     * 用户的唯一标识符
+     */
+    private String token;
+
+    /**
+     * 信息来源,用来指定该报文的来源
+     */
+    private String source;
+
+    /**
+     * 省
+     */
+    private String province;
+
+    /**
+     * 市
+     */
+    private String city;
+
+    /**
+     * 县
+     */
+    private String district;
+
+    /**
+     * 统计   2023-08-29 lig 添加
+     */
+    private String accountUser;
+}

+ 0 - 30
src/main/java/com/ydtech/modules/order/service/HuaTaiOrderApiService.java

@@ -12,14 +12,6 @@ import java.util.List;
 
 public interface HuaTaiOrderApiService extends BaseOrderService<AccidentalDrivingVo> {
 
-    /**
-     * 车型查询
-     *
-     * @param modelName 车型名称
-     * @return
-     */
-    HttpResult<List<CarModelDTO>> modelsQuery(String modelName);
-
     /**
      * 提交影像信息
      *
@@ -28,22 +20,6 @@ public interface HuaTaiOrderApiService extends BaseOrderService<AccidentalDrivin
      */
     HttpResult<Object> submitImage(String companyId);
 
-    /**
-     * 承保回调
-     *
-     * @param coverageRequest
-     * @return
-     */
-    HttpResult<Object> underwritingCallback(CoverageRequest coverageRequest);
-
-    /**
-     * 审核回调
-     *
-     * @param approvedRequest
-     * @return
-     */
-    HttpResult<Object> auditCallback(ApprovedRequest approvedRequest);
-
     /**
      * 中煤保单下载
      *
@@ -66,10 +42,4 @@ public interface HuaTaiOrderApiService extends BaseOrderService<AccidentalDrivin
      */
     HttpResult<Object> auditStatusQuery(String companyId);
 
-    /**
-     * 非车可投保产品查询
-     * @param accidentalDrivingVo
-     * @return
-     */
-    HttpResult<Object> rideAccidentQuery(AccidentalDrivingQueryVo accidentalDrivingVo);
 }

+ 34 - 123
src/main/java/com/ydtech/modules/order/service/impl/HuaTaiOrderApiServiceImpl.java

@@ -15,6 +15,7 @@ import com.ydtech.modules.ins.model.ya.CarModelDTO;
 import com.ydtech.modules.ins.model.zm.ZmCarModel;
 import com.ydtech.modules.order.components.ConfigureParametersComponents;
 import com.ydtech.modules.order.components.ZhongmeiRequestApiComponents;
+import com.ydtech.modules.order.components.huatai.HuaTaiRequestApiComponents;
 import com.ydtech.modules.order.components.zhongmei.ZhongmeiRepeatInsuranceComponents;
 import com.ydtech.modules.order.constants.InsuranceTypeCorrespondence;
 import com.ydtech.modules.order.convert.SimpleStadarCarDTOConvert;
@@ -23,6 +24,7 @@ import com.ydtech.modules.order.entity.InsOrders;
 import com.ydtech.modules.order.entity.TaxArrears;
 import com.ydtech.modules.order.entity.api.huatai.HuaTaiBaseRequestHead;
 import com.ydtech.modules.order.entity.api.huatai.request.HuaTaiQuotedPriceRequest;
+import com.ydtech.modules.order.entity.api.huatai.response.HuaTaiQuotedPriceResponse;
 import com.ydtech.modules.order.entity.api.zhongmei.BaseRequestHead;
 import com.ydtech.modules.order.entity.api.zhongmei.constants.enums.AuditStatusEnum;
 import com.ydtech.modules.order.entity.api.zhongmei.constants.enums.DocumentTypeEnum;
@@ -30,6 +32,7 @@ import com.ydtech.modules.order.entity.api.zhongmei.constants.enums.PaymentStatu
 import com.ydtech.modules.order.entity.api.zhongmei.constants.enums.SubmitStatus;
 import com.ydtech.modules.order.entity.api.zhongmei.request.*;
 import com.ydtech.modules.order.entity.api.zhongmei.response.*;
+import com.ydtech.modules.order.entity.config.HuaTaiConfigureParameters;
 import com.ydtech.modules.order.entity.config.ZmConfigureParameters;
 import com.ydtech.modules.order.entity.filter.CarModelsFilterUtils;
 import com.ydtech.modules.order.entity.po.InsTaskImagesBase64;
@@ -59,10 +62,7 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
 
     private final InsTaskImagesService insTaskImagesService;
 
-    private final ZhongmeiRequestApiComponents zhongmeiRequestApiComponents;
-
-
-    private final ZhongmeiRequestComponents zhongmeiRequestComponents;
+    private final HuaTaiRequestApiComponents huaTaiRequestApiComponents;
 
     private final PtlAgreementAttributionService ptlAgreementAttributionService;
 
@@ -72,7 +72,6 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
 
     private final InsFeeOrderService insFeeOrderService;
 
-    private final ZhongmeiRepeatInsuranceComponents zhongmeiRepeatInsuranceComponents;
 
     @Value("${upload.file.path}")
     private String uploadFilePath;
@@ -84,52 +83,19 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
     private String apiUrl;
 
     public HuaTaiOrderApiServiceImpl(InsOrdersService insOrdersService, InsAreaCompanyService insAreaCompanyService, InsTaskImagesService insTaskImagesService,
-                                     ZhongmeiRequestApiComponents zhongmeiRequestApiComponents, ZhongmeiRequestComponents zhongmeiRequestComponents,
+                                     HuaTaiRequestApiComponents huaTaiRequestApiComponents,
                                      ConfigureParametersComponents configureParametersComponents, PtlAgreementAttributionService ptlAgreementAttributionService,
-                                     FeeRuleSchemeService feeRuleSchemeService, InsFeeOrderService insFeeOrderService, ZhongmeiRepeatInsuranceComponents zhongmeiRepeatInsuranceComponents) {
+                                     FeeRuleSchemeService feeRuleSchemeService, InsFeeOrderService insFeeOrderService) {
         this.insOrdersService = insOrdersService;
         this.insAreaCompanyService = insAreaCompanyService;
         this.insTaskImagesService = insTaskImagesService;
-        this.zhongmeiRequestApiComponents = zhongmeiRequestApiComponents;
-        this.zhongmeiRequestComponents = zhongmeiRequestComponents;
+        this.huaTaiRequestApiComponents = huaTaiRequestApiComponents;
         this.configureParametersComponents = configureParametersComponents;
         this.ptlAgreementAttributionService = ptlAgreementAttributionService;
         this.feeRuleSchemeService = feeRuleSchemeService;
         this.insFeeOrderService = insFeeOrderService;
-        this.zhongmeiRepeatInsuranceComponents = zhongmeiRepeatInsuranceComponents;
-    }
-
-    private void modelInquiry(String modelName, List<ModelsQueryResponse.SimpleStadarCarDTO> simpleStadarCarDTOS) {
-        if (!simpleStadarCarDTOS.isEmpty()) {
-            return;
-        }
-
-        Map<String, Object> map = new HashMap<>();
-        map.put("modelName", modelName);
-        Response<List<ZmCarModel>> model = zhongmeiRequestComponents.modelQuery(map, new ParameterizedTypeReference<Response<List<ZmCarModel>>>() {
-        });
-        List<ZmCarModel> data = model.getData();
-        if (data.isEmpty()) {
-            throw new SystemException("未查到你想要的车型");
-        }
-
-        for (ZmCarModel zmCarModel : data) {
-            simpleStadarCarDTOS.add(new ModelsQueryResponse.SimpleStadarCarDTO(zmCarModel));
-        }
-
     }
 
-    @Override
-    public HttpResult<List<CarModelDTO>> modelsQuery(String modelName) {
-        ModelsQueryRequest modelsQueryResponse = new ModelsQueryRequest();
-        modelsQueryResponse.setModelName(modelName);
-//        List<ModelsQueryResponse.SimpleStadarCarDTO> car = zhongmeiRequestApiComponents.modelQuery(modelsQueryResponse, ModelsQueryResponse.class);
-        List<ModelsQueryResponse.SimpleStadarCarDTO> car = new ArrayList<>();
-        modelInquiry(modelName, car);
-
-        List<CarModelDTO> map = SimpleStadarCarDTOConvert.INSTANCE.map(car);
-        return HttpResult.ok(map);
-    }
 
     @Override
     public HttpResult<QuoteRespVo> quote(BaseQuoteInfoVo quoteInfo, BaseQuoteVo<AccidentalDrivingVo> zmQuoteVo) {
@@ -138,20 +104,20 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         // 账号信息
         PtlAgreementAttribution ptlAgreementAttribution = ptlAgreementAttributionService.getById(agreementId);
         // 通过 协议id获取配置实体
-        ZmConfigureParameters zmConfigureParameters = configureParametersComponents.toEntity(ZmConfigureParameters.class, ptlAgreementAttribution);
+        HuaTaiConfigureParameters huaTaiConfigureParameters = configureParametersComponents.toEntity(HuaTaiConfigureParameters.class, ptlAgreementAttribution);
 
-        BaseRequestHead baseRequestHead = new BaseRequestHead(zmConfigureParameters);
+        HuaTaiBaseRequestHead baseRequestHead = new HuaTaiBaseRequestHead(huaTaiConfigureParameters);
 
         CarInfoVo carInfo = quoteInfo.getCarInfo();
         // 2. 查询车型
         ModelsQueryRequest modelsQueryResponse = new ModelsQueryRequest();
         modelsQueryResponse.setModelName(carInfo.getModelcname());
         modelsQueryResponse.setBrand(carInfo.getBrandName());
-        modelsQueryResponse.setHead(baseRequestHead);
-        List<ModelsQueryResponse.SimpleStadarCarDTO> simpleStadarCarDTOS = zhongmeiRequestApiComponents.modelQuery(modelsQueryResponse, ModelsQueryResponse.class);
-
+        //modelsQueryResponse.setHead(baseRequestHead);
+        //List<ModelsQueryResponse.SimpleStadarCarDTO> simpleStadarCarDTOS = huaTaiRequestApiComponents.modelQuery(modelsQueryResponse, ModelsQueryResponse.class);
+        List<ModelsQueryResponse.SimpleStadarCarDTO> simpleStadarCarDTOS = null;
         // 2.1 使用爬虫接口调用车型
-        modelInquiry(carInfo.getModelcname(), simpleStadarCarDTOS);
+       // modelInquiry(carInfo.getModelcname(), simpleStadarCarDTOS);
 
         // 2.2 过滤车型
         ModelsQueryResponse.SimpleStadarCarDTO simpleStadarCarDTO =
@@ -163,13 +129,13 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
             simpleStadarCarDTO.setApprovedPassengersCapacity(seatCount);
         }
         // 3 组装参数
-        QuotedPriceRequest quotedPriceRequest = new QuotedPriceRequest(quoteInfo, simpleStadarCarDTO, zmQuoteVo.getAccidentalDrivingVo(), zmConfigureParameters);
+        HuaTaiQuotedPriceRequest quotedPriceRequest = new HuaTaiQuotedPriceRequest(quoteInfo, simpleStadarCarDTO, zmQuoteVo.getAccidentalDrivingVo(), huaTaiConfigureParameters);
         quotedPriceRequest.setHead(baseRequestHead);
 
-        QuotedPriceResponse quotedPriceResponse = zhongmeiRequestApiComponents.quotedPrice(quotedPriceRequest, QuotedPriceResponse.class);
+        HuaTaiQuotedPriceResponse quotedPriceResponse = huaTaiRequestApiComponents.quotedPrice(quotedPriceRequest, HuaTaiQuotedPriceResponse.class);
         QuoteRespVo quoteRespVo = getQuoteRespVo(quotedPriceResponse, quoteInfo);
         //这里调用费用匹配功能
-        feeRuleSchemeService.dealFeeOrderInfo(quoteInfo,quoteRespVo,ptlAgreementAttribution.getId(),quotedPriceResponse.getBusinessNo());
+        //feeRuleSchemeService.dealFeeOrderInfo(quoteInfo,quoteRespVo,ptlAgreementAttribution.getId(),quotedPriceResponse.getBusinessNo());
         return responseOrder(quotedPriceResponse, quoteRespVo, ptlAgreementAttribution);
     }
 
@@ -194,7 +160,7 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
             insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
             return HttpResult.error(response.getSubmitNotion());
         }
-        zhongmeiRequestApiComponents.validationResults(response);
+       // huaTaiRequestApiComponents.validationResults(response);
         // 4. 投保单号
         insAreaCompany.setPaymentLink(response.getPayUrl());
         insAreaCompany.setJqapplyno(response.getForceProposalNo());
@@ -222,55 +188,10 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         }
         UploadImageRequest request = new UploadImageRequest(insTaskImagesBase64s, insOrderNo);
         request.setHead(new BaseRequestHead(zmConfigureParameters));
-        zhongmeiRequestApiComponents.uploadImage(request, UploadImageResponse.class);
+        huaTaiRequestApiComponents.uploadImage(request, UploadImageResponse.class);
         return HttpResult.ok("上传文件成功");
     }
 
-    @Override
-    public HttpResult<Object> underwritingCallback(CoverageRequest coverageRequest) {
-        try {
-            if (coverageRequest.getStatus() == PaymentStatusEnum.P_2.getCode()) {
-                // 主投保单号
-                String proposalNo = coverageRequest.getProposalNo();
-                InsAreaCompany insAreaCompany = insAreaCompanyService.getByInsOrderNo(proposalNo);
-                // 保单号
-                insAreaCompany.setJqpolicyno(coverageRequest.getForcePolicyNo());
-                insAreaCompany.setSypolicyno(coverageRequest.getBizPolicyNo());
-//                insAreaCompany.setJypolicyno(coverageRequest.getAccidentPolicyNo());
-                insAreaCompany.setOrderstatus(InsOrderStatusEnum.ACCEPT_INSURANCE.getCode());
-                insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
-            }
-        } catch (Exception e) {
-            log.debug("承保回调 {}", e.getMessage());
-        }
-
-        return null;
-    }
-
-    @Override
-    public HttpResult<Object> auditCallback(ApprovedRequest approvedRequest) {
-        try {
-            // 主投保单号
-            String contractNo = approvedRequest.getContractNo();
-            InsAreaCompany insAreaCompany = insAreaCompanyService.getByInsOrderNo(contractNo);
-            if (AuditStatusEnum.S_1.getCode().equals(approvedRequest.getStatusCode())) {
-                insAreaCompany.setJqapplyno(approvedRequest.getProposalNoJ());
-                insAreaCompany.setSyapplyno(approvedRequest.getProposalNoS());
-//                insAreaCompany.setJyapplyno(approvedRequest.getProposalNoCP());
-                insAreaCompany.setPaymentLink(approvedRequest.getPayUrl());
-                insAreaCompany.setOrderstatus(InsOrderStatusEnum.WAIT_PAY.getCode());
-            } else {
-                if(StringUtils.isNotEmpty(approvedRequest.getHandleText())){
-                    insAreaCompany.setAuditopinion(approvedRequest.getHandleText());
-                }
-                insAreaCompany.setOrderstatus(InsOrderStatusEnum.TO_BACK.getCode());
-            }
-            insAreaCompanyService.updateCompanyAndOrders(insAreaCompany);
-        } catch (Exception e) {
-            log.debug("审核回调 {}", e.getMessage());
-        }
-        return null;
-    }
 
     @Override
     public HttpResult<Object> paymentEnquiry(String companyId) {
@@ -289,7 +210,8 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         orderStatusRequest.setSubProposalNo(insAreaCompany.getInsOrderNo());
         orderStatusRequest.setHead(new BaseRequestHead(zmConfigureParameters));
 
-        OrderStatusResponse orderStatusResponse = zhongmeiRequestApiComponents.orderStatus(orderStatusRequest, OrderStatusResponse.class);
+        //OrderStatusResponse orderStatusResponse = huaTaiRequestApiComponents.orderStatus(orderStatusRequest, OrderStatusResponse.class);
+        OrderStatusResponse orderStatusResponse = null;
         String status = orderStatusResponse.getStatus();
 
         // 3. 承保成功修改状态
@@ -330,7 +252,8 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         request.setPolicyNo(policyNo);
         request.setDocumentType(code);
         request.setHead(new BaseRequestHead(zmConfigureParameters));
-        InsurancePolicyPrintResponse response = zhongmeiRequestApiComponents.insurancePolicyPrint(request, InsurancePolicyPrintResponse.class);
+        //InsurancePolicyPrintResponse response = huaTaiRequestApiComponents.insurancePolicyPrint(request, InsurancePolicyPrintResponse.class);
+        InsurancePolicyPrintResponse response = null;
         if("1".equals(response.getStatusCode())){
             List<String> urlList = response.getDownloadUrl();
 
@@ -381,25 +304,26 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
                 zmConfigureParameters.getDistrict(), customerInfoVo.getAddr());
         submitRequest.setDeliveryInfo(deliveryInfoDTO);
         submitRequest.setHead(new BaseRequestHead(zmConfigureParameters));
-        return zhongmeiRequestApiComponents.submit(submitRequest, SubmitResponse.class);
+       // return huaTaiRequestApiComponents.submit(submitRequest, SubmitResponse.class);
+        return null;
     }
 
-    public QuoteRespVo getQuoteRespVo(QuotedPriceResponse quotedPriceResponse, BaseQuoteInfoVo yaQuoteInfoVo) {
+    public QuoteRespVo getQuoteRespVo(HuaTaiQuotedPriceResponse quotedPriceResponse, BaseQuoteInfoVo yaQuoteInfoVo) {
         double jqPremium = 0;
         double syPremium = 0;
         double jqDiscount = 0;
         double syDiscount = 0;
 
-        if (!ObjectUtils.isEmpty(quotedPriceResponse.getForcePrimium())) {
+        /*if (!ObjectUtils.isEmpty(quotedPriceResponse.getForcePrimium())) {
             jqPremium = quotedPriceResponse.getForcePrimium().getPremium();
         }
         if (!ObjectUtils.isEmpty(quotedPriceResponse.getBizPremium())) {
             syPremium = quotedPriceResponse.getBizPremium().getSumPremium();
-        }
+        }*/
 
         QuoteRespVo quoteRespVo = new QuoteRespVo();
 
-        List<RiskInfoVo> riskList = yaQuoteInfoVo.getRiskList();
+       /* List<RiskInfoVo> riskList = yaQuoteInfoVo.getRiskList();
         // 报价险种放入保费
         List<QuoteRiskRespVo> riskList1 = QuoteRiskRespVo.toQuoteRiskRespVoList(riskList, jqPremium, syPremium);
 
@@ -452,13 +376,13 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         String zmScore = quotedPriceResponse.getPlatMain().getZmScore();
         quoteRespVo.setILogPreUdwMess(zmScore);//评分
         quoteRespVo.setOrderno(yaQuoteInfoVo.getOrderNo()); //订单号
-
+*/
         return quoteRespVo;
     }
 
-    public HttpResult<QuoteRespVo> responseOrder(QuotedPriceResponse quotedPriceResponse, QuoteRespVo quoteRespVo, PtlAgreementAttribution ptlAgreementAttribution) {
+    public HttpResult<QuoteRespVo> responseOrder(HuaTaiQuotedPriceResponse quotedPriceResponse, QuoteRespVo quoteRespVo, PtlAgreementAttribution ptlAgreementAttribution) {
         //保存订单信息
-        InsAreaCompany insAreaCompany = new InsAreaCompany(quoteRespVo, ptlAgreementAttribution);
+        /*InsAreaCompany insAreaCompany = new InsAreaCompany(quoteRespVo, ptlAgreementAttribution);
         insAreaCompany.setId(quotedPriceResponse.getBusinessNo());
         insAreaCompany.setInsOrderNo(quotedPriceResponse.getBusinessNo());
         // 车船税
@@ -468,7 +392,7 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
 
         insAreaCompanyService.insertCompanyAndOrders(insAreaCompany);
         quoteRespVo.setCompanyId(insAreaCompany.getId());
-        quoteRespVo.setTaxArrears(taxArrearsList);
+        quoteRespVo.setTaxArrears(taxArrearsList);*/
         return HttpResult.ok(quotedPriceResponse.getHead().getReturnMessage(), quoteRespVo);
     }
 
@@ -487,7 +411,8 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
         submitStatusQueryRequest.setProposalNo(insAreaCompany.getInsOrderNo());
         submitStatusQueryRequest.setHead(new BaseRequestHead(zmConfigureParameters));
 
-        SubmitStatusQueryResponse submitStatusQueryResponse = zhongmeiRequestApiComponents.submitStatus(submitStatusQueryRequest, SubmitStatusQueryResponse.class);
+        //SubmitStatusQueryResponse submitStatusQueryResponse = huaTaiRequestApiComponents.submitStatus(submitStatusQueryRequest, SubmitStatusQueryResponse.class);
+        SubmitStatusQueryResponse submitStatusQueryResponse = null;
         String underWriteInd = submitStatusQueryResponse.getUnderWriteInd();
 
         // 3. 通过返回核保状态修改状态
@@ -504,20 +429,6 @@ public class HuaTaiOrderApiServiceImpl implements HuaTaiOrderApiService {
             return HttpResult.ok(underWriteInd);
         }
     }
-    @Override
-    public HttpResult<Object> rideAccidentQuery(AccidentalDrivingQueryVo accidentalDrivingVo) {
-        // 1. 协议id获取配置实体
-        ZmConfigureParameters zmConfigureParameters = configureParametersComponents.toEntity(ZmConfigureParameters.class, accidentalDrivingVo.getAgreementId());
-
-        // 2. 组装请求体
-        RideAccidentQueryRequest rideAccidentQueryRequest = new RideAccidentQueryRequest(zmConfigureParameters);
-        rideAccidentQueryRequest.setSeats(accidentalDrivingVo.getSeatNum());
-        rideAccidentQueryRequest.setHead(new BaseRequestHead(zmConfigureParameters));
-
-        RideAccidentQueryResponse rideAccidentQueryResponse = zhongmeiRequestApiComponents.rideAccidentQuery(rideAccidentQueryRequest, RideAccidentQueryResponse.class);
-
-        return HttpResult.ok("");
-    }
 
 }