فهرست منبع

中煤Api对接

BifronsV 3 سال پیش
والد
کامیت
19574bfb53
20فایلهای تغییر یافته به همراه520 افزوده شده و 71 حذف شده
  1. 85 62
      src/main/java/com/ydtech/components/ZhongmeiRequestApiComponents.java
  2. 2 3
      src/main/java/com/ydtech/config/properties/ZmApiConfigurationProperties.java
  3. 4 3
      src/main/java/com/ydtech/modules/order/entity/api/zm/BaseHead.java
  4. 2 2
      src/main/java/com/ydtech/modules/order/entity/api/zm/BaseRequestHead.java
  5. 35 0
      src/main/java/com/ydtech/modules/order/entity/api/zm/constants/TransCode.java
  6. 28 0
      src/main/java/com/ydtech/modules/order/entity/api/zm/constants/enums/SubmitStatusQueryEnum.java
  7. 1 0
      src/main/java/com/ydtech/modules/order/entity/api/zm/request/ApprovedRequest.java
  8. 48 0
      src/main/java/com/ydtech/modules/order/entity/api/zm/request/CheckSMScodeRequest.java
  9. 9 0
      src/main/java/com/ydtech/modules/order/entity/api/zm/request/InsurancePolicyPrintRequest.java
  10. 9 0
      src/main/java/com/ydtech/modules/order/entity/api/zm/request/ModelsQueryRequest.java
  11. 34 0
      src/main/java/com/ydtech/modules/order/entity/api/zm/request/OrderStatusRequest.java
  12. 10 0
      src/main/java/com/ydtech/modules/order/entity/api/zm/request/QuotedPriceRequest.java
  13. 9 1
      src/main/java/com/ydtech/modules/order/entity/api/zm/request/SubmitRequest.java
  14. 37 0
      src/main/java/com/ydtech/modules/order/entity/api/zm/request/SubmitStatusQueryRequest.java
  15. 8 0
      src/main/java/com/ydtech/modules/order/entity/api/zm/request/UploadImageRequest.java
  16. 39 0
      src/main/java/com/ydtech/modules/order/entity/api/zm/request/ValidSMScodeRequest.java
  17. 53 0
      src/main/java/com/ydtech/modules/order/entity/api/zm/response/CheckSMScodeResponse.java
  18. 43 0
      src/main/java/com/ydtech/modules/order/entity/api/zm/response/OrderStatusResponse.java
  19. 28 0
      src/main/java/com/ydtech/modules/order/entity/api/zm/response/SubmitStatusQueryResponse.java
  20. 36 0
      src/main/java/com/ydtech/modules/order/entity/api/zm/response/ValidSMScodeResponse.java

+ 85 - 62
src/main/java/com/ydtech/components/ZhongmeiRequestApiComponents.java

@@ -5,7 +5,6 @@ import com.alibaba.fastjson.JSONObject;
 import com.ydtech.config.properties.ZmApiConfigurationProperties;
 import com.ydtech.exception.SystemException;
 import com.ydtech.modules.order.entity.api.zm.BaseRequest;
-import com.ydtech.modules.order.entity.api.zm.BaseRequestHead;
 import com.ydtech.modules.order.entity.api.zm.BaseResponse;
 import com.ydtech.modules.order.entity.api.zm.request.*;
 import com.ydtech.modules.order.entity.api.zm.response.*;
@@ -19,6 +18,7 @@ import java.util.List;
 
 
 /**
+ *
  * @author wenks
  * @version 0.0.2
  * @description 中煤 APi 请求
@@ -28,19 +28,6 @@ import java.util.List;
 @Component
 public class ZhongmeiRequestApiComponents {
 
-    /**
-     * 车型查询	https://www.echinacoal.com/ singlePlatform /ModelsQuery.do
-     * 续保查询(暂不做)	https:// www.echinacoal.com/ singlePlatform /RenewalQuery.do
-     * 报价	https:// www.echinacoal.com/singlePlatform/QuotedPrice.do
-     * 提交核保	https:// www.echinacoal.com/ singlePlatform /Submit.do
-     * 缴费查询	https:// www.echinacoal.com / singlePlatform /OrderStatus.do
-     * 核保状态查询	https:// www.echinacoal.com / singlePlatform /SubmitStatus.do
-     * 电子保单下载	https:// www.echinacoal.com / singlePlatform /InsurancePolicyPrint.do
-     * 影像上传(接口)	https://www.echinacoal.com/singlePlatform/others/UploadImage.do
-     * 校验发短信接口	https://www.echinacoal.com/singlePlatform/prpall/CheckSMScode.do
-     * 验证校验码正确	https://www.echinacoal.com/singlePlatform/prpall/ValidSMScode.do
-     */
-
 
     private final ZmApiConfigurationProperties properties;
 
@@ -51,7 +38,7 @@ public class ZhongmeiRequestApiComponents {
         this.restTemplate = restTemplate;
     }
 
-    public <K extends BaseRequest, T extends BaseResponse> T post(K k, String url, Class<T> tClass) {
+    private <K extends BaseRequest, T extends BaseResponse> T post(K k, String url, Class<T> tClass) {
         HttpHeaders httpHeaders = new HttpHeaders();
         httpHeaders.setContentType(MediaType.APPLICATION_JSON);
         HttpEntity<K> yaQuoteInfoVoHttpEntity = new HttpEntity<>(k, httpHeaders);
@@ -71,76 +58,112 @@ public class ZhongmeiRequestApiComponents {
     }
 
     /**
-     * 车型查询
-     *
-     * @param request 请求内容
-     * @param tClass  响应类型
+     * @param <Request>  请求体
+     * @param <Response> 响应体
+     * @param request    请求内容
+     * @param tClass     响应类型
+     * @param verify     结果是否需要验证
      * @return 响应内容
      */
+    public <Request extends BaseRequest, Response extends BaseResponse> Response request(Request request, Class<Response> tClass, boolean verify, String domain) {
+        String url = domain + request.getHead().getTransCode() + ".do";
+        request.setHead(properties.getHead());
+        Response response = post(request, url, tClass);
+        if (verify) {
+            validationResults(response);
+        }
+        return post(request, url, tClass);
+    }
+
+    /**
+     * 常规
+     */
+    public <Request extends BaseRequest, Response extends BaseResponse> Response routineRequest(Request request, Class<Response> tClass, boolean verify) {
+        return request(request, tClass, verify, properties.getUrl());
+    }
+
+    /**
+     * 影像
+     */
+    public <Request extends BaseRequest, Response extends BaseResponse> void imageRequest(Request request, Class<Response> tClass, boolean verify) {
+        request(request, tClass, verify, properties.getImageUrl());
+    }
+
+    /**
+     * 短信
+     */
+    public <Request extends BaseRequest, Response extends BaseResponse> Response smsRequest(Request request, Class<Response> tClass, boolean verify) {
+        return request(request, tClass, verify, properties.getSmsUrl());
+    }
+
+
+    /**
+     * 车型查询 传入必要车辆信息,返回车型列表给用户选择
+     */
     public List<ModelsQueryResponse.SimpleStadarCarDTO> modelQuery(ModelsQueryRequest request, Class<ModelsQueryResponse> tClass) {
-        String transCode = "ModelsQuery";
-        String url = properties.getUrl() + transCode + ".do";
-        BaseRequestHead head = properties.getHead(transCode);
-        request.setHead(head);
-        ModelsQueryResponse post = post(request, url, tClass);
-        return post.getSimpleStadarCar();
+        return routineRequest(request, tClass, true).getSimpleStadarCar();
     }
 
     /**
-     * 报价
-     *
-     * @param request 请求内容
-     * @return 响应内容
+     * 报价 传入必要投保方案信息,返回投保单保费及车船税
      */
     public QuotedPriceResponse quotedPrice(QuotedPriceRequest request, Class<QuotedPriceResponse> tClass) {
-        String transCode = "QuotedPrice";
-        String url = properties.getUrl() + transCode + ".do";
-        BaseRequestHead head = properties.getHead(transCode);
-        request.setHead(head);
-        return post(request, url, tClass);
+        return routineRequest(request, tClass, true);
     }
 
     /**
-     * 提交核保
-     * @param request 请求内容
-     * @param tClass 响应类型
-     * @return 响应内容
+     * 提交核保 传入投保单必要信息,对投保单进行审核
      */
     public SubmitResponse submit(SubmitRequest request, Class<SubmitResponse> tClass) {
-        String transCode = "Submit";
-        String url = properties.getUrl() + transCode + ".do";
-        BaseRequestHead head = properties.getHead(transCode);
-        request.setHead(head);
         request.setCallbackUrl(properties.getCallbackDomain() + properties.getCallbackUrl());
         request.setPageUrl(properties.getPageUrl());
         request.setPassMsgUrl(properties.getCallbackDomain() + properties.getPassMsgUrl());
-        return post(request, url, tClass);
+        return routineRequest(request, tClass, false);
     }
 
     /**
-     * 上传影像
-     * @param request 请求内容
-     * @param tClass 响应类型
+     * 上传影像 传入订单信息,查询是否生成保单成功
      */
     public void uploadImage(UploadImageRequest request, Class<UploadImageResponse> tClass) {
-        String transCode = "UploadImage";
-        String url = properties.getImageUrl() + transCode + ".do";
-        BaseRequestHead head = properties.getHead(transCode);
-        request.setHead(head);
-        UploadImageResponse response = post(request, url, tClass);
-        validationResults(response);
-    }
-
-    public InsurancePolicyPrintResponse insurancePolicyPrint(InsurancePolicyPrintRequest request, Class<InsurancePolicyPrintResponse> tClass){
-        String transCode = "InsurancePolicyPrint";
-        String url = properties.getUrl() + transCode + ".do";
-        BaseRequestHead head = properties.getHead(transCode);
-        request.setHead(head);
-        InsurancePolicyPrintResponse response = post(request, url, tClass);
-        validationResults(response);
-        return response;
+        imageRequest(request, tClass, true);
+    }
+
+    /**
+     * 缴费查询
+     */
+    public OrderStatusResponse orderStatus(OrderStatusRequest request, Class<OrderStatusResponse> tClass) {
+        return routineRequest(request, tClass, true);
     }
 
+    /**
+     * 核保状态查询 传入单号查询该单核保状态
+     */
+    public SubmitStatusQueryResponse submitStatus(SubmitStatusQueryRequest request, Class<SubmitStatusQueryResponse> tClass) {
+        return routineRequest(request, tClass, true);
+    }
+
+    /**
+     * 电子保单下载 传入单号相关信息下载电子保单
+     */
+    public InsurancePolicyPrintResponse insurancePolicyPrint(InsurancePolicyPrintRequest request, Class<InsurancePolicyPrintResponse> tClass) {
+        return routineRequest(request, tClass, true);
+    }
+
+    /**
+     * 校验发短信接口 校验此单是否需要发送短信
+     */
+    public CheckSMScodeResponse checkSMScode(CheckSMScodeRequest request, Class<CheckSMScodeResponse> tClass) {
+        return smsRequest(request, tClass, true);
+    }
+
+    /**
+     * 验证校验码正确 录入校验码校验是否正确
+     */
+    public ValidSMScodeResponse checkSMScode(ValidSMScodeRequest request, Class<ValidSMScodeResponse> tClass) {
+        return smsRequest(request, tClass, true);
+    }
+
+
     public <T extends BaseResponse> void validationResults(T t) {
         if ("-1".equals(t.getHead().getReturnCode())) {
             throw new SystemException(t.getHead().getReturnMessage());

+ 2 - 3
src/main/java/com/ydtech/config/properties/ZmApiConfigurationProperties.java

@@ -38,11 +38,10 @@ public class ZmApiConfigurationProperties {
     /**
      * 中煤请求 head 的参数
      *
-     * @param transCode
      * @return
      */
-    public BaseRequestHead getHead(String transCode) {
-        return new BaseRequestHead(transCode, "Req", token, source);
+    public BaseRequestHead getHead() {
+        return new BaseRequestHead(token, source);
     }
 
 }

+ 4 - 3
src/main/java/com/ydtech/modules/order/entity/api/zm/BaseHead.java

@@ -10,7 +10,8 @@ import java.io.Serializable;
  * @author wenks
  * @version 0.0.2
  * @description TODO
- * @date 2023/4/21 10:29
+ * @date 2023/4/21 10:29.
+ *
  */
 @Data
 @AllArgsConstructor
@@ -26,10 +27,10 @@ public class BaseHead implements Serializable {
     /**
      *交互类型,用来指定该报文是入参(Req)
      */
-    private String transType;
+    private String transType = "Req";
     /**
      *信息来源,用来指定该报文的来源
      */
     private String token;
-    
+
 }

+ 2 - 2
src/main/java/com/ydtech/modules/order/entity/api/zm/BaseRequestHead.java

@@ -25,8 +25,8 @@ public class BaseRequestHead extends BaseHead{
      */
     private String source;
 
-    public BaseRequestHead(String transCode, String transType, String token, String source) {
-        super(transCode, transType, token);
+    public BaseRequestHead(String token, String source) {
+        super.setToken(token);
         this.source = source;
     }
 

+ 35 - 0
src/main/java/com/ydtech/modules/order/entity/api/zm/constants/TransCode.java

@@ -0,0 +1,35 @@
+package com.ydtech.modules.order.entity.api.zm.constants;
+
+/**
+ * @author wenks
+ * @version 0.0.2
+ * @description 交互代码
+ * @date 2023/4/25 16:54
+ */
+public class TransCode {
+
+    //车型查询
+    public static final String MODELS_QUERY = "ModelsQuery";
+    //报价
+    public static final String QUOTE_PRICE = "QuotePrice";
+    //提交核保
+    public static final String SUBMIT = "Submit";
+    //缴费查询
+    public static final String ORDER_STATUS = "OrderStatus";
+    //投保单核保状态查询
+    public static final String SUBMIT_STATUS_QUERY = "SubmitStatusQuery";
+
+    // 投保单核保状态 url 参数
+    public static final String SUBMIT_STATUS = "SubmitStatus";
+    //电子保单下载
+    public static final String INSURANCE_POLICY_PRINT = "InsurancePolicyPrint";
+    //影像上传
+    public static final String UPLOAD_IMAGE = "UploadImage";
+    //校验是否发送短信验证码
+    public static final String CHECK_SMS_CODE = "CheckSMScode";
+    //校验验证码是否正确
+    public static final String VALID_SMS_CODE = "ValidSMScode";
+    //续保查询
+    public static final String RenewalQuery = "RenewalQuery";
+
+}

+ 28 - 0
src/main/java/com/ydtech/modules/order/entity/api/zm/constants/enums/SubmitStatusQueryEnum.java

@@ -0,0 +1,28 @@
+package com.ydtech.modules.order.entity.api.zm.constants.enums;
+
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+/**
+ * @author wenks
+ * @version 0.0.2
+ * @description TODO
+ * @date 2023/4/25 17:58
+ */
+@Getter
+@AllArgsConstructor
+public enum SubmitStatusQueryEnum {
+
+    O_1("初始状态"),
+    O_2("核保通过"),
+    O_3("核保不通过"),
+    O_4("自动核保"),
+    O_5("拒保"),
+    O_6("复核通过"),
+    O_7("承保确认"),
+    O_8("复核不通过"),
+    O_9("待复核"),
+    O_10("待核保");
+
+    private final String meaning;
+}

+ 1 - 0
src/main/java/com/ydtech/modules/order/entity/api/zm/request/ApprovedRequest.java

@@ -19,6 +19,7 @@ import java.io.Serializable;
 @AllArgsConstructor
 public class ApprovedRequest implements Serializable {
 
+
     private static final long serialVersionUID = 897412373745055129L;
 
     // 投保单号

+ 48 - 0
src/main/java/com/ydtech/modules/order/entity/api/zm/request/CheckSMScodeRequest.java

@@ -0,0 +1,48 @@
+package com.ydtech.modules.order.entity.api.zm.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.ydtech.modules.order.entity.api.zm.BaseRequest;
+import com.ydtech.modules.order.entity.api.zm.BaseRequestHead;
+import com.ydtech.modules.order.entity.api.zm.constants.TransCode;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @author wenks
+ * @version 0.0.2
+ * @description TODO
+ * @date 2023/4/25 16:25
+ */
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@Data
+public class CheckSMScodeRequest  extends BaseRequest {
+
+    private static final long serialVersionUID = 6693990842785981967L;
+
+    @JsonProperty("itemsList")
+    private List<ItemsListDTO> itemsList;
+    /**
+     * 1:校验是否需要发送验证码
+     * 2:发送验证码
+     */
+    @JsonProperty("operationCode")
+    private String operationCode;
+
+    @Override
+    public void setHead(BaseRequestHead head) {
+        super.setHead(head);
+        super.getHead().setTransCode(TransCode.CHECK_SMS_CODE);
+    }
+    @NoArgsConstructor
+    @Data
+    public static class ItemsListDTO {
+        @JsonProperty("contractNo")
+        private String contractNo;
+        @JsonProperty("businessType")
+        private String businessType;
+    }
+}

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

@@ -2,6 +2,8 @@ package com.ydtech.modules.order.entity.api.zm.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.ydtech.modules.order.entity.api.zm.BaseRequest;
+import com.ydtech.modules.order.entity.api.zm.BaseRequestHead;
+import com.ydtech.modules.order.entity.api.zm.constants.TransCode;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
@@ -33,4 +35,11 @@ public class InsurancePolicyPrintRequest extends BaseRequest {
 
     @JsonProperty("documentType")
     private String documentType;
+
+    @Override
+    public void setHead(BaseRequestHead head) {
+        super.setHead(head);
+        super.getHead().setTransCode(TransCode.INSURANCE_POLICY_PRINT);
+    }
+
 }

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

@@ -1,6 +1,8 @@
 package com.ydtech.modules.order.entity.api.zm.request;
 
 import com.ydtech.modules.order.entity.api.zm.BaseRequest;
+import com.ydtech.modules.order.entity.api.zm.BaseRequestHead;
+import com.ydtech.modules.order.entity.api.zm.constants.TransCode;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
@@ -14,6 +16,7 @@ import lombok.EqualsAndHashCode;
 @Data
 public class ModelsQueryRequest extends BaseRequest {
 
+
     private static final long serialVersionUID = -2895797100567649166L;
     /**
      * 每页行数
@@ -40,4 +43,10 @@ public class ModelsQueryRequest extends BaseRequest {
      */
     private String modelCode;
 
+    @Override
+    public void setHead(BaseRequestHead head) {
+        super.setHead(head);
+        super.getHead().setTransCode(TransCode.MODELS_QUERY);
+    }
+
 }

+ 34 - 0
src/main/java/com/ydtech/modules/order/entity/api/zm/request/OrderStatusRequest.java

@@ -0,0 +1,34 @@
+package com.ydtech.modules.order.entity.api.zm.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.ydtech.modules.order.entity.api.zm.BaseRequest;
+import com.ydtech.modules.order.entity.api.zm.BaseRequestHead;
+import com.ydtech.modules.order.entity.api.zm.constants.TransCode;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author wenks
+ * @version 0.0.2
+ * @description TODO
+ * @date 2023/4/25 16:32
+ */
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@Data
+public class OrderStatusRequest extends BaseRequest {
+
+    private static final long serialVersionUID = 5827455434107030556L;
+    @JsonProperty("OrderNo")
+    private String orderNo;
+
+    @JsonProperty("subProposalNo")
+    private String subProposalNo;
+
+    @Override
+    public void setHead(BaseRequestHead head) {
+        super.setHead(head);
+        super.getHead().setTransCode(TransCode.ORDER_STATUS);
+    }
+}

+ 10 - 0
src/main/java/com/ydtech/modules/order/entity/api/zm/request/QuotedPriceRequest.java

@@ -7,8 +7,10 @@ import com.ydtech.modules.ins.vo.CustomerInfoVo;
 import com.ydtech.modules.ins.vo.KindInfoVo;
 import com.ydtech.modules.ins.vo.RiskInfoVo;
 import com.ydtech.modules.order.entity.api.zm.BaseRequest;
+import com.ydtech.modules.order.entity.api.zm.BaseRequestHead;
 import com.ydtech.modules.order.entity.api.zm.constants.InsuranceTypeCorrespondence;
 import com.ydtech.modules.order.entity.api.zm.constants.TimeConstants;
+import com.ydtech.modules.order.entity.api.zm.constants.TransCode;
 import com.ydtech.modules.order.entity.api.zm.constants.enums.ContractEnum;
 import com.ydtech.modules.order.entity.api.zm.response.ModelsQueryResponse;
 import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
@@ -40,6 +42,8 @@ public class QuotedPriceRequest extends BaseRequest {
 
     private static final long serialVersionUID = 751466864923522868L;
 
+
+
     @JsonProperty("businessData")
     private BusinessDataDTO businessData;
 
@@ -47,6 +51,12 @@ public class QuotedPriceRequest extends BaseRequest {
         this.businessData = new BusinessDataDTO(baseQuoteInfoVo, simpleStadarCarDTO);
     }
 
+    @Override
+    public void setHead(BaseRequestHead head) {
+        super.setHead(head);
+        super.getHead().setTransCode(TransCode.QUOTE_PRICE);
+    }
+
     @AllArgsConstructor
     @NoArgsConstructor
     @Data

+ 9 - 1
src/main/java/com/ydtech/modules/order/entity/api/zm/request/SubmitRequest.java

@@ -2,6 +2,8 @@ package com.ydtech.modules.order.entity.api.zm.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.ydtech.modules.order.entity.api.zm.BaseRequest;
+import com.ydtech.modules.order.entity.api.zm.BaseRequestHead;
+import com.ydtech.modules.order.entity.api.zm.constants.TransCode;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -23,7 +25,7 @@ public class SubmitRequest extends BaseRequest {
     @JsonProperty("VIN")
     private String vin;
     @JsonProperty("checkCode")
-    private String checkCode;
+    private String checkCode = "123456";
     @JsonProperty("deliveryInfo")
     private DeliveryInfoDTO deliveryInfo;
     @JsonProperty("pageUrl")
@@ -37,6 +39,12 @@ public class SubmitRequest extends BaseRequest {
     @JsonProperty
     private String busSrePcIP = "47.92.254.66";
 
+    @Override
+    public void setHead(BaseRequestHead head) {
+        super.setHead(head);
+        super.getHead().setTransCode(TransCode.SUBMIT);
+    }
+
 
     @AllArgsConstructor
     @NoArgsConstructor

+ 37 - 0
src/main/java/com/ydtech/modules/order/entity/api/zm/request/SubmitStatusQueryRequest.java

@@ -0,0 +1,37 @@
+package com.ydtech.modules.order.entity.api.zm.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.ydtech.modules.order.entity.api.zm.BaseRequest;
+import com.ydtech.modules.order.entity.api.zm.BaseRequestHead;
+import com.ydtech.modules.order.entity.api.zm.constants.TransCode;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author wenks
+ * @version 0.0.2
+ * @description TODO
+ * @date 2023/4/25 17:55
+ */
+@NoArgsConstructor
+@Data
+public class SubmitStatusQueryRequest extends BaseRequest {
+
+    private static final long serialVersionUID = -3217745096583712337L;
+
+    @JsonProperty("proposalNo")
+    private String proposalNo;
+
+    @Override
+    public void setHead(BaseRequestHead head) {
+        super.setHead(head);
+        super.getHead().setTransCode(TransCode.SUBMIT_STATUS_QUERY);
+    }
+
+    @Override
+    public BaseRequestHead getHead() {
+        super.getHead().setTransCode(TransCode.SUBMIT_STATUS);
+        return super.getHead();
+    }
+
+}

+ 8 - 0
src/main/java/com/ydtech/modules/order/entity/api/zm/request/UploadImageRequest.java

@@ -4,7 +4,9 @@ import cn.hutool.core.util.ArrayUtil;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.ydtech.modules.esm.model.InsTaskImage;
 import com.ydtech.modules.order.entity.api.zm.BaseRequest;
+import com.ydtech.modules.order.entity.api.zm.BaseRequestHead;
 import com.ydtech.modules.order.entity.api.zm.constants.InsuranceTypeCorrespondence;
+import com.ydtech.modules.order.entity.api.zm.constants.TransCode;
 import com.ydtech.modules.order.entity.api.zm.constants.enums.ImageTypeEnum;
 import lombok.AllArgsConstructor;
 import lombok.Data;
@@ -37,6 +39,12 @@ public class UploadImageRequest extends BaseRequest {
     @JsonProperty("nodeBeanlist")
     private List<NodeBeanlistDTO> nodeBeanlist;
 
+    @Override
+    public void setHead(BaseRequestHead head) {
+        super.setHead(head);
+        super.getHead().setTransCode(TransCode.UPLOAD_IMAGE);
+    }
+
     public UploadImageRequest(List<InsTaskImage> insTaskImages, String contractNo) {
         this.contractNo = contractNo;
         List<NodeBeanlistDTO> nodeBeanlist = new ArrayList<>();

+ 39 - 0
src/main/java/com/ydtech/modules/order/entity/api/zm/request/ValidSMScodeRequest.java

@@ -0,0 +1,39 @@
+package com.ydtech.modules.order.entity.api.zm.request;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.ydtech.modules.order.entity.api.zm.BaseRequest;
+import com.ydtech.modules.order.entity.api.zm.BaseRequestHead;
+import com.ydtech.modules.order.entity.api.zm.constants.TransCode;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author wenks
+ * @version 0.0.2
+ * @description TODO
+ * @date 2023/4/25 16:28
+ */
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@Data
+public class ValidSMScodeRequest extends BaseRequest {
+
+    private static final long serialVersionUID = -3781168041410599373L;
+
+    @JsonProperty("businessType")
+    private String businessType;
+    @JsonProperty("contractNo")
+    private String contractNo;
+    @JsonProperty("SMScode")
+    private String sMScode;
+    @JsonProperty("riskCode")
+    private String riskCode;
+
+    @Override
+    public void setHead(BaseRequestHead head) {
+        super.setHead(head);
+        super.getHead().setTransCode(TransCode.VALID_SMS_CODE);
+    }
+
+}

+ 53 - 0
src/main/java/com/ydtech/modules/order/entity/api/zm/response/CheckSMScodeResponse.java

@@ -0,0 +1,53 @@
+package com.ydtech.modules.order.entity.api.zm.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.ydtech.modules.order.entity.api.zm.BaseResponse;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @author wenks
+ * @version 0.0.2
+ * @description TODO
+ * @date 2023/4/25 16:26
+ */
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@Data
+public class CheckSMScodeResponse  extends BaseResponse {
+
+    private static final long serialVersionUID = 6081864009313097896L;
+
+    @JsonProperty("isNeedSMSVCode")
+    private String isNeedSMSVCode;
+
+    @JsonProperty("itemsList")
+    private List<ItemsListDTO> itemsList;
+
+    @JsonProperty("remark")
+    private String remark;
+
+    @NoArgsConstructor
+    @Data
+    public static class ItemsListDTO {
+        @JsonProperty("contractNo")
+        private String contractNo;
+        @JsonProperty("businessType")
+        private String businessType;
+        @JsonProperty("mobilePhoneNo")
+        private String mobilePhoneNo;
+        @JsonProperty("insuredName")
+        private String insuredName;
+        @JsonProperty("beinsuredName")
+        private String beinsuredName;
+        @JsonProperty("licenseNo")
+        private String licenseNo;
+        @JsonProperty("frameNo")
+        private String frameNo;
+        @JsonProperty("smsCode")
+        private String smsCode;
+    }
+}

+ 43 - 0
src/main/java/com/ydtech/modules/order/entity/api/zm/response/OrderStatusResponse.java

@@ -0,0 +1,43 @@
+package com.ydtech.modules.order.entity.api.zm.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.ydtech.modules.order.entity.api.zm.BaseResponse;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author wenks
+ * @version 0.0.2
+ * @description TODO
+ * @date 2023/4/25 16:33
+ */
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@Data
+public class OrderStatusResponse extends BaseResponse {
+    private static final long serialVersionUID = -1745197801630649211L;
+
+    @JsonProperty("accidentNo")
+    private String accidentNo;
+
+    @JsonProperty("businessType")
+    private String businessType;
+
+    @JsonProperty("confirmDate")
+    private String confirmDate;
+
+    @JsonProperty("contractNo")
+    private String contractNo;
+
+    @JsonProperty("status")
+    private String status;
+
+    @JsonProperty("subContractNoJ")
+    private String subContractNoJ;
+
+    @JsonProperty("subContractNoS")
+    private String subContractNoS;
+
+
+}

+ 28 - 0
src/main/java/com/ydtech/modules/order/entity/api/zm/response/SubmitStatusQueryResponse.java

@@ -0,0 +1,28 @@
+package com.ydtech.modules.order.entity.api.zm.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.ydtech.modules.order.entity.api.zm.BaseResponse;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author wenks
+ * @version 0.0.2
+ * @description TODO
+ * @date 2023/4/25 17:56
+ */
+@NoArgsConstructor
+@Data
+public class SubmitStatusQueryResponse extends BaseResponse {
+
+    private static final long serialVersionUID = 3300504283034316836L;
+
+    @JsonProperty("underWriteInd")
+    private String underWriteInd;
+    
+    @JsonProperty("proposalNo")
+    private String proposalNo;
+    
+    @JsonProperty("payUrl")
+    private String payUrl;
+}

+ 36 - 0
src/main/java/com/ydtech/modules/order/entity/api/zm/response/ValidSMScodeResponse.java

@@ -0,0 +1,36 @@
+package com.ydtech.modules.order.entity.api.zm.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import com.ydtech.modules.order.entity.api.zm.BaseRequest;
+import com.ydtech.modules.order.entity.api.zm.BaseResponse;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+/**
+ * @author wenks
+ * @version 0.0.2
+ * @description TODO
+ * @date 2023/4/25 16:29
+ */
+@EqualsAndHashCode(callSuper = true)
+@NoArgsConstructor
+@Data
+public class ValidSMScodeResponse  extends BaseResponse {
+
+
+    private static final long serialVersionUID = -2360779722734585359L;
+
+    @JsonProperty("contractNo")
+    private String contractNo;
+    @JsonProperty("successCode")
+    private String successCode;
+    @JsonProperty("successMessage")
+    private String successMessage;
+    @JsonProperty("remark1")
+    private String remark1;
+    @JsonProperty("businessType")
+    private String businessType;
+
+
+}