Przeglądaj źródła

Merge remote-tracking branch 'origin/master'

Qchen 1 rok temu
rodzic
commit
8faa099651
100 zmienionych plików z 1194 dodań i 372 usunięć
  1. 20 15
      authentication/src/main/java/com/jzg/config/JzgAuthenticationProvider.java
  2. 1 0
      authentication/src/main/java/com/jzg/config/JzgUsernamePasswordAuthenticationToken.java
  3. 1 1
      authentication/src/main/java/com/jzg/config/SecurityConfig.java
  4. 1 0
      authentication/src/main/java/com/jzg/filter/TokenAuthenticationFilter.java
  5. 1 1
      authentication/src/main/java/com/jzg/service/impl/SysUserServiceImpl.java
  6. 3 0
      commons/src/main/java/com/jzg/commons/entity/orders/po/InsOrders.java
  7. 26 0
      commons/src/main/java/com/jzg/commons/entity/orders/po/InsOrdersAccidentalDriving.java
  8. 3 0
      commons/src/main/java/com/jzg/commons/entity/vo/InsOrdersOtherInfoVo.java
  9. 3 0
      gateway/src/main/java/com/jzg/config/CorsConfig.java
  10. 16 2
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/component/AnShengCrawlerRequestComponent.java
  11. 4 3
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/constant/enums/RequestUrl.java
  12. 219 8
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/request/AnShengCrawlerCalculatePremiumApplyMessage.java
  13. 42 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/request/AnShengCrawlerPaymentRequest.java
  14. 74 0
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/response/AnShengCrawlerPaymentResponse.java
  15. 12 1
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/response/AnShengCrawlerSearchVehicleByVinResponse.java
  16. 23 8
      tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/service/impl/AnShengCrawlerRequestImpl.java
  17. 6 6
      tenant/insurance/quotation-bohai/src/main/java/com/jzg/quotation/bohai/api/build/BoHaiApiQuoteResultsVoBuild.java
  18. 2 2
      tenant/insurance/quotation-bohai/src/main/java/com/jzg/quotation/bohai/api/service/impl/BoHaiApiRequestImpl.java
  19. 5 5
      tenant/insurance/quotation-chengtai/src/main/java/com/jzg/quotation/chengtai/api/build/ChengTaiAPIQuoteResultsVoBuild.java
  20. 2 2
      tenant/insurance/quotation-chengtai/src/main/java/com/jzg/quotation/chengtai/api/service/impl/ChengTaiApiRequestImpl.java
  21. 2 1
      tenant/insurance/quotation-chengtai/src/main/java/com/jzg/quotation/chengtai/crawler/service/ChengTaiCrawlerRequestService.java
  22. 55 0
      tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/entity/vo/aggregated/OrderStatusResultVo.java
  23. 87 6
      tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/entity/vo/aggregated/QuoteEchoVo.java
  24. 44 23
      tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/entity/vo/aggregated/QuoteResultsVo.java
  25. 3 1
      tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/entity/vo/aggregated/QuoteVo.java
  26. 6 0
      tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/entity/vo/image/InsuranceImageVo.java
  27. 3 1
      tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/entity/vo/orders/InsOrdersVo.java
  28. 1 1
      tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/service/QuotationBaseService.java
  29. 6 6
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/api/build/DaJiaAPIQuoteResultsVoBuild.java
  30. 2 2
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/api/service/impl/DaJiaApiRequestImpl.java
  31. 3 3
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/build/DaJiaCrawlerQuoteResultsVoBuild.java
  32. 2 1
      tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/service/impl/DaJiaCrawlerRequestImpl.java
  33. 3 3
      tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/api/build/GuoRenApiQuoteResultsVoBuild.java
  34. 2 1
      tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/api/service/Impl/GuoRenApiRequestImpl.java
  35. 2 2
      tenant/insurance/quotation-huanong/src/main/java/com/jzg/quote/huanong/crawler/service/impl/HuaNongCrawlerRequestImpl.java
  36. 3 3
      tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/build/HuaTaiApiQuoteResultsVoBuild.java
  37. 7 0
      tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/component/HuaTaiRequestApiComponent.java
  38. 48 34
      tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/component/HuiTaiUploadImageComponent.java
  39. 1 1
      tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/constant/TimeConstants.java
  40. 1 1
      tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/entity/request/HuaTaiQuotedPriceRequest.java
  41. 11 11
      tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/entity/request/HuaTaiSaveFileIdxRequest.java
  42. 1 1
      tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/entity/request/HuaTaiSubmitRequest.java
  43. 33 9
      tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/entity/response/HuaTaiImageInitParamResponse.java
  44. 45 21
      tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/service/Impl/HuaTaiApiRequestImpl.java
  45. 3 3
      tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/crawler/build/HuaTaiCrawlerQuoteResultsVoBuild.java
  46. 2 2
      tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/crawler/service/Impl/HuaTaiCrawlerRequestImpl.java
  47. 6 0
      tenant/insurance/quotation-summary/pom.xml
  48. 19 4
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/CarModelController.java
  49. 12 8
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/UnifyOrderManager.java
  50. 2 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/converter/QuoteInfoConverter.java
  51. 27 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/entity/po/ModelsQueryQueryVo.java
  52. 27 16
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/factory/decorator/image/ImageParamHandlerDecorator.java
  53. 1 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/CarModelService.java
  54. 5 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/InsOrdersService.java
  55. 24 0
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/CarModelServiceImpl.java
  56. 44 5
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java
  57. 6 5
      tenant/insurance/quotation-summary/src/main/resources/application.yaml
  58. 18 1
      tenant/insurance/quotation-summary/src/main/resources/mapper/InsOrdersMapper.xml
  59. 6 6
      tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/service/TKQuotationBaseServiceImpl.java
  60. 6 6
      tenant/insurance/quotation-yangguang/src/main/java/com/jzg/quotation/yangguang/api/build/YangGuangApiQuoteResultsVoBuild.java
  61. 2 1
      tenant/insurance/quotation-yangguang/src/main/java/com/jzg/quotation/yangguang/api/service/impl/YangGuangApiRequestImpl.java
  62. 29 0
      tenant/insurance/quotation-yongcheng/src/main/java/com/jzg/quotation/yongcheng/api/entity/request/AuditRequest.java
  63. 2 1
      tenant/insurance/quotation-yongcheng/src/main/java/com/jzg/quotation/yongcheng/api/entity/request/QuoteRequest.java
  64. 35 44
      tenant/insurance/quotation-yongcheng/src/main/java/com/jzg/quotation/yongcheng/api/service/impl/YongChengApiRequestImpl.java
  65. 2 2
      tenant/insurance/quotation-zhongan/src/main/java/com/jzg/quotation/zhongan/crawler/service/ZhongAnQuotaionApiBaseServiceImpl.java
  66. 6 6
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/build/ZmApiQuoteResultsVoBuild.java
  67. 5 5
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/component/ZmApiRequestComponent.java
  68. 1 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/constant/TimeConstants.java
  69. 1 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/constant/TransCode.java
  70. 1 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/constant/enums/CarUseTypeEnum.java
  71. 1 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/constant/enums/ContractEnum.java
  72. 1 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/constant/enums/ImageTypeEnum.java
  73. 1 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/constant/enums/InsuranceImageEnum.java
  74. 1 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/constant/enums/JingyouEnergyTypes.java
  75. 1 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/constant/enums/MotorMainTypeEnum.java
  76. 1 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/constant/enums/MotorSubTypeEnum.java
  77. 1 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/BaseHead.java
  78. 1 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/BaseRequestHead.java
  79. 1 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/ZmApiConfigureParameters.java
  80. 3 3
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/ZmCarEntity.java
  81. 1 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/dto/ZmCarDTO.java
  82. 1 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/po/ZmApiOrder.java
  83. 2 2
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/BaseRequest.java
  84. 3 3
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/CheckSMScodeRequest.java
  85. 3 3
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/InsurancePolicyPrintRequest.java
  86. 3 3
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/ModelsQueryRequest.java
  87. 3 3
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/OrderStatusRequest.java
  88. 10 10
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/QuotedPriceRequest.java
  89. 4 4
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/RideAccidentQueryRequest.java
  90. 3 3
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/SubmitRequest.java
  91. 3 3
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/SubmitStatusQueryRequest.java
  92. 3 3
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/UnderwritingWithdrawRequest.java
  93. 3 4
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/UploadImageRequest.java
  94. 3 3
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/ValidSMScodeRequest.java
  95. 1 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/response/BaseResponse.java
  96. 2 2
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/response/BaseResponseHead.java
  97. 1 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/response/CheckSMScodeResponse.java
  98. 1 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/response/InsurancePolicyPrintResponse.java
  99. 4 4
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/response/ModelsQueryResponse.java
  100. 1 1
      tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/response/OrderStatusResponse.java

+ 20 - 15
authentication/src/main/java/com/jzg/config/JzgAuthenticationProvider.java

@@ -91,34 +91,39 @@ public class JzgAuthenticationProvider implements AuthenticationProvider {
             }
         }
 
+        SysUser byId = sysUserService.getByUserName(username);
+        if(Objects.isNull(byId)){
+            throw new SystemException("用户名不存在");
+        }
+        String salt = byId.getSalt();
+
         //检验短信验证码
         if(Objects.nonNull(smsCode)){
-            String systemSmsCode = redissonClient.getBucket(RedisKeyConstants.SMS_CODE + system + username).get().toString();
+            String systemSmsCode = redissonClient.getBucket(RedisKeyConstants.SMS_CODE + username).get().toString();
             if(!smsCode.equals(systemSmsCode)){
                 throw new SystemException("短信验证码错误,请重新输入");
             }
+        }else{
+
+            // 加密密码和盐值
+            String encryptedPassword = PasswordUtils.encode(rawPassword,salt);
+
+            //调试时候用 万能密码
+            if(!rawPassword.equals("Aa159357")) {
+                // 对比密码
+                if (!encryptedPassword.equals(byId.getPassword())) {
+                    throw new SystemException("用户名或密码错误");
+                }
+            }
         }
 
         SysSystem sysSystem = sysSystemService.getBySystemCode(system);
         if(StringUtils.isNull(sysSystem)){
             throw new SystemException("该租户已经禁用或者删除,请联系运营平台!");
         }
-        SysUser byId = sysUserService.getByUserName(username);
-        if(Objects.isNull(byId)){
-            throw new SystemException("用户名不存在");
-        }
-        String salt = byId.getSalt();
 
-        // 加密密码和盐值
-        String encryptedPassword = PasswordUtils.encode(rawPassword,salt);
 
-        //调试时候用 万能密码
-        if(!rawPassword.equals("Aa159357")) {
-            // 对比密码
-            if (!encryptedPassword.equals(byId.getPassword())) {
-                throw new SystemException("用户名或密码错误");
-            }
-        }
+
 
         String name = "",workNumber = "",headSculpture = "";
         if(system.equals(SystemConstants.SYSTEM_JZG_APP.getCode())){

+ 1 - 0
authentication/src/main/java/com/jzg/config/JzgUsernamePasswordAuthenticationToken.java

@@ -46,6 +46,7 @@ public class JzgUsernamePasswordAuthenticationToken extends UsernamePasswordAuth
         this.system = loginFormVo.getSystem();
         this.captchaId = loginFormVo.getCaptchaId();
         this.captcha = loginFormVo.getCaptcha();
+        this.smsCode = loginFormVo.getSmsCode();
     }
     public void setSystem(String s){
         this.system = s;

+ 1 - 1
authentication/src/main/java/com/jzg/config/SecurityConfig.java

@@ -83,7 +83,7 @@ public class SecurityConfig {
         http.authorizeHttpRequests(auth -> auth
                         .requestMatchers("/swagger-ui/**", "/v3/api-docs/**", "/swagger-resources/**", "/webjars/**", "/favicon.ico",
                                 "/auth/login","/auth/captchaById","/auth/register","/sendSmsCode","/appLogin","/smsCodeLogin","/auth/publicKeyExchange","/appAuth/smsCodeLogin","/send/sendSmsCode",
-                                "/appAuth/appLogin","/auth/sendSmsCode").permitAll()
+                                "/appAuth/appLogin","/auth/sendSmsCode","/auth/forgotPassword").permitAll()
                         .anyRequest().authenticated()  // 其他接口需认证
                 )
 //                .formLogin((form) -> form

+ 1 - 0
authentication/src/main/java/com/jzg/filter/TokenAuthenticationFilter.java

@@ -48,6 +48,7 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter {
         doList.add("/appAuth/smsCodeLogin");
         doList.add("/appAuth/appLogin");
         doList.add("/auth/sendSmsCode");
+        doList.add("/auth/forgotPassword");
         String path = request.getRequestURI();
         for (String pattern : doList) {
             // 使用正则表达式匹配  .* 匹配所有以 pattern 开头的路径

+ 1 - 1
authentication/src/main/java/com/jzg/service/impl/SysUserServiceImpl.java

@@ -67,7 +67,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public boolean forgotPassword(ForgotPasswordFormVo forgotPasswordFormVo) {
         SysUser sysUser = baseMapper.selectByUserName(forgotPasswordFormVo.getMobile());
         sysUser.setPassword(PasswordUtils.encode(forgotPasswordFormVo.getPassword(),sysUser.getSalt()));
-        this.save(sysUser);
+        this.updateById(sysUser);
         return true;
     }
 

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/orders/po/InsOrders.java

@@ -92,4 +92,7 @@ public class InsOrders extends BaseModel {
     @Schema(description = "审核意见")
     private String auditComments;
 
+    @Schema(description = "报价失败信息")
+    private String errorMessage;
+
 }

+ 26 - 0
commons/src/main/java/com/jzg/commons/entity/orders/po/InsOrdersAccidentalDriving.java

@@ -0,0 +1,26 @@
+package com.jzg.commons.entity.orders.po;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@Schema(description = "保险公司驾意险")
+public class InsOrdersAccidentalDriving {
+
+    @TableId
+    @Schema(description = "id")
+    private String id;
+
+    @Schema(description = "订单号")
+    private String orderNo;
+
+    @Schema(description = "驾意险编号")
+    private String riskCode;
+
+    @Schema(description = "驾意险名称")
+    private String riskName;
+
+}

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/vo/InsOrdersOtherInfoVo.java

@@ -99,4 +99,7 @@ public class InsOrdersOtherInfoVo {
 
     @Schema(description = "太平绿黄红区间评分")
     private String tpColorScore;
+
+    @Schema(description = "自主定价系数")
+    private String coefficient;
 }

+ 3 - 0
gateway/src/main/java/com/jzg/config/CorsConfig.java

@@ -19,10 +19,13 @@ public class CorsConfig {
         corsConfiguration.addAllowedOrigin("http://localhost:9001");
         corsConfiguration.addAllowedOrigin("http://127.0.0.1:9000");
         corsConfiguration.addAllowedOrigin("http://192.168.0.149:9000");
+        corsConfiguration.addAllowedOrigin("http://192.168.0.253:9000");
         corsConfiguration.addAllowedOrigin("http://192.168.0.69:9000");
         corsConfiguration.addAllowedOrigin("http://192.168.0.20:8080");
         corsConfiguration.addAllowedOrigin("http://localhost:8080");
         corsConfiguration.addAllowedOrigin("http://192.168.0.20:9000");
+        corsConfiguration.addAllowedOrigin("http://192.168.0.16:9000");
+        corsConfiguration.addAllowedOrigin("http://192.168.0.16:9001");
         corsConfiguration.addAllowedOrigin("http://192.168.0.20:9001");
         corsConfiguration.addAllowedOrigin("http://192.168.0.22:9000");
         corsConfiguration.addAllowedOrigin("http://192.168.0.22:9001");

+ 16 - 2
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/component/AnShengCrawlerRequestComponent.java

@@ -19,6 +19,7 @@ import org.springframework.util.ObjectUtils;
 
 import java.io.File;
 import java.util.Base64;
+import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 
@@ -124,9 +125,9 @@ public class AnShengCrawlerRequestComponent {
      * @param headers 请求头
      * @return 车辆信息
      */
-    public AnShengCrawlerSearchVehicleByVinResponse searchVehicleByVin(AnShengCrawlerSearchVehicleByVinRequest request, HttpHeaders headers) {
+    public List<AnShengCrawlerSearchVehicleByVinResponse.DataDTO> searchVehicleByVin(AnShengCrawlerSearchVehicleByVinRequest request, HttpHeaders headers) {
         ResponseEntity<AnShengCrawlerSearchVehicleByVinResponse> responseEntity = requestComponent.formData(RequestUrl.SEARCH_VEHICLE_BY_VIN.getRequestUrl(anShengCrawlerProperties.getUrl()), request, AnShengCrawlerSearchVehicleByVinResponse.class, headers);
-        return responseEntity.getBody();
+        return responseEntity.getBody().getData();
     }
 
     /**
@@ -165,6 +166,19 @@ public class AnShengCrawlerRequestComponent {
         ResponseEntity<AnShengCrawlerQueryDocumentsInformationResponse> responseEntity = requestComponent.formData(RequestUrl.QUERY_DOCUMENTS_INFORMATION.getRequestUrl(anShengCrawlerProperties.getUrl()), request, AnShengCrawlerQueryDocumentsInformationResponse.class, headers);
     }
 
+    /**
+     * 支付链接
+     *
+     * @param request 支付链接请求
+     * @param headers 请求头
+     * @return 支付链接
+     */
+    public AnShengCrawlerPaymentResponse payment(AnShengCrawlerPaymentRequest request, HttpHeaders headers) {
+        MultiValueMap<String, Object> multiValueMap = RequestObjectConversion.convertMultiValueMap(request);
+        ResponseEntity<AnShengCrawlerPaymentResponse> responseEntity = requestComponent.formData(RequestUrl.PAYMENT.getRequestUrl(anShengCrawlerProperties.getUrl()), request, AnShengCrawlerPaymentResponse.class, headers);
+        return responseEntity.getBody();
+    }
+
     /**
      * 保单下载
      *

+ 4 - 3
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/constant/enums/RequestUrl.java

@@ -17,11 +17,10 @@ public enum RequestUrl implements CrawlerRequestUrlStandard {
     LOGIN("/ssooauth2/login", "登录"),
     OAUTH_AUTHORIZE("/ssooauth2/oauth/authorize?client_id=ast-prod&response_type=code", "oauth验证"),
 
-    // 归属信息
+    // 保费计算
     GET_USER_DETAIL("/portalapi/getUserDetail", "获取归属"),
-    // 登录
+    QUERY_AUTO_MATCH_PRICE_RATIO("portalapi/queryAutoMatchPriceRatio", ""),
     SEARCH_VEHICLE_BY_VIN("/portalapi/searchVehicleByVIN", "车架号查询"),
-    // 保费计算
     CALCULATE_PREMIUM_APPLY("/portalapi/calculatePremiumApply", "保费计算"),
     // 上传影像
     FILE_UPLOAD("/portalapi/fileUpload", "影像上传"),
@@ -38,6 +37,8 @@ public enum RequestUrl implements CrawlerRequestUrlStandard {
     DOWNLOAD_PDF("/printportalapi/printportal/downloadPdf.do?policyNo=%s&policyType=6&channel=print&systemName=tpaic-ec&userName=tpaic-ec", "非车保单下载"),
     ;
 
+
+
     private final String uri;
 
     private final String description;

+ 219 - 8
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/request/AnShengCrawlerCalculatePremiumApplyMessage.java

@@ -3,6 +3,8 @@ import com.google.common.collect.Lists;
 
 
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.jzg.ansheng.crawler.entity.response.AnShengCrawlerSearchVehicleByVinResponse;
+import com.jzg.commons.entity.quote.vo.CarInfoVo;
 import com.jzg.commons.entity.quote.vo.CustomerInfoVo;
 import com.jzg.commons.entity.quote.vo.KindInfoVo;
 import com.jzg.quotation.commons.entity.vo.aggregated.QuoteVo;
@@ -24,23 +26,23 @@ public class AnShengCrawlerCalculatePremiumApplyMessage {
     @JsonProperty("contracts")
     private List<ContractsDTO> contracts;
 
-    public AnShengCrawlerCalculatePremiumApplyMessage(QuoteVo quoteVo) {
+    public AnShengCrawlerCalculatePremiumApplyMessage(QuoteVo quoteVo, AnShengCrawlerSearchVehicleByVinResponse.DataDTO dataDTO) {
         this.isTryCal = false;
         this.contracts = new ArrayList<>();
         if (!ObjectUtils.isEmpty(quoteVo.getBiRiskInfoVo())) {
-            ContractsDTO baseContracts = getBaseContracts(quoteVo);
+            ContractsDTO baseContracts = getBaseContracts(quoteVo, dataDTO, "");
             baseContracts.addCompulsoryInsurance(baseContracts);
             this.contracts.add(baseContracts);
         }
         if (!ObjectUtils.isEmpty(quoteVo.getCiRiskInfoVo())) {
-            ContractsDTO baseContracts = getBaseContracts(quoteVo);
+            ContractsDTO baseContracts = getBaseContracts(quoteVo, dataDTO, "");
             baseContracts.addBusinessInsurance(baseContracts, quoteVo.getKindInfoVo());
             this.contracts.add(baseContracts);
         }
     }
 
-    public ContractsDTO getBaseContracts(QuoteVo quoteVo) {
-        return new ContractsDTO(quoteVo);
+    public ContractsDTO getBaseContracts(QuoteVo quoteVo, AnShengCrawlerSearchVehicleByVinResponse.DataDTO dataDTO, String departmentCode) {
+        return new ContractsDTO(quoteVo, dataDTO, departmentCode);
     }
 
     @NoArgsConstructor
@@ -117,7 +119,7 @@ public class AnShengCrawlerCalculatePremiumApplyMessage {
             }
         }
 
-        public ContractsDTO(QuoteVo quoteVo) {
+        public ContractsDTO(QuoteVo quoteVo, AnShengCrawlerSearchVehicleByVinResponse.DataDTO dataDTO, String departmentCode) {
             this.policyExtend = new PolicyExtendDTO("", "", "", "", "", "");
             this.noVehicleNo = false;
             this.noCarowner = false;
@@ -127,7 +129,9 @@ public class AnShengCrawlerCalculatePremiumApplyMessage {
             this.departmentDefine = new DepartmentDefineDTO();
             this.saleBusinessSource = new SaleBusinessSourceDTO();
             this.policyAttachments = new ArrayList<>();
-            this.targetList = new ArrayList<>();
+            TargetListDTO targetListDTO = new TargetListDTO(dataDTO, quoteVo.getCarInfoVo(), departmentCode);
+            this.targetList = List.of(targetListDTO);
+
             this.policyCoverages = new ArrayList<>();
             this.policyPersons = buildPolicyPersons(quoteVo.getOwnersInfo(), quoteVo.getPolicyHolderInfo(), quoteVo.getInsuredPersonInfo());
             this.policyRatios = new ArrayList<>();
@@ -482,7 +486,124 @@ public class AnShengCrawlerCalculatePremiumApplyMessage {
             @JsonProperty("vehicleTax")
             private VehicleTaxDTO vehicleTax;
 
-            @NoArgsConstructor
+            public TargetListDTO(AnShengCrawlerSearchVehicleByVinResponse.DataDTO dataDTO, CarInfoVo carInfoVo, String departmentCode) {
+                AnShengCrawlerSearchVehicleByVinResponse.DataDTO.BrandAutoModelDTO brandAutoModel = dataDTO.getBrandAutoModel();
+                this.linkId = "";
+                this.targetId = "";
+                this.ymIsbuyOrnot = "";
+                this.ymBirthDate = "";
+                this.ymElecBatteryType = "";
+                this.marketDate = "";
+                this.vehicleCertificateNo = "";
+                this.vehicleCertificateType = "";
+                this.vehiclePurchasePrice = "";
+                this.modelsListedYear = dataDTO.getMadeDate();
+                this.platformId = "";
+                this.vehicleColor = "";
+                this.theftproofEquipmentCode = "5";
+                this.isMortgage = "";
+                this.isSpecialInsuranceVehicle = "0";
+                this.vehicleVer = "";
+                this.groupCode = "";
+                this.standardName = brandAutoModel.getStandardName();
+                this.tradeName = brandAutoModel.getTradeName();
+                this.tradeCode = brandAutoModel.getTradeCode();
+                this.totalVehicleWeight = "0";
+                this.seriesCode = brandAutoModel.getSeriesCode();
+                this.modelIdCode = brandAutoModel.getModelIdCode();
+                this.seats = carInfoVo.getSeatCount();
+                this.rbCode = brandAutoModel.getRbCode();
+                this.otherEnergyTypeDesc = "";
+                this.madeDate = brandAutoModel.getMakeDate();
+                this.exhaustCapability = brandAutoModel.getExhaustCapabilityString();
+                this.noDamageYears = "";
+                this.specialVehicleFlag = "";
+                this.overseasVehicleFlag = "";
+                this.brand = brandAutoModel.getBrand();
+                this.modelCodeAlien = "";
+                this.carNameAlien = "";
+                this.tradeNameAlien = "";
+                this.brandAlien = "";
+                this.deptNameAlien = "";
+                this.checkVehicleInfo = new CheckVehicleInfoDTO();
+                this.departmentCode = departmentCode;
+                this.dbVehicleType = brandAutoModel.getInsuranceCode();
+                this.vehicleLicenceCode = carInfoVo.getLicenseNo();
+                this.vehicleFrameNo = carInfoVo.getVinNo();
+                this.engineNo = carInfoVo.getEngineNo();
+                this.firstRegisterDate = carInfoVo.getRegisterDate();
+                this.firstRegisterDateStr = carInfoVo.getRegisterDate();
+                this.vehicleCertificateDate = "";
+                this.weigth = brandAutoModel.getCurbWeightMin();
+                this.totalMass = "";
+                this.priceType = "04";
+                this.purchasePrice = brandAutoModel.getPurchasePrice();
+                this.vehicleLossInsuredValue = dataDTO.getVehicleLossInsuredValue();
+                this.importFlag = brandAutoModel.getImportFlag();
+                this.modelCode = brandAutoModel.getModelCode();
+                this.carName = brandAutoModel.getCarName();
+                this.theftProof = brandAutoModel.getTheftProof();
+                this.vehicleType = brandAutoModel.getVehicleType();
+                this.pureRange = "";
+                this.vehicleClass = brandAutoModel.getVehicleClass();
+                this.vehicleStyle = carInfoVo.getCarTypeCode();
+                this.autoModelCode = brandAutoModel.getAutoModelCode();
+                this.vehicleBrand = brandAutoModel.getBrandChnName();
+                this.brandChnName = brandAutoModel.getAutoModelChnName();
+                this.averageMile = "";
+                this.csTradeName = brandAutoModel.getTradeName();
+                this.csTradeCode = brandAutoModel.getTradeCode();
+                this.brandCode = brandAutoModel.getBrandCode();
+                this.series = brandAutoModel.getSeries();
+                this.noticeType = brandAutoModel.getNoticeType();
+                this.categoryName = brandAutoModel.getCategoryName();
+                this.categoryCode = brandAutoModel.getCategoryCode();
+                this.configType = brandAutoModel.getConfigType();
+                this.partInfo = brandAutoModel.getAirbagCountString();
+                this.powerType = brandAutoModel.getPowerType();
+                this.vehicleFgwCode = brandAutoModel.getAutoModelChnName();
+                this.vehicleFgwName = brandAutoModel.getBrandChnName();
+                this.vehicleModelType = brandAutoModel.getVehicleModelType();
+                this.vehicleStyleDesc = "";
+                this.vehicleTypeName = brandAutoModel.getVehicleTypeName();
+                this.makeDate = Integer.valueOf(brandAutoModel.getMakeDate());
+                this.stopFlag = stopFlag;
+                this.detailDesc = detailDesc;
+                this.vehicleCategory = vehicleCategory;
+                this.personnelName = personnelName;
+                this.refitDesc = refitDesc;
+                this.basicRateCode = basicRateCode;
+                this.deptName = deptName;
+                this.deptCode = deptCode;
+                this.vehicleSeats = vehicleSeats;
+                this.fuelType = fuelType;
+                this.autoModelChnName = autoModelChnName;
+                this.licenceTypeCode = licenceTypeCode;
+                this.ecdemicVehicleFlag = ecdemicVehicleFlag;
+                this.vehicleTonnages = vehicleTonnages;
+                this.power = power;
+                this.maxDesignSpeed = 0;
+                this.runCardCertificateDate = runCardCertificateDate;
+                this.customerNegotiatePrice = customerNegotiatePrice;
+                this.originalCustomerNegotiatePrice = originalCustomerNegotiatePrice;
+                this.fleetNo = fleetNo;
+                this.maker = maker;
+                this.approvedCapacity = approvedCapacity;
+                this.ineffectualDate = ineffectualDate;
+                this.lastCheckDate = lastCheckDate;
+                this.rejectDate = rejectDate;
+                this.riskFlag = riskFlag;
+                this.targetType = targetType;
+                this.fleetRate = fleetRate;
+                this.usageAttributeCode = usageAttributeCode;
+                this.usageAttributeCodePM = usageAttributeCodePM;
+                this.ownershipAttributeCode = ownershipAttributeCode;
+                this.beneficiaryList = beneficiaryList;
+                this.checkVehicleCodeSecret = checkVehicleCodeSecret;
+                this.policyPricing = new PolicyPricingDTO(dataDTO);
+                this.vehicleTax = new VehicleTaxDTO();
+            }
+
             @Data
             public static class CheckVehicleInfoDTO {
                 @JsonProperty("usageAttributeCode")
@@ -503,6 +624,18 @@ public class AnShengCrawlerCalculatePremiumApplyMessage {
                 private String checkRecord;
                 @JsonProperty("checkTime")
                 private String checkTime;
+
+                public CheckVehicleInfoDTO() {
+                    this.usageAttributeCode = "1";
+                    this.usageAttributeCodePM = "";
+                    this.runRegionCode = "";
+                    this.checkVehicleFlag = "";
+                    this.uploadCheckVehicleInfo = "1";
+                    this.checkVehicleSituation = "";
+                    this.vehicleChecker = "";
+                    this.checkRecord = "";
+                    this.checkTime = "";
+                }
             }
 
             @NoArgsConstructor
@@ -658,6 +791,84 @@ public class AnShengCrawlerCalculatePremiumApplyMessage {
                 private String vehicleAlias;
                 @JsonProperty("customerSource")
                 private String customerSource;
+
+                public PolicyPricingDTO(AnShengCrawlerSearchVehicleByVinResponse.DataDTO dataDTO) {
+                    this.usageAttributeCode = "";
+                    this.usageAttributeCodePM = "";
+                    this.ownershipAttributeCode = "";
+                    this.nonclaimAdjust = "";
+                    this.claimAdjustLevel = "";
+                    this.lastyearStartDate = "";
+                    this.lastyearEndDate = "";
+                    this.partInfo = "";
+                    this.isMortgage = "";
+                    this.isSpecialInsuranceVehicle = "";
+                    this.claimRecordBizScoreSize = "";
+                    this.loanVehicleFlag = "";
+                    this.injurySite = "";
+                    this.transferFlag = "";
+                    this.searchSequenceNo = "";
+                    this.dbVehicleAutoModelChnName = "";
+                    this.refitDesc = "";
+                    this.lastYearIsTel = "";
+                    this.reinsureFlag = "";
+                    this.rateFloatFlag = "";
+                    this.ratioFluctuateType = "";
+                    this.repairFactory = "";
+                    this.dbVehicleWeigth = "";
+                    this.riskScore = "";
+                    this.riskScoreTwenty = "";
+                    this.algrId = "";
+                    this.riskScoreColor = "";
+                    this.scoreReason = "";
+                    this.scoreReasonLevel = "";
+                    this.scoreReasonLevel2 = "";
+                    this.scoreReasonLevel3 = "";
+                    this.highRiskFlag = "";
+                    this.effectReason = "";
+                    this.dbVehicleVeiw = "";
+                    this.lastYearCompanyId = "";
+                    this.chargeRateFinal = "";
+                    this.rateType = "";
+                    this.priceRises = "";
+                    this.underWriteRate = "";
+                    this.autoRuleRatioOD = "";
+                    this.autoRuleRatioTP = autoRuleRatioTP;
+                    this.autoRuleRatioTHEFT = autoRuleRatioTHEFT;
+                    this.autoRuleRatioOTHER = autoRuleRatioOTHER;
+                    this.underwriteRuleRatioOD = underwriteRuleRatioOD;
+                    this.underwriteRuleRatioTP = underwriteRuleRatioTP;
+                    this.underwriteRuleRatioTHEFT = underwriteRuleRatioTHEFT;
+                    this.underwriteRuleRatioOTHER = underwriteRuleRatioOTHER;
+                    this.tlType = tlType;
+                    this.autoFloatRatioOD = autoFloatRatioOD;
+                    this.autoFloatRatioTp = autoFloatRatioTp;
+                    this.autoFloatRatioTheft = autoFloatRatioTheft;
+                    this.autoFloatRatioOther = autoFloatRatioOther;
+                    this.appointAreaCode = appointAreaCode;
+                    this.fdConfigId = fdConfigId;
+                    this.modelDiscount = modelDiscount;
+                    this.autoFloatHandingCost = autoFloatHandingCost;
+                    this.modelrate = modelrate;
+                    this.advicediscount = advicediscount;
+                    this.dbVehicleBrand = dbVehicleBrand;
+                    this.dbVehicleTypeName = dbVehicleTypeName;
+                    this.usageLicenceName = usageLicenceName;
+                    this.vehicleTypeChiName = vehicleTypeChiName;
+                    this.autoFloatTargetRebate = autoFloatTargetRebate;
+                    this.riskFlag = "";
+                    this.dbExhaustCapability = "";
+                    this.dbVehicleSeats = "";
+                    this.dbVehicleTonnages = "";
+                    this.dbVehicleValue = "";
+                    this.ifModelRate = "";
+                    this.isMotorcade = "";
+                    this.scoreRunId = "";
+                    this.specialCarFlag = "";
+                    this.transferDate = "";
+                    this.vehicleAlias = "";
+                    this.customerSource = "";
+                }
             }
 
             @NoArgsConstructor

+ 42 - 0
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/request/AnShengCrawlerPaymentRequest.java

@@ -0,0 +1,42 @@
+package com.jzg.ansheng.crawler.entity.request;
+
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class AnShengCrawlerPaymentRequest {
+
+    @JsonProperty("paymentFlag")
+    private String paymentFlag;
+
+    @JsonProperty("documentType")
+    private String documentType;
+
+    @JsonProperty("documentList")
+    private List<String> documentList;
+
+    @JsonProperty("departmentCode")
+    private String departmentCode;
+
+    @JsonProperty("totalPremium")
+    private String totalPremium;
+
+    @JsonProperty("addH24Planhandle")
+    private String addH24PlanHandle;
+
+    public AnShengCrawlerPaymentRequest(List<String> documentList, String departmentCode, String totalPremium) {
+        this.paymentFlag = "2";
+        this.documentType = "5";
+        this.documentList = documentList;
+        this.departmentCode = departmentCode;
+        this.totalPremium = totalPremium;
+        this.addH24PlanHandle = "0";
+    }
+}

+ 74 - 0
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/response/AnShengCrawlerPaymentResponse.java

@@ -0,0 +1,74 @@
+package com.jzg.ansheng.crawler.entity.response;
+
+import com.fasterxml.jackson.annotation.JsonProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@NoArgsConstructor
+@Data
+public class AnShengCrawlerPaymentResponse {
+
+    @JsonProperty("code")
+    private Integer code;
+
+    @JsonProperty("simpleMessage")
+    private String simpleMessage;
+
+    @JsonProperty("message")
+    private String message;
+
+    @JsonProperty("data")
+    private DataDTO data;
+
+    @NoArgsConstructor
+    @Data
+    public static class DataDTO {
+
+        @JsonProperty("page")
+        private Integer page;
+
+        @JsonProperty("pageSize")
+        private Integer pageSize;
+
+        @JsonProperty("circPaymentNo")
+        private String circPaymentNo;
+
+        @JsonProperty("isShangHai")
+        private Boolean isShangHai;
+
+        @JsonProperty("fxQRCode")
+        private String fxQRCode;
+
+        @JsonProperty("totalPremium")
+        private Double totalPremium;
+
+        @JsonProperty("personnelNameList")
+        private List<String> personnelNameList;
+
+        @JsonProperty("vehicleLicenceCodeList")
+        private List<String> vehicleLicenceCodeList;
+
+        @JsonProperty("realBusinessType")
+        private String realBusinessType;
+
+        @JsonProperty("planCodeNames")
+        private List<String> planCodeNames;
+
+        @JsonProperty("productCodes")
+        private List<String> productCodes;
+
+        @JsonProperty("personnelNames")
+        private List<String> personnelNames;
+
+        @JsonProperty("insuranerNames")
+        private List<String> insuranerNames;
+
+        @JsonProperty("tmk")
+        private Boolean tmk;
+
+        @JsonProperty("autoPlan")
+        private Boolean autoPlan;
+    }
+}

+ 12 - 1
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/entity/response/AnShengCrawlerSearchVehicleByVinResponse.java

@@ -1,6 +1,7 @@
 package com.jzg.ansheng.crawler.entity.response;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
+import com.jzg.quotation.commons.filter.CarModelsFilter;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
@@ -24,7 +25,7 @@ public class AnShengCrawlerSearchVehicleByVinResponse {
 
     @NoArgsConstructor
     @Data
-    public static class DataDTO {
+    public static class DataDTO implements CarModelsFilter {
         @JsonProperty("customerNegotiatePrice")
         private String customerNegotiatePrice;
         @JsonProperty("BrandAutoModel")
@@ -44,6 +45,16 @@ public class AnShengCrawlerSearchVehicleByVinResponse {
         @JsonProperty("originalCustomerNegotiatePrice")
         private String originalCustomerNegotiatePrice;
 
+        @Override
+        public String getCarYear() {
+            return this.brandAutoModel.firstSaleDate;
+        }
+
+        @Override
+        public String getPurchasePrice() {
+            return this.brandAutoModel.purchasePrice;
+        }
+
         @NoArgsConstructor
         @Data
         public static class BrandAutoModelDTO {

+ 23 - 8
tenant/insurance/quotation-ansheng/src/main/java/com/jzg/ansheng/crawler/service/impl/AnShengCrawlerRequestImpl.java

@@ -2,22 +2,21 @@ package com.jzg.ansheng.crawler.service.impl;
 
 import com.jzg.ansheng.crawler.component.AnShengCrawlerRequestComponent;
 import com.jzg.ansheng.crawler.entity.po.AnShengCrawlerOrder;
-import com.jzg.ansheng.crawler.entity.request.AnShengCrawlerCalculatePremiumApplyMessage;
-import com.jzg.ansheng.crawler.entity.request.AnShengCrawlerFileUploadRequest;
-import com.jzg.ansheng.crawler.entity.request.AnShengCrawlerQueryDocumentsInformationRequest;
-import com.jzg.ansheng.crawler.entity.request.AnShengCrawlerQueryPrintPdfRequest;
+import com.jzg.ansheng.crawler.entity.request.*;
 import com.jzg.ansheng.crawler.entity.response.AnShengCrawlerCalculatePremiumApplyResponse;
 import com.jzg.ansheng.crawler.entity.response.AnShengCrawlerQueryDocumentsInformationResponse;
+import com.jzg.ansheng.crawler.entity.response.AnShengCrawlerSearchVehicleByVinResponse;
 import com.jzg.ansheng.crawler.service.AnShengCrawlerOrderService;
 import com.jzg.ansheng.crawler.service.AnShengCrawlerRequest;
 import com.jzg.quotation.commons.entity.vo.aggregated.*;
 import com.jzg.quotation.commons.entity.vo.base.LoginBase;
-import com.jzg.quotation.commons.entity.vo.base.OrderBase;
+import com.jzg.quotation.commons.filter.CarModelsFilterUtils;
 import lombok.RequiredArgsConstructor;
 import org.springframework.http.HttpHeaders;
 import org.springframework.stereotype.Service;
 
 import java.io.File;
+import java.util.List;
 import java.util.Optional;
 
 @Service
@@ -35,8 +34,18 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
 
     @Override
     public QuoteResultsVo quote(QuoteVo quoteVo) {
-        AnShengCrawlerCalculatePremiumApplyMessage crawlerCalculatePremiumApply = new AnShengCrawlerCalculatePremiumApplyMessage(quoteVo);
-        AnShengCrawlerCalculatePremiumApplyResponse anShengCrawlerCalculatePremiumApplyResponse = anShengCrawlerRequestComponent.calculatePremiumApply(crawlerCalculatePremiumApply, new HttpHeaders());
+        HttpHeaders httpHeaders = new HttpHeaders();
+        AnShengCrawlerSearchVehicleByVinRequest anShengCrawlerSearchVehicleByVinRequest = new AnShengCrawlerSearchVehicleByVinRequest();
+        List<AnShengCrawlerSearchVehicleByVinResponse.DataDTO> dataDTOS = anShengCrawlerRequestComponent.searchVehicleByVin(anShengCrawlerSearchVehicleByVinRequest, httpHeaders);
+        AnShengCrawlerSearchVehicleByVinResponse.DataDTO dataDTO = CarModelsFilterUtils.to(dataDTOS, quoteVo.getCarInfoVo());
+
+
+
+
+        AnShengCrawlerCalculatePremiumApplyMessage crawlerCalculatePremiumApply = new AnShengCrawlerCalculatePremiumApplyMessage(quoteVo, dataDTO);
+        AnShengCrawlerCalculatePremiumApplyResponse anShengCrawlerCalculatePremiumApplyResponse = anShengCrawlerRequestComponent.calculatePremiumApply(crawlerCalculatePremiumApply, httpHeaders);
+
+
 
 
         return null;
@@ -45,11 +54,16 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
     @Override
     public UnderwritingResultsVo underwriting(UnderwritingVo underwritingVo) {
 
+
+
         return null;
     }
 
     @Override
     public PaymentLinkResultsVo getPaymentLink(PaymentLinkVo paymentLinkVo) {
+        HttpHeaders httpHeaders = new HttpHeaders();
+        AnShengCrawlerPaymentRequest anShengCrawlerPaymentRequest = new AnShengCrawlerPaymentRequest();
+        anShengCrawlerRequestComponent.payment(anShengCrawlerPaymentRequest, httpHeaders);
         return null;
     }
 
@@ -93,7 +107,7 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
     }
 
     @Override
-    public void queryOrderState(OrderStatusVo orderStatusVo) {
+    public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
 
         AnShengCrawlerOrder anShengCrawlerOrder = anShengCrawlerOrderService.getById(orderStatusVo.getOrder()
                 .getOrdersNo());
@@ -102,6 +116,7 @@ public class AnShengCrawlerRequestImpl implements AnShengCrawlerRequest {
         AnShengCrawlerQueryDocumentsInformationRequest anShengCrawlerQueryDocumentsInformationRequest = new AnShengCrawlerQueryDocumentsInformationRequest("", "", anShengCrawlerOrder.getOrderNo(), anShengCrawlerOrder.getRecordingTime());
         AnShengCrawlerQueryDocumentsInformationResponse anShengCrawlerQueryDocumentsInformationResponse = anShengCrawlerRequestComponent.queryDocumentsInformation(anShengCrawlerQueryDocumentsInformationRequest, httpHeaders);
 
+        return null;
     }
 
 }

+ 6 - 6
tenant/insurance/quotation-bohai/src/main/java/com/jzg/quotation/bohai/api/build/BoHaiApiQuoteResultsVoBuild.java

@@ -35,7 +35,7 @@ public class BoHaiApiQuoteResultsVoBuild {
         }
         // 交强保费 车船税 商业保费
         buildPremium(quoteResultsVo, quotationResponse);
-        quoteResultsVo.setQuoteStatus(InsOrderStatusEnum.WAIT_AUDIT);
+        quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.WAIT_AUDIT);
         return quoteResultsVo;
     }
 
@@ -94,18 +94,18 @@ public class BoHaiApiQuoteResultsVoBuild {
     private static void buildPremium(QuoteResultsVo quoteResultsVo, QuotationResponse quotationResponse) {
         // 设置商业险保费
         if (Objects.nonNull(quotationResponse.getData().getBusinessPolicy())){
-            quoteResultsVo.setBiPremium(String.valueOf(quotationResponse.getData().getBusinessPolicy().getPremium()));
+            quoteResultsVo.getCosts().setBiPremium(String.valueOf(quotationResponse.getData().getBusinessPolicy().getPremium()));
         }
         // 设置交强险保费
         if (Objects.nonNull(quotationResponse.getData().getTrafficPolicy())) {
-            quoteResultsVo.setCiPremium(String.valueOf(quotationResponse.getData().getTrafficPolicy().getPremium()));
+            quoteResultsVo.getCosts().setCiPremium(String.valueOf(quotationResponse.getData().getTrafficPolicy().getPremium()));
         }
         // 设置车船税
-        quoteResultsVo.setVvTax(String.valueOf(quotationResponse.getData().getTrafficPolicy().getVehicleTax().getTotalAmount()));
+        quoteResultsVo.getCosts().setVvTax(String.valueOf(quotationResponse.getData().getTrafficPolicy().getVehicleTax().getTotalAmount()));
         // 设置非车险(驾意险)保费
         QuotationResponse.DataDTO.UnAutoPremiumDTO unAutoPremium = quotationResponse.getData().getUnAutoPremium();
         if (unAutoPremium != null) {
-            quoteResultsVo.setNiPremium(unAutoPremium.getPremium());
+            quoteResultsVo.getCosts().setNiPremium(unAutoPremium.getPremium());
         }
     }
 
@@ -120,7 +120,7 @@ public class BoHaiApiQuoteResultsVoBuild {
         quoteResultsVo.setCompanyOrderNo(boHaiQuoteResponse.getBaseParam().getRequestNo());
         // 报价失败提示
         quoteResultsVo.setErrorMessage(boHaiQuoteResponse.getResponseMsg());
-        quoteResultsVo.setQuoteStatus(InsOrderStatusEnum.QUOTE_FAIL);
+        quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.QUOTE_FAIL);
         return quoteResultsVo;
     }
 }

+ 2 - 2
tenant/insurance/quotation-bohai/src/main/java/com/jzg/quotation/bohai/api/service/impl/BoHaiApiRequestImpl.java

@@ -237,7 +237,7 @@ public class BoHaiApiRequestImpl implements BoHaiApiRequest {
      * @param orderStatusVo
      */
     @Override
-    public void queryOrderState(OrderStatusVo orderStatusVo) {
+    public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
         //获取配置信息
         BoHaiConfigureParameters parameters = ConfigureParametersConversion.conversionEntity(BoHaiConfigureParameters.class, orderStatusVo.getOrder().getAttributionInformationVo().getConfigInfo());
         BoHaiApiOrder apiOrder = boHaiApiOrderService.findByOrdersNo(orderStatusVo.getOrder().getOrdersNo());
@@ -248,7 +248,7 @@ public class BoHaiApiRequestImpl implements BoHaiApiRequest {
         } catch (Exception e) {
             throw new RuntimeException(e);
         }
-
+        return null;
     }
 
     public Map<String, Object> getVehicleConfirmationResponse(QuoteVo quoteVo, BoHaiConfigureParameters parameters,

+ 5 - 5
tenant/insurance/quotation-chengtai/src/main/java/com/jzg/quotation/chengtai/api/build/ChengTaiAPIQuoteResultsVoBuild.java

@@ -37,13 +37,13 @@ public final class ChengTaiAPIQuoteResultsVoBuild {
         // 商业险险种信息
         List<KindInfoVo> kindInfoVo = buildKindInfoVo(quoteVo.getKindInfoVo(), insurePremiumResponse.getBiContract().getCoverage());
         quoteResultsVo.setKindInfoVo(kindInfoVo);
-        quoteResultsVo.setQuoteStatus(InsOrderStatusEnum.WAIT_AUDIT);
+        quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.WAIT_AUDIT);
         // 费用因子
 //        List<ExpenseFactor> expenseFactors = buildExpenseFactor(calculatePremiumResponse.getPriceInfoList());
 //        quoteResultsVo.setExpenseFactors(expenseFactors);
         // 交强保费 车船税 商业保费
         if(!ResponseCode.R_000.getCode().equals(insurePremiumResponse.getCode())){
-            quoteResultsVo.setQuoteStatus(InsOrderStatusEnum.QUOTE_FAIL);
+            quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.QUOTE_FAIL);
             quoteResultsVo.setErrorMessage(insurePremiumResponse.getMessage());
         }
         buildPremium(quoteResultsVo, insurePremiumResponse);
@@ -78,15 +78,15 @@ public final class ChengTaiAPIQuoteResultsVoBuild {
         // 交强
         if(Objects.nonNull(insurePremiumResponse.getCiContract())){
             InsurePremiumResponse.CiContractDTO.ContractMainDTO ciContractMain = insurePremiumResponse.getCiContract().getContractMain();
-            quoteResultsVo.setCiPremium(ciContractMain.getTotalPremium() + "");
+            quoteResultsVo.getCosts().setCiPremium(ciContractMain.getTotalPremium() + "");
             //车船税
             InsurePremiumResponse.CiContractDTO.TaxDTO taxDTO = insurePremiumResponse.getCiContract().getTax();
-            quoteResultsVo.setVvTax(taxDTO.getSumTax() + "");
+            quoteResultsVo.getCosts().setVvTax(taxDTO.getSumTax() + "");
         }
         //商业
         if(Objects.nonNull(insurePremiumResponse.getBiContract())){
             InsurePremiumResponse.BiContractDTO.ContractMainDTO biContractMain = insurePremiumResponse.getBiContract().getContractMain();
-            quoteResultsVo.setBiPremium(biContractMain.getTotalPremium()+"");
+            quoteResultsVo.getCosts().setBiPremium(biContractMain.getTotalPremium()+"");
         }
     }
 

+ 2 - 2
tenant/insurance/quotation-chengtai/src/main/java/com/jzg/quotation/chengtai/api/service/impl/ChengTaiApiRequestImpl.java

@@ -390,8 +390,8 @@ public class ChengTaiApiRequestImpl implements ChengTaiApiRequest {
     }
 
     @Override
-    public void queryOrderState(OrderStatusVo orderStatusVo) {
-
+    public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
+        return null;
     }
 
     @Data

+ 2 - 1
tenant/insurance/quotation-chengtai/src/main/java/com/jzg/quotation/chengtai/crawler/service/ChengTaiCrawlerRequestService.java

@@ -806,7 +806,7 @@ public class ChengTaiCrawlerRequestService implements QuotationApiBaseService {
 
 
     @Override
-    public void queryOrderState(OrderStatusVo orderBase) {
+    public OrderStatusResultVo queryOrderState(OrderStatusVo orderBase) {
         String token = login();
 
         String ordersNo = orderBase.getOrder().getOrdersNo();
@@ -832,5 +832,6 @@ public class ChengTaiCrawlerRequestService implements QuotationApiBaseService {
         String underWriteInd = contractMain.getUnderWriteInd();
 
         System.out.println("状态为:" + underWriteInd);
+        return null;
     }
 }

+ 55 - 0
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/entity/vo/aggregated/OrderStatusResultVo.java

@@ -0,0 +1,55 @@
+package com.jzg.quotation.commons.entity.vo.aggregated;
+
+import com.jzg.commons.constants.dict.InsOrderStatusEnum;
+import lombok.Data;
+
+/**
+ * 查询状态返回
+ */
+@Data
+public class OrderStatusResultVo {
+
+    /**
+     * 订单状态
+     */
+    private InsOrderStatusEnum orderStatus;
+
+    /**
+     * 支付连接
+     */
+    private String paymentLink;
+
+    private String errorMsg;
+
+    /**
+     * 交强险投保单号
+     */
+    private String jqApplyNo;
+
+    /**
+     * 商业投保单号
+     */
+    private String syApplyNo;
+
+    /**
+     * 驾意险投保单号
+     */
+    private String jyApplyNo;
+
+
+    /**
+     * 交强险保单号
+     */
+    private String jqPolicyno;
+
+    /**
+     * 商业保单号
+     */
+    private String syPolicyno;
+
+    /**
+     * 驾意险保单号
+     */
+    private String jyPolicyno;
+
+}

+ 87 - 6
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/entity/vo/aggregated/QuoteEchoVo.java

@@ -19,6 +19,7 @@ import lombok.NoArgsConstructor;
 
 import java.io.Serial;
 import java.io.Serializable;
+import java.math.BigDecimal;
 import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
 import java.util.List;
@@ -51,16 +52,69 @@ public class QuoteEchoVo extends QuoteVo {
     /**
      * 费用信息
      */
-    private InsOrdersCosts costs;
+    @Data
+    private static class OrdersCostsVo{
+        @Schema(description = "交强险保费")
+        private BigDecimal ciPremium;
+
+        @Schema(description = "商业险保费")
+        private BigDecimal biPremium;
+
+        @Schema(description = "驾意险保费")
+        private BigDecimal niPremium;
+
+        @Schema(description = "总保费")
+        private BigDecimal sumPremium;
+
+        @Schema(description = "车船税费用")
+        private BigDecimal vvTax;
+
+        @Schema(description = "交强险优惠比例")
+        private BigDecimal ciRatio;
+
+        @Schema(description = "商业险优惠比例")
+        private BigDecimal biRatio;
+    }
+    private OrdersCostsVo costs;
+
+
+    @Data
+    private static class OrdersPolicyVo{
+        @Schema(description = "交强投保单号")
+        private String ciApplyNumber;
 
+        @Schema(description = "交强保单号")
+        private String ciPolicyNumber;
+
+        @Schema(description = "商业投保单号")
+        private String biApplyNumber;
+
+        @Schema(description = "商业保单号")
+        private String biPolicyNumber;
+
+        @Schema(description = "驾意险投保单号")
+        private String niApplyNumber;
+
+        @Schema(description = "驾意险保单号")
+        private String niPolicyNumber;
+    }
     //保单号信息
-    private InsOrdersPolicy policy;
+    private OrdersPolicyVo policy;
+
+
+    //评分实体类
+    private QuoteResultsVo.ScoreVo scoreVo;
 
     /**
      * 编辑时候显示保司
      */
     private List<PtlAgreementInsCompanyVo> insCompanyVo;
 
+    /**
+     * 报价失败提示
+     */
+    private String errorMessage;
+
 
     /**
      * 订单数据库查询数据转 QuoteVo对象
@@ -77,6 +131,7 @@ public class QuoteEchoVo extends QuoteVo {
         this.getOrder().setProductsCode(insOrdersVo.getProductId());
         this.getOrder().setProductsName(insOrdersVo.getProductName());
         this.getOrder().setOrderStatus(insOrdersVo.getInsOrders().getOrderStatus());
+        this.setErrorMessage(insOrdersVo.getErrorMessage());
 
         //车辆信息处理
         this.setCarInfoVo(insOrdersVo.getCarInfoVo());
@@ -113,16 +168,42 @@ public class QuoteEchoVo extends QuoteVo {
         });
 
         this.setKindInfoVo(insOrdersVo.getKindInfoVo());
-
-        this.setOtherInfo(insOrdersVo.getOtherInfo());
         this.setAccidentalDrivings(insOrdersVo.getAccidentalDrivings());
         this.setVehicleAndVesselTaxVo(insOrdersVo.getVehicleAndVesselTaxVo());
 
         //费用处理
-        this.costs = insOrdersVo.getInsOrdersCosts();
+        this.costs = new OrdersCostsVo();
+        this.costs.setCiPremium(insOrdersVo.getInsOrdersCosts().getJqPremium());
+        this.costs.setBiPremium(insOrdersVo.getInsOrdersCosts().getSyPremium());
+        this.costs.setNiPremium(insOrdersVo.getInsOrdersCosts().getJyPremium());
+        this.costs.setVvTax(insOrdersVo.getInsOrdersCosts().getTaxPremium());
+        this.costs.setSumPremium(insOrdersVo.getInsOrdersCosts().getSumPremium());
+        this.costs.setCiRatio(insOrdersVo.getInsOrdersCosts().getJqRatio());
+        this.costs.setBiRatio(insOrdersVo.getInsOrdersCosts().getSyRatio());
 
         //保单号信息
-        this.policy = insOrdersVo.getInsOrdersPolicy();
+        this.policy = new OrdersPolicyVo();
+        this.policy.setCiApplyNumber(insOrdersVo.getInsOrdersPolicy().getJqApplyNo());
+        this.policy.setCiPolicyNumber(insOrdersVo.getInsOrdersPolicy().getJqPolicyNo());
+        this.policy.setBiApplyNumber(insOrdersVo.getInsOrdersPolicy().getSyApplyNo());
+        this.policy.setBiPolicyNumber(insOrdersVo.getInsOrdersPolicy().getSyPolicyNo());
+        this.policy.setNiApplyNumber(insOrdersVo.getInsOrdersPolicy().getJyApplyNo());
+        this.policy.setNiPolicyNumber(insOrdersVo.getInsOrdersPolicy().getJyPolicyNo());
+
+        //评分信息
+        this.scoreVo = new QuoteResultsVo.ScoreVo();
+        this.scoreVo.setScore(insOrdersVo.getInsOrdersOtherInfo().getScore());
+        this.scoreVo.setJqScore(insOrdersVo.getInsOrdersOtherInfo().getJqScore());
+        this.scoreVo.setSyScore(insOrdersVo.getInsOrdersOtherInfo().getSyScore());
+        this.scoreVo.setLossRation(Objects.isNull(insOrdersVo.getInsOrdersOtherInfo().getLossRation()) ? null : insOrdersVo.getInsOrdersOtherInfo().getLossRation().toString());
+        this.scoreVo.setJqLossRation(Objects.isNull(insOrdersVo.getInsOrdersOtherInfo().getJqLossRation()) ? null : insOrdersVo.getInsOrdersOtherInfo().getJqLossRation().toString());
+        this.scoreVo.setSyLossRation(Objects.isNull(insOrdersVo.getInsOrdersOtherInfo().getSyLossRation()) ? null : insOrdersVo.getInsOrdersOtherInfo().getSyLossRation().toString());
+        this.scoreVo.setTpColorScore(Objects.isNull(insOrdersVo.getInsOrdersOtherInfo().getTpColorScore()) ? null : insOrdersVo.getInsOrdersOtherInfo().getTpColorScore().toString());
+
+        //驾意险存储
+        List<AccidentalDrivingVo> accidentalDrivings = insOrdersVo.getAccidentalDrivings();
+
+        this.setAccidentalDrivings(accidentalDrivings);
     }
 
 

+ 44 - 23
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/entity/vo/aggregated/QuoteResultsVo.java

@@ -49,22 +49,7 @@ public class QuoteResultsVo implements Serializable {
      * 费用因子
      */
     private List<ExpenseFactor> expenseFactors;
-    /**
-     * 交强险保费
-     */
-    private String ciPremium;
-    /**
-     * 商业险保费
-     */
-    private String biPremium;
-    /**
-     * 非车险(交叉销售/驾意险)保费
-     */
-    private String niPremium;
-    /**
-     * 车船税 	Vehicle and Vessel Tax
-     */
-    private String vvTax;
+
     /**
      * 交强投保单号
      */
@@ -100,14 +85,10 @@ public class QuoteResultsVo implements Serializable {
     private ScoreVo scoreVo = new ScoreVo();
 
     /**
-     * 交强出险次数
+     * 保费
      */
-    private String ciClaims;
+    private CostsVo costs = new CostsVo();
 
-    /**
-     * 商业出险次数
-     */
-    private String biClaims;
 
     /**
      * 保司订单号
@@ -122,7 +103,10 @@ public class QuoteResultsVo implements Serializable {
     /**
      * 报价状态  true 报价成功  false 报价失败
      */
-    private InsOrderStatusEnum quoteStatus;
+    private InsOrderStatusEnum quoteStatusEnum;
+
+    private String quoteStatus;
+
 
     /**
      * 错误提示
@@ -166,5 +150,42 @@ public class QuoteResultsVo implements Serializable {
          * 太平绿黄红区间评分
          */
         private String tpColorScore;
+
+        /**
+         * 交强出险次数
+         */
+        private String ciClaims;
+
+        /**
+         * 商业出险次数
+         */
+        private String biClaims;
+
+    }
+
+    @Data
+    @AllArgsConstructor
+    @NoArgsConstructor
+    public static class CostsVo{
+        /**
+         * 交强险保费
+         */
+        private String ciPremium;
+        /**
+         * 商业险保费
+         */
+        private String biPremium;
+        /**
+         * 非车险(交叉销售/驾意险)保费
+         */
+        private String niPremium;
+        /**
+         * 车船税 	Vehicle and Vessel Tax
+         */
+        private String vvTax;
+        /**
+         * 总保费
+         */
+        private String sumPremium;
     }
 }

+ 3 - 1
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/entity/vo/aggregated/QuoteVo.java

@@ -2,7 +2,9 @@ package com.jzg.quotation.commons.entity.vo.aggregated;
 
 
 import com.jzg.commons.entity.orders.po.InsOrdersCarUserInfo;
+import com.jzg.commons.entity.orders.po.InsOrdersOther;
 import com.jzg.commons.entity.quote.vo.*;
+import com.jzg.commons.entity.vo.InsOrdersOtherInfoVo;
 import com.jzg.commons.util.IDCardUtils;
 import com.jzg.quotation.commons.constant.enums.quote.RiskCode;
 import com.jzg.quotation.commons.entity.vo.base.OrderBase;
@@ -36,7 +38,7 @@ public class QuoteVo implements Serializable {
     /**
      * 其他信息
      */
-    private OtherInfo otherInfo;
+    private InsOrdersOtherInfoVo otherInfo;
     /**
      * 车辆信息
      */

+ 6 - 0
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/entity/vo/image/InsuranceImageVo.java

@@ -58,5 +58,11 @@ public class InsuranceImageVo {
         private String imageSize;
 
 
+        /**
+         * 影像大小
+         */
+        private byte[] imageByte;
+
+
     }
 }

+ 3 - 1
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/entity/vo/orders/InsOrdersVo.java

@@ -51,6 +51,9 @@ public class InsOrdersVo extends QuoteVo {
     @Schema(description = "录单人")
     private String auditName;
 
+    @Schema(description = "错误信息")
+    private String errorMessage;
+
     @Schema(description = "录单时间")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
     private LocalDateTime createTime;
@@ -82,5 +85,4 @@ public class InsOrdersVo extends QuoteVo {
     @Schema(description = "保单号信息")
     private InsOrdersPolicy insOrdersPolicy;
 
-
 }

+ 1 - 1
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/service/QuotationBaseService.java

@@ -41,6 +41,6 @@ public interface QuotationBaseService {
     /**
      * 查询订单状态
      */
-    void queryOrderState(OrderStatusVo orderStatusVo) throws JsonProcessingException;
+    OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) throws JsonProcessingException;
 
 }

+ 6 - 6
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/api/build/DaJiaAPIQuoteResultsVoBuild.java

@@ -31,9 +31,9 @@ public final class DaJiaAPIQuoteResultsVoBuild {
         // 商业险险种信息
         List<KindInfoVo> kindInfoVo = buildKindInfoVo(quoteVo.getKindInfoVo(), odr1009Response.getResult().getCoverageList());
         quoteResultsVo.setKindInfoVo(kindInfoVo);
-        quoteResultsVo.setQuoteStatus(InsOrderStatusEnum.PAY_PENDING);
+        quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.PAY_PENDING);
         if(!Message.M0000.getCode().equals(odr1009Response.getStatus())) {
-            quoteResultsVo.setQuoteStatus(InsOrderStatusEnum.QUOTE_FAIL);
+            quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.QUOTE_FAIL);
             quoteResultsVo.setErrorMessage(odr1009Response.getMessage());
         }
         // 费用因子
@@ -46,11 +46,11 @@ public final class DaJiaAPIQuoteResultsVoBuild {
 
     private static void buildPremium(QuoteResultsVo quoteResultsVo, ODR1009Response odr1009Response, NVHLODR1001Response nvhlodr1001Response) {
 
-        quoteResultsVo.setCiPremium(odr1009Response.getResult().getBasePart().getJqPremium() + "");
-        quoteResultsVo.setVvTax(odr1009Response.getResult().getBasePart().getJqPremiumVat() + "");
-        quoteResultsVo.setBiPremium(odr1009Response.getResult().getBasePart().getSyPremium() + "");
+        quoteResultsVo.getCosts().setCiPremium(odr1009Response.getResult().getBasePart().getJqPremium() + "");
+        quoteResultsVo.getCosts().setVvTax(odr1009Response.getResult().getBasePart().getJqPremiumVat() + "");
+        quoteResultsVo.getCosts().setBiPremium(odr1009Response.getResult().getBasePart().getSyPremium() + "");
         if (!Objects.isNull(nvhlodr1001Response)) {
-            quoteResultsVo.setNiPremium(nvhlodr1001Response.getOrderPrm());
+            quoteResultsVo.getCosts().setNiPremium(nvhlodr1001Response.getOrderPrm());
         }
 
     }

+ 2 - 2
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/api/service/impl/DaJiaApiRequestImpl.java

@@ -355,7 +355,7 @@ public class DaJiaApiRequestImpl implements DaJiaApiRequest {
     }
 
     @Override
-    public void queryOrderState(OrderStatusVo orderStatusVo) {
-
+    public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
+        return null;
     }
 }

+ 3 - 3
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/build/DaJiaCrawlerQuoteResultsVoBuild.java

@@ -61,13 +61,13 @@ public final class DaJiaCrawlerQuoteResultsVoBuild {
     private static void buildOtherInfo(QuoteResultsVo quoteResultsVo, CompulsoryInsuranceDTO compulsoryInsurance, BusinessInsuranceDTO businessInsurance) {
         // 交强
         CompulsoryInsuranceDTO.ProductInfoDTO ciProductInfo = compulsoryInsurance.getProductInfo();
-        quoteResultsVo.setCiPremium(ciProductInfo.getPremium());
+        quoteResultsVo.getCosts().setCiPremium(ciProductInfo.getPremium());
         quoteResultsVo.setCiPolicyNumber(ciProductInfo.getProposalNo());
         // 商业
         BusinessInsuranceDTO.ProductInfoDTO biProductInfo = businessInsurance.getProductInfo();
-        quoteResultsVo.setBiPremium(biProductInfo.getPremium());
+        quoteResultsVo.getCosts().setBiPremium(biProductInfo.getPremium());
         quoteResultsVo.setBiPolicyNumber(biProductInfo.getProposalNo());
-        quoteResultsVo.setVvTax(compulsoryInsurance.getCarShipTax().getTotalTax());
+        quoteResultsVo.getCosts().setVvTax(compulsoryInsurance.getCarShipTax().getTotalTax());
     }
 
     private static List<KindInfoVo> buildKindInfoVo(List<KindInfoVo> kindInfoVo, List<BusinessInsuranceDTO.ItemKindsDTO> itemKinds) {

+ 2 - 1
tenant/insurance/quotation-dajia/src/main/java/com/jzg/quotation/dajia/crawler/service/impl/DaJiaCrawlerRequestImpl.java

@@ -154,13 +154,14 @@ public class DaJiaCrawlerRequestImpl implements DaJiaCrawlerRequest {
     }
 
     @Override
-    public void queryOrderState(OrderStatusVo orderStatusVo) {
+    public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
         AttributionInformationVo attributionInformationVo = orderStatusVo.getOrder().getAttributionInformationVo();
         HttpHeaders headers = daJiaCrawlerRequestComponent.getHeaders(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
         String userCode = daJiaCrawlerCacheComponent.getUserCode(attributionInformationVo.getUsername());
 
         DaJiaCrawlerOrderListRevisedRequest daJiaCrawlerOrderListRevisedRequest = new DaJiaCrawlerOrderListRevisedRequest();
         DaJiaCrawlerOrderListRevisedResponse.ListDTO listDTO = daJiaCrawlerRequestComponent.orderListRevised(daJiaCrawlerOrderListRevisedRequest, headers);
+        return null;
     }
 
 }

+ 3 - 3
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/api/build/GuoRenApiQuoteResultsVoBuild.java

@@ -90,11 +90,11 @@ public class GuoRenApiQuoteResultsVoBuild {
      */
     private static void buildPremium(QuoteResultsVo quoteResultsVo, PremiumResponse premiumResponse) {
         // 设置交强险保费
-        quoteResultsVo.setCiPremium(String.valueOf(premiumResponse.getData().getSumPremiumCI()));
+        quoteResultsVo.getCosts().setCiPremium(String.valueOf(premiumResponse.getData().getSumPremiumCI()));
         // 设置车船税
-        quoteResultsVo.setVvTax(String.valueOf(premiumResponse.getData().getSumPayTax()));
+        quoteResultsVo.getCosts().setVvTax(String.valueOf(premiumResponse.getData().getSumPayTax()));
         // 设置商业险保费
-        quoteResultsVo.setBiPremium(String.valueOf(premiumResponse.getData().getSumPremiumBI()));
+        quoteResultsVo.getCosts().setBiPremium(String.valueOf(premiumResponse.getData().getSumPremiumBI()));
         // 设置非车险(驾意险)保费,暂时无数据
 
     }

+ 2 - 1
tenant/insurance/quotation-guoren/src/main/java/com/jzg/quotation/guoren/api/service/Impl/GuoRenApiRequestImpl.java

@@ -251,7 +251,7 @@ public class GuoRenApiRequestImpl implements GuoRenApiRequest {
      * @param orderBase
      */
     @Override
-    public void queryOrderState(OrderStatusVo orderBase) {
+    public OrderStatusResultVo queryOrderState(OrderStatusVo orderBase) {
         //配置信息
         GuoRenConfigureParameters parameters = ConfigureParametersConversion.conversionEntity(GuoRenConfigureParameters.class, orderBase.getOrder().getAttributionInformationVo().getConfigInfo());
         GuoRenApiOrder guoRenApiOrder = guoRenApiOrderService.findByOrdersNo(orderBase.getOrder().getOrdersNo());
@@ -262,6 +262,7 @@ public class GuoRenApiRequestImpl implements GuoRenApiRequest {
 
         OrderStateResponse orderStateResponse = guoRenRequestApiComponent.request(orderStateRequest, PlatformInterfaceCode.API_IIRBT00010,
                 OrderStateResponse.class);
+        return null;
     }
 
     /**

+ 2 - 2
tenant/insurance/quotation-huanong/src/main/java/com/jzg/quote/huanong/crawler/service/impl/HuaNongCrawlerRequestImpl.java

@@ -161,7 +161,7 @@ public class HuaNongCrawlerRequestImpl implements HuaNongCrawlerRequest {
     }
 
     @Override
-    public void queryOrderState(OrderStatusVo orderStatusVo){
+    public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo){
         AttributionInformationVo attributionInformationVo = orderStatusVo.getOrder().getAttributionInformationVo();
         HuaNongCrawlerConfigureParameters huaNongCrawlerConfigureParameters = ConfigureParametersConversion.conversionEntity(HuaNongCrawlerConfigureParameters.class, attributionInformationVo.getConfigInfo());
         String token = huaNongCrawlerGetToken.getToken(attributionInformationVo.getUsername(), attributionInformationVo.getPassword());
@@ -170,7 +170,7 @@ public class HuaNongCrawlerRequestImpl implements HuaNongCrawlerRequest {
 
         HuaNongCrawlerFindBusinessesRequest huaNongCrawlerFindBusinessesRequest = new HuaNongCrawlerFindBusinessesRequest();
         huaNongCrawlerRequestComponent.findBusinesses(huaNongCrawlerFindBusinessesRequest, httpHeaders);
-
+        return null;
     }
 
 

+ 3 - 3
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/build/HuaTaiApiQuoteResultsVoBuild.java

@@ -99,13 +99,13 @@ public class HuaTaiApiQuoteResultsVoBuild {
         HuaTaiQuotedPriceResponse.ContractDto ciContractDto = getCiContractDto(quotedPriceResponse);
         if (ObjectUtil.isNotNull(ciContractDto)){
             // 设置交强险保费
-            quoteResultsVo.setCiPremium(String.valueOf(ciContractDto.getContractMain().getTotalPremium()));
+            quoteResultsVo.getCosts().setCiPremium(String.valueOf(ciContractDto.getContractMain().getTotalPremium()));
             // 设置车船税
-            quoteResultsVo.setVvTax(String.valueOf(ciContractDto.getTax().getSumTax()));
+            quoteResultsVo.getCosts().setVvTax(String.valueOf(ciContractDto.getTax().getSumTax()));
         }
         // 设置商业险保费
         if (ObjectUtil.isNotNull(biContractDto)){
-            quoteResultsVo.setBiPremium(String.valueOf(biContractDto.getContractMain().getTotalPremium()));
+            quoteResultsVo.getCosts().setBiPremium(String.valueOf(biContractDto.getContractMain().getTotalPremium()));
         }
         // 设置非车险(驾意险)保费,暂时无数据
 

+ 7 - 0
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/component/HuaTaiRequestApiComponent.java

@@ -2,6 +2,7 @@ package com.jzg.quotation.huatai.api.component;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.serializer.SerializerFeature;
+import com.alibaba.fastjson2.JSONObject;
 import com.jzg.commons.exception.SystemException;
 import com.jzg.quotation.commons.component.RequestComponent;
 import com.jzg.quotation.huatai.api.entity.request.*;
@@ -104,6 +105,12 @@ public class HuaTaiRequestApiComponent {
         String aseDecryptStr = AESUtilsWithDataBase.decryptECBPK5Base64(encryptRes.getBusiContent(), resAccessToken);
         //3.使用Base64解密最终返回报文
         String text = Base64Utils.getBase64Decode(aseDecryptStr);
+        if (StringUtils.isNotBlank(text)){
+            JSONObject jsonObject = JSONObject.parseObject(text);
+            if (StringUtils.equals("-1",String.valueOf(jsonObject.get("returnCode")))){
+                throw new SystemException(String.valueOf(jsonObject.get("returnMessage")));
+            }
+        }
         // ------解密ending---------
 //        InsuranceLog.infoLog(InsuranceEnum.HTIC.getPinyin(), "\n\t---------> {}:{}", "响应参数", text);
         S t = JSON.parseObject(text, tClass);

+ 48 - 34
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/component/HuiTaiUploadImageComponent.java

@@ -10,11 +10,17 @@ import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.core.io.ByteArrayResource;
 import org.springframework.http.*;
 import org.springframework.stereotype.Component;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
 import org.springframework.web.client.RestTemplate;
 
-import java.io.*;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.util.*;
@@ -29,9 +35,9 @@ import java.util.*;
 @Slf4j
 public class HuiTaiUploadImageComponent {
     private final RestTemplate restTemplate;
-    private static final String INIT_PARAM = "/h5img/app/ImgManager/initParam.cmd?t=";
-    private static final String FILE_UPLOAD = "/h5img/fileupload";
-    private static final String SAVE_FILE_IDX = "/h5img/app/ImgManager/saveFileIdx.cmd";
+    private static final String INIT_PARAM = "/h5img/app/ImgManager/initParam.cdo?t=";
+    private static final String FILE_UPLOAD = "/h5img/app/ImgFileUpload/upload.do";
+    private static final String SAVE_FILE_IDX = "/h5img/app/ImgManager/saveFileIdx.cdo";
 
     private final InsImagesUploadCacheComponent insImagesUploadCacheComponent;
 
@@ -58,9 +64,8 @@ public class HuiTaiUploadImageComponent {
                 token = pair[1];
             }
         }
-
         HuaTaiImageInitParamResponse initParamResponse = initParam(domain, token);
-        List<HuaTaiImageInitParamResponse.TypeSelectVosDTO.ChildrenDTO> childrenDTO = initParamResponse.getChildrenDTO();
+        List<HuaTaiImageInitParamResponse.TypeTreeNodeVoDTO.ChildrenDTO> childrenDTO = initParamResponse.getChildrenDTO();
         // 使用map 存储上传类型和图片
         Map<String, List<String>> map = new HashMap<>();
         for (InsuranceImageVo insuranceImageVo : imageVoList) {
@@ -78,11 +83,12 @@ public class HuiTaiUploadImageComponent {
                             HuaTaiImageInitParamResponse.TypeSelectVosDTO.ChildrenDTO childrenDTO1 =
                                     HuaTaiImageInitParamResponse.filteringTypeCode(childrenDTO, fileTypeEnum.getCode());
 
-                            FileuploadResult fileupload = fileupload(domain, token, initParamResponse, imageDTO.getImageBase64Str(), file);
+                            FileUploadResult fileupload = fileupload(domain, token, initParamResponse, imageDTO.getImageByte(), file,childrenDTO1);
                             saveFileIdx(domain, token, initParamResponse, fileupload, fileName, childrenDTO1);
                             imageIds.add(imageDTO.getImageId());
                         } catch (Exception e) {
                             insImagesUploadCacheComponent.setUploadImageCache(companyId, map);
+                            log.error(fileTypeEnum.getName() + "上传异常,", e);
                             throw new SystemException(fileTypeEnum.getName() + "上传异常, 请重试");
                         }
 
@@ -91,7 +97,6 @@ public class HuiTaiUploadImageComponent {
             }
             map.put(insuranceImageVo.getImageCode(), imageIds);
         }
-
         insImagesUploadCacheComponent.setUploadImageCache(companyId, map);
     }
 
@@ -104,9 +109,9 @@ public class HuiTaiUploadImageComponent {
      */
     private HuaTaiImageInitParamResponse initParam(String domain, String token) {
         HttpHeaders httpHeaders = new HttpHeaders();
-        // token
-        httpHeaders.set("Cookie", "token=" + token);
-        String initParamUrl = domain + INIT_PARAM + System.currentTimeMillis();
+        httpHeaders.setContentType(MediaType.APPLICATION_JSON);
+        httpHeaders.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
+        String initParamUrl = domain + INIT_PARAM + System.currentTimeMillis() + "&token=" + token;
         HttpEntity<Object> httpEntity = new HttpEntity<>(null, httpHeaders);
         ResponseEntity<HuaTaiImageInitParamResponse> response = restTemplate.exchange(initParamUrl, HttpMethod.GET, httpEntity,
                 HuaTaiImageInitParamResponse.class);
@@ -118,26 +123,32 @@ public class HuiTaiUploadImageComponent {
      *
      * @return 文件路径
      */
-    private FileuploadResult fileupload(String domain, String token, HuaTaiImageInitParamResponse initParamResponse, String imageBase64Str,
-                                        String fileName) {
-        byte[] bytes = Base64.getDecoder().decode(imageBase64Str);
-        double v = (double) bytes.length / 1024;
+    private FileUploadResult fileupload(String domain, String token, HuaTaiImageInitParamResponse initParamResponse, byte[] imageBase64Str,
+                                        String fileName, HuaTaiImageInitParamResponse.TypeSelectVosDTO.ChildrenDTO childrenDTO1) {
+        // 请求参数
+        MultiValueMap<String, Object> body = new LinkedMultiValueMap<>();
+        ByteArrayResource byteArrayResource = new ByteArrayResource(imageBase64Str) {
+            @Override
+            public String getFilename() {
+                return fileName;
+            }
+        };
+        HttpHeaders httpHeadersFile = new HttpHeaders();
+        httpHeadersFile.setContentType(MediaType.IMAGE_JPEG);
+        body.set("file", new HttpEntity<>(byteArrayResource, httpHeadersFile));
+        body.set("token", token);
+        body.set("bussModule", childrenDTO1.getBussType());
+        body.set("bussNo", childrenDTO1.getBussNo());
+        body.set("fileName", fileName);
+        body.set("saveFileName", null);
+        body.set("bucket", initParamResponse.getStorageType());
+        body.set("storageType", initParamResponse.getStorageType());
+        // 请求头
         HttpHeaders httpHeaders = new HttpHeaders();
-        httpHeaders.setAccept(Collections.singletonList(MediaType.MULTIPART_FORM_DATA));
-        httpHeaders.set("Bucket", initParamResponse.getStorageType());
-        httpHeaders.set("Bussmodule", initParamResponse.getBussType());
-        httpHeaders.set("Bussno", initParamResponse.getBussNo());
-
-        // token
-        httpHeaders.set("Token", token);
-        // 文件名称
-        httpHeaders.set("Filename", fileName);
-        httpHeaders.setContentType(MediaType.IMAGE_JPEG);
-        HttpEntity<byte[]> httpEntity = new HttpEntity<>(bytes, httpHeaders);
-
-        String fileuploadUrl = domain + FILE_UPLOAD;
-        ResponseEntity<String> response = restTemplate.postForEntity(fileuploadUrl, httpEntity, String.class);
-        return new FileuploadResult(response.getBody(), v);
+        httpHeaders.setContentType(MediaType.MULTIPART_FORM_DATA);
+        HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<>(body, httpHeaders);
+        ResponseEntity<String> response = restTemplate.postForEntity(domain + FILE_UPLOAD, httpEntity, String.class);
+        return new FileUploadResult(response.getBody().substring(1, response.getBody().length() - 1), (double) imageBase64Str.length / 1024);
     }
 
 
@@ -149,7 +160,7 @@ public class HuiTaiUploadImageComponent {
      * @param fileName    文件名称
      * @param childrenDTO 上传的文件类型
      */
-    private void saveFileIdx(String domain, String token, HuaTaiImageInitParamResponse response, FileuploadResult fileupload,
+    private void saveFileIdx(String domain, String token, HuaTaiImageInitParamResponse response, FileUploadResult fileupload,
                              String fileName,
                              HuaTaiImageInitParamResponse.TypeSelectVosDTO.ChildrenDTO childrenDTO) {
         HuaTaiSaveFileIdxRequest huaTaiSaveFileIdxRequest = new HuaTaiSaveFileIdxRequest(token, response, fileupload, fileName,
@@ -157,16 +168,19 @@ public class HuiTaiUploadImageComponent {
         huaTaiSaveFileIdxRequest.getFileIdxVo().setImgId(System.currentTimeMillis());
         HttpHeaders httpHeaders = new HttpHeaders();
         httpHeaders.setContentType(MediaType.APPLICATION_JSON);
-        httpHeaders.set("Cookie", "token=" + token);
         HttpEntity<HuaTaiSaveFileIdxRequest> httpEntity = new HttpEntity<>(huaTaiSaveFileIdxRequest, httpHeaders);
         String saveFileIdxUrl = domain + SAVE_FILE_IDX;
-        restTemplate.postForEntity(saveFileIdxUrl, httpEntity, String.class);
+        try {
+            restTemplate.postForEntity(saveFileIdxUrl, httpEntity, String.class);
+        }catch (Exception e){
+            log.error("保存异常,", e);
+        }
     }
 
 
     @AllArgsConstructor
     @Data
-    public static class FileuploadResult {
+    public static class FileUploadResult {
 
         private String filePath;
 

+ 1 - 1
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/constant/TimeConstants.java

@@ -13,5 +13,5 @@ public class TimeConstants {
 
     public static final String START_TIME = "00:00:00";
 
-    public static final String END_TIME = "00:00:00";
+    public static final String END_TIME = "23:59:59";
 }

+ 1 - 1
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/entity/request/HuaTaiQuotedPriceRequest.java

@@ -797,7 +797,7 @@ public class HuaTaiQuotedPriceRequest extends HuaTaiBaseRequest {
             int randomNum = new Random().nextInt(HuaTaiBaseCode.getOccupation().size());
             this.occupationCode = HuaTaiBaseCode.getOccupation().get(randomNum);//后续需要根据接口维护返参到表里
             this.identifyValidDate = customerInfoVo.getIdentifyValidDate() + " " + TimeConstants.START_TIME;
-            this.identifyValidEndDate = customerInfoVo.getIdentifyValidEndDate() + " " + TimeConstants.END_TIME;
+            this.identifyValidEndDate = customerInfoVo.getIdentifyValidEndDate() + " " + TimeConstants.START_TIME;
             if ("2".equals(role)) {
                 this.carInsuredRelation = "1";
             }

+ 11 - 11
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/entity/request/HuaTaiSaveFileIdxRequest.java

@@ -19,7 +19,7 @@ public class HuaTaiSaveFileIdxRequest {
     @JsonProperty("fileIdxVo")
     private FileIdxVoDTO fileIdxVo;
 
-    public HuaTaiSaveFileIdxRequest(String token, HuaTaiImageInitParamResponse response, HuiTaiUploadImageComponent.FileuploadResult fileupload, String fileName,
+    public HuaTaiSaveFileIdxRequest(String token, HuaTaiImageInitParamResponse response, HuiTaiUploadImageComponent.FileUploadResult fileupload, String fileName,
                                     HuaTaiImageInitParamResponse.TypeSelectVosDTO.ChildrenDTO childrenDTO) {
         this.token = token;
         this.fileIdxVo = new FileIdxVoDTO(response, fileupload, fileName, childrenDTO);
@@ -53,7 +53,7 @@ public class HuaTaiSaveFileIdxRequest {
         private String appSource;
 
         @JsonProperty("docId")
-        private Integer docId;
+        private Long docId;
 
         @JsonProperty("bussNo")
         private String bussNo;
@@ -151,7 +151,7 @@ public class HuaTaiSaveFileIdxRequest {
         @JsonProperty("storageType")
         private String storageType;
 
-        public FileIdxVoDTO(HuaTaiImageInitParamResponse response, HuiTaiUploadImageComponent.FileuploadResult fileupload, String fileName,
+        public FileIdxVoDTO(HuaTaiImageInitParamResponse response, HuiTaiUploadImageComponent.FileUploadResult fileupload, String fileName,
                             HuaTaiImageInitParamResponse.TypeSelectVosDTO.ChildrenDTO childrenDTO) {
             this.rotate = 0;
             this.rotateStart = 0;
@@ -162,12 +162,12 @@ public class HuaTaiSaveFileIdxRequest {
             this.createUser = response.getOptUserId();
             this.createUserName = response.getOptUserName();
             this.appSource = response.getAppSource();
-            this.docId = response.getDocId();
-            this.bussNo = response.getBussNo();
-            this.bussType = response.getBussType();
-            this.bussTypeName = response.getBussTypeName();
-            this.riskCode = response.getRiskCode();
-            this.riskCodeName = response.getRiskCodeName();
+            this.docId = childrenDTO.getDocId();
+            this.bussNo = childrenDTO.getBussNo();
+            this.bussType = childrenDTO.getBussType();
+            this.bussTypeName = childrenDTO.getBussTypeName();
+            this.riskCode = childrenDTO.getRiskCode();
+            this.riskCodeName = childrenDTO.getRiskCodeName();
             this.comCode = response.getComCode();
             this.comName = response.getComName();
             this.bussDate = response.getBussDate();
@@ -177,7 +177,7 @@ public class HuaTaiSaveFileIdxRequest {
             this.editable = true;
             this.deletable = true;
             this.voType = "C";
-            this.archType = response.getArchType();
+            this.archType = childrenDTO.getArchType();
 
             this.picFileFlag = 1;
             this.fileSize = fileupload.getFileSize();
@@ -189,7 +189,7 @@ public class HuaTaiSaveFileIdxRequest {
             this.fileTitle = uuidLower;
             this.fileOrgName = uuidLower + substring;
 
-            this.fileName = fileupload.getFilePath().substring(fileupload.getFilePath().lastIndexOf("/")+1);;
+            this.fileName = fileupload.getFilePath().substring(fileupload.getFilePath().lastIndexOf("/")+1);
 
             this.typePath = childrenDTO.getTypePath();
             this.typePathName = childrenDTO.getTypePathName();

+ 1 - 1
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/entity/request/HuaTaiSubmitRequest.java

@@ -434,7 +434,7 @@ public class HuaTaiSubmitRequest extends HuaTaiBaseRequest {
             this.type = "1";
             this.occupationCode = "20114";//后续需要根据接口维护返参到表里
             this.identifyValidDate = customerInfoVo.getIdentifyValidDate() + " " + TimeConstants.START_TIME;
-            this.identifyValidEndDate = customerInfoVo.getIdentifyValidEndDate() + " " + TimeConstants.END_TIME;
+            this.identifyValidEndDate = customerInfoVo.getIdentifyValidEndDate() + " " + TimeConstants.START_TIME;
             this.addr = customerInfoVo.getAddr();
             this.email = "123@qq.com";
             if (StringUtils.isNotEmpty(customerInfoVo.getEmail())) {

+ 33 - 9
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/entity/response/HuaTaiImageInitParamResponse.java

@@ -1,8 +1,11 @@
 package com.jzg.quotation.huatai.api.entity.response;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Data;
 import lombok.NoArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.ObjectUtils;
 
 import java.util.List;
 import java.util.stream.Collectors;
@@ -12,6 +15,7 @@ import java.util.stream.Collectors;
  * @author: shenwd
  * @date: 2025/3/12 09:42
  **/
+@Slf4j
 @NoArgsConstructor
 @Data
 public class HuaTaiImageInitParamResponse {
@@ -50,7 +54,7 @@ public class HuaTaiImageInitParamResponse {
     private String comName;
 
     @JsonProperty("docId")
-    private Integer docId;
+    private Long docId;
 
     @JsonProperty("documentFile")
     private String documentFile;
@@ -133,12 +137,32 @@ public class HuaTaiImageInitParamResponse {
     @JsonProperty("viewType")
     private String viewType;
 
-    public List<TypeSelectVosDTO.ChildrenDTO> getChildrenDTO() {
-        return this.getTypeSelectVos().stream().map(TypeSelectVosDTO::getChildren).flatMap(List::stream).collect(Collectors.toList());
+    public List<TypeTreeNodeVoDTO.ChildrenDTO> getChildrenDTO() {
+        return this.getTypeTreeNodeVo().getChildren();
+        //return this.getTypeSelectVos().stream().map(TypeSelectVosDTO::getChildren).flatMap(List::stream).collect(Collectors.toList());
     }
 
-    public static TypeSelectVosDTO.ChildrenDTO filteringTypeCode(List<TypeSelectVosDTO.ChildrenDTO> list, String typeCode){
-        return list.stream().filter(x -> x.getTypeCode().equals(typeCode)).collect(Collectors.toList()).get(0);
+    public static TypeSelectVosDTO.ChildrenDTO filteringTypeCode(List<TypeTreeNodeVoDTO.ChildrenDTO> list, String typeCode){
+       try {
+           // 检查输入参数是否为空,避免空指针异常
+           if (list == null || typeCode == null) {
+               log.warn("输入参数为空,list: {}, typeCode: {}", list, typeCode);
+               return null;
+           }
+           List<JSONObject> parsed = JSONObject.parseObject(JSONObject.toJSONString(
+                   list.stream().filter(v -> ObjectUtils.isNotEmpty(v.getChildren()))
+                           .flatMap(s -> JSONObject.parseObject(JSONObject.toJSONString(s.getChildren()), List.class).stream())
+                           .collect(Collectors.toList())
+           ), List.class);
+           JSONObject jsonObject = parsed.stream().filter(v -> ObjectUtils.isNotEmpty(v.get("typeCode")) && v.get("typeCode").equals(typeCode)).findAny().orElse(new JSONObject());
+           log.info("parsed: {}", jsonObject);
+           TypeSelectVosDTO.ChildrenDTO childrenDTO = JSONObject.parseObject(JSONObject.toJSONString(jsonObject), TypeSelectVosDTO.ChildrenDTO.class);
+           return childrenDTO;
+       }catch (Exception e){
+           e.printStackTrace();
+           log.warn("过滤失败,typeCode: {}", typeCode);
+           return new TypeSelectVosDTO.ChildrenDTO();
+       }
     }
 
     @NoArgsConstructor
@@ -174,7 +198,7 @@ public class HuaTaiImageInitParamResponse {
         @JsonProperty("count")
         private Integer count;
         @JsonProperty("docId")
-        private Integer docId;
+        private Long docId;
         @JsonProperty("docMaxSize")
         private Integer docMaxSize;
         @JsonProperty("label")
@@ -226,7 +250,7 @@ public class HuaTaiImageInitParamResponse {
             @JsonProperty("count")
             private Integer count;
             @JsonProperty("docId")
-            private Object docId;
+            private Long docId;
             @JsonProperty("docMaxSize")
             private Integer docMaxSize;
             @JsonProperty("label")
@@ -280,7 +304,7 @@ public class HuaTaiImageInitParamResponse {
         @JsonProperty("count")
         private Integer count;
         @JsonProperty("docId")
-        private Integer docId;
+        private Long docId;
         @JsonProperty("docMaxSize")
         private Integer docMaxSize;
         @JsonProperty("label")
@@ -332,7 +356,7 @@ public class HuaTaiImageInitParamResponse {
             @JsonProperty("count")
             private Integer count;
             @JsonProperty("docId")
-            private Integer docId;
+            private Long docId;
             @JsonProperty("docMaxSize")
             private Integer docMaxSize;
             @JsonProperty("label")

+ 45 - 21
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/api/service/Impl/HuaTaiApiRequestImpl.java

@@ -2,15 +2,16 @@ package com.jzg.quotation.huatai.api.service.Impl;
 
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.util.ObjectUtil;
+import com.alibaba.fastjson2.JSONObject;
 import com.jzg.commons.constants.dict.InsOrderStatusEnum;
 import com.jzg.commons.entity.quote.vo.AccidentalDrivingVo;
+import com.jzg.commons.entity.quote.vo.AttributionInformationVo;
+import com.jzg.commons.entity.quote.vo.CarInfoVo;
+import com.jzg.commons.entity.quote.vo.RiskInfoVo;
 import com.jzg.commons.exception.SystemException;
 import com.jzg.quotation.commons.constant.InsuranceCode;
 import com.jzg.quotation.commons.entity.vo.aggregated.*;
 import com.jzg.quotation.commons.entity.vo.base.OrderBase;
-import com.jzg.commons.entity.quote.vo.AttributionInformationVo;
-import com.jzg.commons.entity.quote.vo.CarInfoVo;
-import com.jzg.commons.entity.quote.vo.RiskInfoVo;
 import com.jzg.quotation.commons.filter.CarModelsFilterUtils;
 import com.jzg.quotation.commons.standard.conversion.ConfigureParametersConversion;
 import com.jzg.quotation.huatai.api.build.HuaTaiApiQuoteResultsVoBuild;
@@ -128,7 +129,7 @@ public class HuaTaiApiRequestImpl implements HuaTaiApiRequest {
         huaTaiApiOrder.setBiRiskInfoVo(quoteVo.getBiRiskInfoVo());
 
         HuaTaiApiOrder save = huaTaiApiOrderService.save(huaTaiApiOrder);
-        quoteResultsVo.setQuoteStatus(StringUtils.isNotBlank(save.getId()) ? InsOrderStatusEnum.WAIT_AUDIT :InsOrderStatusEnum. QUOTE_FAIL);
+        quoteResultsVo.setQuoteStatusEnum(StringUtils.isNotBlank(save.getId()) ? InsOrderStatusEnum.WAIT_AUDIT :InsOrderStatusEnum. QUOTE_FAIL);
         return quoteResultsVo;
     }
 
@@ -150,6 +151,10 @@ public class HuaTaiApiRequestImpl implements HuaTaiApiRequest {
         HuaTaiSubmitRequest submitRequest = new HuaTaiSubmitRequest(huaTaiApiOrder, huaTaiParameters, engageList);
         HuaTaiSubmitResponse submitResponse = huataiRequestApiComponent.submit(submitRequest, HuaTaiSubmitResponse.class, huaTaiParameters.getInsuredCode());
 
+       // String str = "{\"appliResult\":[{\"contractNo\":\"B2781250425MM000003\",\"notion\":[{\"uWNotion\":\"交强险:2278110022025000020 投保预确认失败 \\n原因:投保业务:投保业务:中国银保信车险平台友情提示:投保(预)确认时间应早于或等于保险起期。\",\"uWResult\":\"您的业务无法正常生成订单,请联系店主15175223697咨询\",\"uWType\":\"CI\"}],\"status\":\"6\"}],\"head\":{\"returnCode\":\"0\",\"returnMessage\":\"成功\",\"token\":\"\",\"transCode\":\"SAVE\",\"transType\":\"RES\"}}";
+
+
+        log.info("提交保单返回信息:{}", JSONObject.toJSONString(submitResponse));
         if ("-1".equals(submitResponse.getHead().getReturnCode())) {
             throw new SystemException(submitResponse.getHead().getReturnMessage());
         }
@@ -218,16 +223,30 @@ public class HuaTaiApiRequestImpl implements HuaTaiApiRequest {
                 totalStatus = "0";
             }
         }
-
+        UnderwritingResultsVo underwritingResultsVo = new UnderwritingResultsVo();
         if ("4".equals(totalStatus)) {
+            underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.PAY_PENDING);
             //再调用缴费接口获取缴费链接
             //return getPayURL(insAreaCompany, huaTaiConfigureParameters);
         } else if ("1".equals(totalStatus)) {
+            //人工核保
+            underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.STAFF_PROCESS);
+            underwritingResultsVo.setUnderwritingResult("人工处理");
             //调用提交核保接口
             HuaTaiSubmitStatusQueryResponse huaTaiSubmitStatusQueryResponse = submitStatus(huaTaiApiOrder, huaTaiParameters, "1");
 
+        }else {
+            //核保退回
+            StringBuilder sb = new StringBuilder();
+            for (HuaTaiSubmitResponse.AppliResult appliResult : submitResponse.getAppliResult()) {
+                for (HuaTaiSubmitResponse.Notion notion : appliResult.getNotion()) {
+                    sb.append(StringUtils.equals("C1",notion.getUWType()) ? "交强险提示信息:s%" : " 商业险提示信息:s%").append(notion.getUWNotion());
+                }
+            }
+            underwritingResultsVo.setUnderwritingResult(sb.toString());
+            underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.AUDIT_FAIL);
         }
-        UnderwritingResultsVo underwritingResultsVo = new UnderwritingResultsVo();
+
         return underwritingResultsVo;
     }
 
@@ -264,19 +283,24 @@ public class HuaTaiApiRequestImpl implements HuaTaiApiRequest {
      */
     @Override
     public void uploadImage(InsuranceUploadImageVo insuranceUploadImageVo) {
-        OrderBase orderBase = insuranceUploadImageVo.getOrder();
-        AttributionInformationVo attributionInformationVo = orderBase.getAttributionInformationVo();
-        //配置信息
-        HuaTaiConfigureParameters huaTaiParameters = ConfigureParametersConversion.conversionEntity(HuaTaiConfigureParameters.class, attributionInformationVo.getConfigInfo());
-
-        HuaTaiApiOrder huaTaiApiOrder = huaTaiApiOrderService.findByOrdersNo(orderBase.getOrdersNo());
-        HuaTaiUploadImageRequest uploadImageRequest = new HuaTaiUploadImageRequest(huaTaiApiOrder, huaTaiParameters);
-        uploadImageRequest.setHead(new HuaTaiBaseRequestHead(huaTaiParameters));
-        //返回影像上传url
-        HuaTaiUploadImageResponse huaTaiUploadImageResponse = huataiRequestApiComponent.uploadImage(uploadImageRequest, HuaTaiUploadImageResponse.class, huaTaiParameters.getInsuredCode());
-
-        //爬虫方式进行图片上传
-        huiTaiUploadImageComponent.uploadImage(orderBase.getInsuranceCompanyCode(), huaTaiUploadImageResponse.getUrl(), insuranceUploadImageVo.getImageVoList());
+        try {
+            OrderBase orderBase = insuranceUploadImageVo.getOrder();
+            AttributionInformationVo attributionInformationVo = orderBase.getAttributionInformationVo();
+            //配置信息
+            HuaTaiConfigureParameters huaTaiParameters = ConfigureParametersConversion.conversionEntity(HuaTaiConfigureParameters.class, attributionInformationVo.getConfigInfo());
+
+            HuaTaiApiOrder huaTaiApiOrder = huaTaiApiOrderService.findByOrdersNo(orderBase.getOrdersNo());
+            HuaTaiUploadImageRequest uploadImageRequest = new HuaTaiUploadImageRequest(huaTaiApiOrder, huaTaiParameters);
+            uploadImageRequest.setHead(new HuaTaiBaseRequestHead(huaTaiParameters));
+            //返回影像上传url
+            HuaTaiUploadImageResponse huaTaiUploadImageResponse = huataiRequestApiComponent.uploadImage(uploadImageRequest, HuaTaiUploadImageResponse.class, huaTaiParameters.getInsuredCode());
+
+            //爬虫方式进行图片上传
+            huiTaiUploadImageComponent.uploadImage(orderBase.getInsuranceCompanyCode(), huaTaiUploadImageResponse.getUrl(), insuranceUploadImageVo.getImageVoList());
+        }catch (Exception e){
+            log.error("华泰影像上传失败",e.getMessage());
+            throw new RuntimeException("华泰影像上传失败");
+        }
     }
 
     /**
@@ -304,7 +328,7 @@ public class HuaTaiApiRequestImpl implements HuaTaiApiRequest {
      * @param orderStatusVo
      */
     @Override
-    public void queryOrderState(OrderStatusVo orderStatusVo) {
+    public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
         AttributionInformationVo attributionInformationVo = orderStatusVo.getOrder().getAttributionInformationVo();
         //配置信息
         HuaTaiConfigureParameters huaTaiParameters = ConfigureParametersConversion.conversionEntity(HuaTaiConfigureParameters.class, attributionInformationVo.getConfigInfo());
@@ -318,7 +342,7 @@ public class HuaTaiApiRequestImpl implements HuaTaiApiRequest {
         HuaTaiOrderStatusRequest orderStatusRequest = new HuaTaiOrderStatusRequest(huaTaiApiOrder, huaTaiParameters);
         orderStatusRequest.setHead(baseRequestHead);
         HuaTaiOrderStatusResponse orderStatusResponse = huataiRequestApiComponent.orderStatus(orderStatusRequest, HuaTaiOrderStatusResponse.class, huaTaiParameters.getInsuredCode());
-
+        return null;
 
     }
 

+ 3 - 3
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/crawler/build/HuaTaiCrawlerQuoteResultsVoBuild.java

@@ -95,12 +95,12 @@ public class HuaTaiCrawlerQuoteResultsVoBuild {
     private static void buildPremium(QuoteResultsVo quoteResultsVo, HtCrawlerQuoteResponse.DataDTO quoteResponseData) {
         HtCrawlerQuoteResponse.DataDTO.CoverageDTOList.CoverageDTO ciDTO = getCiDTO(quoteResponseData);
         // 设置交强险保费
-        quoteResultsVo.setCiPremium(ciDTO.getStandardpremium());
+        quoteResultsVo.getCosts().setCiPremium(ciDTO.getStandardpremium());
         // 设置车船税
         HtCrawlerQuoteResponse.DataDTO.VehicleTaxationDTO.TaxAmountDTO taxamountdto = quoteResponseData.getVehicletaxationdto().getTaxamountdto();
-        quoteResultsVo.setVvTax(taxamountdto.getSumtax());
+        quoteResultsVo.getCosts().setVvTax(taxamountdto.getSumtax());
         // 设置商业险保费
-        quoteResultsVo.setBiPremium(getBiPremium(quoteResponseData));
+        quoteResultsVo.getCosts().setBiPremium(getBiPremium(quoteResponseData));
         // 设置非车险(驾意险)保费,报价返回数据中不存在
 
     }

+ 2 - 2
tenant/insurance/quotation-huatai/src/main/java/com/jzg/quotation/huatai/crawler/service/Impl/HuaTaiCrawlerRequestImpl.java

@@ -158,7 +158,7 @@ public class HuaTaiCrawlerRequestImpl implements HuaTaiCrawlerRequest {
      * @param orderStatusVo
      */
     @Override
-    public void queryOrderState(OrderStatusVo orderStatusVo) throws JsonProcessingException {
-
+    public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) throws JsonProcessingException {
+        return null;
     }
 }

+ 6 - 0
tenant/insurance/quotation-summary/pom.xml

@@ -33,6 +33,12 @@
 <!--            <artifactId>quotation-zijin</artifactId>-->
 <!--            <version>1.0-SNAPSHOT</version>-->
 <!--        </dependency>-->
+
+        <dependency>
+            <groupId>com.jzg</groupId>
+            <artifactId>quotation-zhongmei</artifactId>
+            <version>1.0-SNAPSHOT</version>
+        </dependency>
         <dependency>
             <groupId>com.jzg</groupId>
             <artifactId>quotation-commons</artifactId>

+ 19 - 4
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/CarModelController.java

@@ -3,13 +3,12 @@ package com.jzg.quotation.summary.controller;
 import com.alibaba.fastjson.JSONObject;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.vo.CarModelDTO;
+import com.jzg.quotation.summary.entity.po.ModelsQueryQueryVo;
 import com.jzg.quotation.summary.service.CarModelService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.Comparator;
 import java.util.List;
@@ -41,4 +40,20 @@ public class  CarModelController {
         JSONObject jsonObject = carModelService.licenseSearch(licenseNo);
         return HttpResult.ok(jsonObject);
     }
+
+
+    @PostMapping(value = "/modelsQuery")
+    @Operation(description = "车型查询接口")
+    public HttpResult<List<CarModelDTO>> modelsQuery(@RequestBody ModelsQueryQueryVo modelsQueryQueryVo) {
+        List<CarModelDTO> map = carModelService.modelsQuery(modelsQueryQueryVo.getModelName());
+        List<CarModelDTO> carModelDTOS =
+                map.stream().sorted(Comparator.comparing(CarModelDTO::getReplacementValue)).collect(Collectors.toList());
+        if (!StringUtils.isEmpty(modelsQueryQueryVo.getMarketYear())) {
+            List<CarModelDTO> collect = carModelDTOS.stream().filter(x -> !StringUtils.isEmpty(x.getMarketYear()) && x.getMarketYear().startsWith(modelsQueryQueryVo.getMarketYear())).collect(Collectors.toList());
+            return HttpResult.ok(collect);
+        }
+        return HttpResult.ok(carModelDTOS);
+    }
+
+
 }

+ 12 - 8
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/UnifyOrderManager.java

@@ -19,7 +19,6 @@ import com.jzg.commons.util.MinioUtils;
 import com.jzg.quotation.commons.client.OrgClient;
 import com.jzg.quotation.commons.client.PlatformClient;
 import com.jzg.quotation.commons.constant.enums.base.QuoteRuleCategory;
-import com.jzg.quotation.commons.constant.enums.base.QuoteRuleGroup;
 import com.jzg.quotation.commons.entity.vo.aggregated.*;
 import com.jzg.quotation.commons.entity.vo.orders.InsOrdersVo;
 import com.jzg.quotation.commons.service.QuotationApiBaseService;
@@ -173,7 +172,6 @@ public class UnifyOrderManager {
         HttpResult<EsmInsCompany> esmInsCompanyHttpResult = platformClient.findById(quoteVo.getOrder().getInsuranceCompanyCode(), baseController.getToken());
         AssertionUtils.isFail(esmInsCompanyHttpResult.getCode() != 200,esmInsCompanyHttpResult.getMsg());
         String systemCode = getSystemCode();
-
         String companyName = CompanyConstants.getCompanyNameByCode(esmInsCompanyHttpResult.getData().getCompanyCode());
         //先默认第一个协议
         HttpResult<List<PtlAgreement>> byCompanyId = orgClient.getByCompanyId(esmInsCompanyHttpResult.getData().getId(), baseController.getToken(),systemCode);
@@ -191,6 +189,11 @@ public class UnifyOrderManager {
 
 
 
+        // 生成订单
+        String ordersNo = insOrdersService.generateOrders(quoteVo,companyName);
+        quoteVo.getOrder().setOrdersNo(ordersNo);
+
+        //保司相关代码转换
         Map<String, List<QuoteRuleMapping>> quoteKindMappingMap = quoteRuleMappingService.getByInsuranceCompanyCode(esmInsCompanyHttpResult.getData().getCode());
         QuoteInfoConverter.converterCarInfoVo(quoteVo.getCarInfoVo(), quoteKindMappingMap.get(QuoteRuleCategory.QUOTE_INFO.getCode()));
         if(CollUtil.isNotEmpty(quoteVo.getKindInfoVo())){
@@ -199,22 +202,20 @@ public class UnifyOrderManager {
                     quoteVo.getCarInfoVo());
         }
 
-        // 生成订单
-        String ordersNo = insOrdersService.generateOrders(quoteVo,companyName);
-        quoteVo.getOrder().setOrdersNo(ordersNo);
+
         // 报价
         QuoteResultsVo quoteResultsVo = quoteService.quote(quoteVo);
-
         quoteResultsVo.setKindInfoVo(quoteVo.getKindInfoVo());
         quoteResultsVo.setCiRiskInfoVo(quoteVo.getCiRiskInfoVo());
         quoteResultsVo.setBiRiskInfoVo(quoteVo.getBiRiskInfoVo());
+        quoteResultsVo.setQuoteStatus(quoteResultsVo.getQuoteStatusEnum().getCode());
         quoteResultsVo.setOrdersNo(ordersNo);
 
         // 报价后更新订单
         insOrdersService.orderAfterUpdateQuote(ordersNo, quoteResultsVo);
 
 
-        return quoteResultsVo.getQuoteStatus().equals(InsOrderStatusEnum.WAIT_AUDIT) ? HttpResult.ok(quoteResultsVo) : HttpResult.error(quoteResultsVo.getErrorMessage());
+        return quoteResultsVo.getQuoteStatusEnum().equals(InsOrderStatusEnum.WAIT_AUDIT) ? HttpResult.ok(quoteResultsVo) : HttpResult.error(quoteResultsVo.getErrorMessage());
 
     }
 
@@ -337,7 +338,10 @@ public class UnifyOrderManager {
         AssertionUtils.isFail(Objects.isNull(insOrders),"订单不存在");
         InsOrdersPolicy insOrdersPolicy = insOrdersPolicyService.getById(insOrders.getId());
         orderStatusVo.setInsOrdersPolicy(insOrdersPolicy);
-        orderStatusService.queryOrderState(orderStatusVo);
+        OrderStatusResultVo orderStatusResultVo = orderStatusService.queryOrderState(orderStatusVo);
+
+        // 保存状态查询结果
+        insOrdersService.orderAfterUpdateOrderStatus(orderStatusVo.getOrder().getOrdersNo(),orderStatusResultVo);
         return HttpResult.ok("状态刷新成功");
     }
 

+ 2 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/converter/QuoteInfoConverter.java

@@ -107,6 +107,8 @@ public class QuoteInfoConverter {
             QuoteRuleMapping quoteRuleMapping = ruleMappingMap.get(kind.getKindCode());
             kind.setKindCode(quoteRuleMapping.getRuleCode());
             kind.setKindName(quoteRuleMapping.getRuleName());
+            kind.setPlatformKindCode(quoteRuleMapping.getPlatformCode());
+            kind.setPlatformKindName(quoteRuleMapping.getRuleName());
         });
     }
 

+ 27 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/entity/po/ModelsQueryQueryVo.java

@@ -0,0 +1,27 @@
+package com.jzg.quotation.summary.entity.po;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * 品牌型号
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ModelsQueryQueryVo implements Serializable {
+
+    private static final long serialVersionUID = -1276536546447504673L;
+
+    @Schema(description = "品牌型号")
+    private String modelName;
+
+    @Schema(description = "年款")
+    private String marketYear;
+
+}

+ 27 - 16
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/factory/decorator/image/ImageParamHandlerDecorator.java

@@ -1,30 +1,16 @@
 package com.jzg.quotation.summary.factory.decorator.image;
 
-import com.fasterxml.jackson.core.JsonProcessingException;
 import com.jzg.commons.entity.vo.ImagesVo;
 import com.jzg.commons.entity.vo.InsTaskImagesVo;
-import com.jzg.commons.exception.SystemException;
-import com.jzg.commons.util.MinioUtils;
 import com.jzg.quotation.commons.entity.vo.aggregated.InsuranceUploadImageVo;
-import com.jzg.quotation.commons.entity.vo.aggregated.QuoteResultsVo;
-import com.jzg.quotation.commons.entity.vo.aggregated.QuoteVo;
-import com.jzg.quotation.commons.entity.vo.aggregated.UploadImageVo;
 import com.jzg.quotation.commons.entity.vo.image.InsuranceImageVo;
 import com.jzg.quotation.commons.service.QuotationApiBaseService;
-import com.jzg.quotation.summary.entity.vo.QuoteNumRedisVo;
 import com.jzg.quotation.summary.service.InsTaskImagesService;
-import com.jzg.quotation.summary.service.SysQuoteConfigService;
-import com.jzg.quotation.summary.service.SysQuoteRedisService;
 import io.minio.GetObjectArgs;
 import io.minio.MinioClient;
-import io.minio.errors.*;
 
 import java.io.ByteArrayOutputStream;
-import java.io.IOException;
 import java.io.InputStream;
-import java.math.BigDecimal;
-import java.security.InvalidKeyException;
-import java.security.NoSuchAlgorithmException;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -74,8 +60,9 @@ public class ImageParamHandlerDecorator {
                 InsuranceImageVo.ImageDTO imageDTO = new InsuranceImageVo.ImageDTO();
                 imageDTO.setImageId(imageVo.getImageId());
                 imageDTO.setImageName(imageVo.getFileName());
-                String fileBase64 = getFileBase64(minioClient, bucketName, imageVo.getFileName());
-                imageDTO.setImageBase64Str(fileBase64);
+                byte[] fileToByte = getFileToByte(minioClient, bucketName, imageVo.getFileName());
+                imageDTO.setImageBase64Str(Base64.getEncoder().encodeToString(fileToByte));
+                imageDTO.setImageByte(fileToByte);
                 return imageDTO;
             }).collect(Collectors.toList());
             vo.setImageBase64List(imageDTOList);
@@ -120,4 +107,28 @@ public class ImageParamHandlerDecorator {
         }
     }
 
+
+    /**
+     * 获取文件bytes数组
+     * @param minioClient
+     * @param bucketName
+     * @return
+     */
+    public byte[] getFileToByte(MinioClient minioClient,String bucketName,String imageName){
+        try (InputStream stream = minioClient.getObject(
+                GetObjectArgs.builder().bucket(bucketName).object(imageName).build());
+             ByteArrayOutputStream outputStream = new ByteArrayOutputStream()) {
+            // 读取流数据
+            byte[] buffer = new byte[4096];
+            int bytesRead;
+            while ((bytesRead = stream.read(buffer)) != -1) {
+                outputStream.write(buffer, 0, bytesRead);
+            }
+            return outputStream.toByteArray();
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
 }

+ 1 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/CarModelService.java

@@ -11,4 +11,5 @@ public interface CarModelService {
 
     JSONObject licenseSearch(String licenseNo);
 
+    List<CarModelDTO> modelsQuery(String modelName);
 }

+ 5 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/InsOrdersService.java

@@ -80,4 +80,9 @@ public interface InsOrdersService extends IService<InsOrders> {
 
     List<EsmInsCompany> getExistCompany();
 
+    /**
+     * 保存状态查询结果
+     */
+    void orderAfterUpdateOrderStatus(String orderNo,OrderStatusResultVo orderStatusResultVo);
+
 }

+ 24 - 0
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/CarModelServiceImpl.java

@@ -2,6 +2,7 @@ package com.jzg.quotation.summary.service.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.jzg.commons.constants.OrderCacheConstant;
 import com.jzg.commons.constants.RedisKeyConstants;
 import com.jzg.commons.entity.vo.CarModelDTO;
 import com.jzg.quotation.summary.components.QueryVehicleComponents;
@@ -94,4 +95,27 @@ public class CarModelServiceImpl implements CarModelService {
 
     }
 
+    @Override
+    public List<CarModelDTO> modelsQuery(String modelName) {
+        //初始Key
+        StringBuilder redisKey = new StringBuilder();
+        redisKey.append(OrderCacheConstant.BRAND_MODEL_KEY);
+        redisKey.append(modelName);
+        //从缓存中查数据
+        if (!Objects.isNull(redisTemplate.opsForValue().get(modelName))) {
+            String carModeStr = redisTemplate.opsForValue().get(modelName);
+            List<CarModelDTO> carModelDTOS = JSON.parseArray(carModeStr, CarModelDTO.class);
+            return carModelDTOS;
+        }
+
+        List<CarModelDTO> map = queryVehicleComponents.vehicleModelInquiry(modelName);
+
+        //数据存储到缓存中
+        if (!map.isEmpty()) {
+            redisTemplate.opsForValue().set(redisKey.toString(), JSON.toJSONString(map), 1, TimeUnit.HOURS);
+        }
+        return map;
+    }
+
+
 }

+ 44 - 5
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/service/impl/InsOrdersServiceImpl.java

@@ -489,12 +489,15 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         AssertionUtils.isFail(Objects.isNull(insOrders),"订单不存在");
 
         //设置订单状态
-        StateResult stateResult = orderStateListener.statusChange(quoteResponse.getQuoteStatus(), insOrders.getOrderStatus());
+        StateResult stateResult = orderStateListener.statusChange(quoteResponse.getQuoteStatusEnum(), insOrders.getOrderStatus());
         insOrders.setOrderStatus(String.valueOf(stateResult.getCurrentState()));
 
         // 保司订单交易号
         insOrders.setCompanyOrderNo(quoteResponse.getCompanyOrderNo());
 
+        // 存储报价失败信息
+        insOrders.setErrorMessage(quoteResponse.getErrorMessage());
+
         baseMapper.updateById(insOrders);
         // 判断状态 是否是成功  如何成功则处理下面的流程
         if(stateResult.getCurrentState() == Integer.parseInt(InsOrderStatusEnum.WAIT_AUDIT.getCode())) {
@@ -521,10 +524,10 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
                 ordersCosts = new InsOrdersCosts();
                 ordersCosts.setOrderNo(ordersNo);
             }
-            BigDecimal ciPremium = quoteResponse.getCiPremium() == null ? new BigDecimal("0.00") : new BigDecimal(quoteResponse.getCiPremium());
-            BigDecimal biPremium = quoteResponse.getBiPremium() == null ? new BigDecimal("0.00") : new BigDecimal(quoteResponse.getBiPremium());
-            BigDecimal niPremium = quoteResponse.getNiPremium() == null ? new BigDecimal("0.00") : new BigDecimal(quoteResponse.getNiPremium());
-            BigDecimal vvTax = new BigDecimal(quoteResponse.getVvTax());
+            BigDecimal ciPremium = quoteResponse.getCosts().getCiPremium() == null ? new BigDecimal("0.00") : new BigDecimal(quoteResponse.getCosts().getCiPremium());
+            BigDecimal biPremium = quoteResponse.getCosts().getBiPremium() == null ? new BigDecimal("0.00") : new BigDecimal(quoteResponse.getCosts().getBiPremium());
+            BigDecimal niPremium = quoteResponse.getCosts().getNiPremium() == null ? new BigDecimal("0.00") : new BigDecimal(quoteResponse.getCosts().getNiPremium());
+            BigDecimal vvTax = new BigDecimal(quoteResponse.getCosts().getVvTax());
             ordersCosts.setJqPremium(ciPremium);
             ordersCosts.setSyPremium(biPremium);
             ordersCosts.setJyPremium(niPremium);
@@ -584,6 +587,15 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         if (underwritingResultsVo.getJyApplyNo() != null) {
             insOrdersPolicy.setJyApplyNo(underwritingResultsVo.getJyApplyNo());
         }
+        if(underwritingResultsVo.getJqPolicyno() != null){
+            insOrdersPolicy.setJqPolicyNo(underwritingResultsVo.getJqPolicyno());
+        }
+        if(underwritingResultsVo.getSyPolicyno() != null){
+            insOrdersPolicy.setSyPolicyNo(underwritingResultsVo.getSyPolicyno());
+        }
+        if(underwritingResultsVo.getJyPolicyno() != null){
+            insOrdersPolicy.setJyPolicyNo(underwritingResultsVo.getJyPolicyno());
+        }
         insOrdersPolicyService.updateById(insOrdersPolicy);
 
         //更新二维码
@@ -634,6 +646,11 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         insOrders.setProductName(ProductsType.getProductNameByCode(quoteVo.getOrder().getProductsCode()));
         String productName = ProductsType.getProductNameByCode(quoteVo.getOrder().getProductsCode());
         insOrders.setProductName(productName);
+        if(Objects.isNull(insOrders.getRealQuoteUserId())) {
+            insOrders.setRealQuoteUserId(baseController.getUserName());
+        }else{
+            insOrders.setRealQuoteUserId(quoteVo.getOrder().getRealQuoteUserId());
+        }
         insOrdersMapper.insert(insOrders);
 
         // 保存订单车辆信息
@@ -676,6 +693,8 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
 
     @Override
     public Page<OrderListVo> queryList(InsOrdersParam insOrdersParam){
+        String userName = baseController.getUserName();
+        insOrdersParam.setSalesman(userName);
         Page<OrderListVo> orderListVoPage = insOrdersMapper.queryOrderList(insOrdersParam.getPage(), insOrdersParam);
 
         return orderListVoPage;
@@ -716,5 +735,25 @@ public class InsOrdersServiceImpl extends ServiceImpl<InsOrdersMapper, InsOrders
         return companyByIds.getData();
     }
 
+    @Override
+    public void orderAfterUpdateOrderStatus(String orderNo,OrderStatusResultVo orderStatusResultVo) {
+        // 检测主订单是否存在
+        InsOrders insOrders = insOrdersMapper.selectOne(new LambdaQueryWrapper<InsOrders>().eq(InsOrders::getId,orderNo));
+        AssertionUtils.isFail(Objects.isNull(insOrders),"订单不存在");
+
+        //设置订单状态
+        StateResult stateResult = orderStateListener.statusChange(orderStatusResultVo.getOrderStatus(), insOrders.getOrderStatus());
+        insOrders.setOrderStatus(String.valueOf(stateResult.getCurrentState()));
+
+        //更新支付连接
+        if(orderStatusResultVo.getOrderStatus().equals(InsOrderStatusEnum.PAY_PENDING)) {
+            insOrders.setPayLink(orderStatusResultVo.getPaymentLink());
+            insOrders.setPayTime(LocalDateTime.now());
+        }else{
+            insOrders.setErrorMessage(orderStatusResultVo.getErrorMsg());
+        }
+        this.updateById(insOrders);
+    }
+
 
 }

+ 6 - 5
tenant/insurance/quotation-summary/src/main/resources/application.yaml

@@ -135,13 +135,14 @@ guoren:
 huatai:
   api:
     sourceCode: '016'
-    baseUrl: https://gears.pc.ehuatai.com:9040/interFaces/common/AutoInsuranceQuotation.do
-    selfPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDBOtXf1T/no13LOuy5ti+/d+SADHns8hAv3+LjhDFsQRbHk3tHhnUNX7I8b25576AVmgraefS7jnpyB299f58PK8WkWZN+UB6pcyEpktrtqOnKcaQSTbkQzaseCW4sCRdoea0alzSXUuXC2FN0pHAE3JkT07e5doX3IHas2GJAkwIDAQAB
-    selfPrivateKey: MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAME61d/VP+ejXcs67Lm2L7935IAMeezyEC/f4uOEMWxBFseTe0eGdQ1fsjxvbnnvoBWaCtp59LuOenIHb31/nw8rxaRZk35QHqlzISmS2u2o6cpxpBJNuRDNqx4JbiwJF2h5rRqXNJdS5cLYU3SkcATcmRPTt7l2hfcgdqzYYkCTAgMBAAECgYAwAAWRDNBLInHyQjj8CR3jWk0Q4giHq7oJqnwaOIRud9zIxwIgym3ZXKRSDvxKnhQOSa3Yh+MblFEmcmJnsoQ4OedLq7FVOw1eur/nw6jMcROT6ZiP512ZGgKZI1OdkQDpjCqM9Vg1brrFuGdV2RwI9ak2bjKbi7vs6slvd4r3AQJBAOqU+5xkyuaupg9cO/7TIxMgnTQH8W7IC1uDcx3f28QdkP+udJYfU/n1dYyGuhkW66KVANSqz4dsrEiAmfhvydECQQDS304+LEvPi4j8YmNlOXrs1o8H0tPB69svC9ER2YbrTjZf49XvY9fuor11XAprXZhBp8yvJu07FuRWilrQ8FkjAkEAop1qmqzIdweE+ErxECJfQygtsd77v9cPAH5sM752Q0pXtNbD3TmUZkeBGExg/3mDGW5/Z+2M9Y0hFRWJJs6fsQJAO11mV5Z82Tb9H6BLPyoJczeMGLW/q65MjFgVSaMlmoTwRdqMVdKT7bifAbUhscwtmv40X3LkAmiVa8+TdZLUZQJACu2NgPZkw6gjKCZf5xOfvKaC3PqKlhPghq+ypyutzTih9y81+EBJ25emLWNcd5BtIZ/AXmr3UUiGg0zX4s5njA==
+    #    baseUrl: https://gears.pc.ehuatai.com:9003/interFaces/common/AutoInsuranceQuotation.do
+    baseUrl: https://hound_t.pc.ehuatai.com/third/interFaces/common/AutoInsuranceQuotation.do
+    selfPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCYUuKVmeF5N66v6MQmOR8pt4o33yrio/ZrDf2ehk/kHJ2BYdI+xE9dLrZW5dm0y8yPpIHN39JaLuYOlWz5DVsWJTSPj9eaq0hOiY9BGAHJ3yMHdX3wygpcD11BVc5v4wbX/kyAhmatK69sb4zzAtEve1NS/YwZVuGch0CrkGw3YQIDAQAB
+    selfPrivateKey: MIICdQIBADANBgkqhkiG9w0BAQEFAASCAl8wggJbAgEAAoGBAJhS4pWZ4Xk3rq/oxCY5Hym3ijffKuKj9msN/Z6GT+QcnYFh0j7ET10utlbl2bTLzI+kgc3f0lou5g6VbPkNWxYlNI+P15qrSE6Jj0EYAcnfIwd1ffDKClwPXUFVzm/jBtf+TICGZq0rr2xvjPMC0S97U1L9jBlW4ZyHQKuQbDdhAgMBAAECgYAktOyXYoK8RFfbWjtSfrdsxScQub3K6foq6C8y8Wj1LpQiJqGUsJfze5tDK5agA/CiuODy7LnzM5QK9aVSCw7k0r8EeGpHcYRdLYZM0vXVFK2gIQctFemK4c6sg5p0Bn1LNRbJG7rgMMEA/OxcF6vyQahhFtPVtAQwc+dT0PV51QJBANd66rfTuxSRvIC/RE4W6iqzed2YZtx+0kd7KiN78Y4X6spposFCH4ALf4jUeRRXZAm+Qu71cq21m2GsQZ8bZdMCQQC096ilZXEjmEuvopQR3JvPbgAF+MtItusyDDsMR1CWwXq9XGMmxi6GhFY7r7C8b40j1IchVAEY5BcwxJwfjql7AkAp5QYZs5reBu/FgGqBXEcvAjIheW4WVLoBl9q7h2+RlujZbexs8rQ5KwMi0VyxLcSPeGR/HU2spHCPbvRbQPJtAkBANK4tIHSnwFz6D6ChRbgyPEDd3YuiXOPNefFpRdQd6L93d9Pl6eKP71v5CTiXYqyczcaz2G4bOrHPp7IMsD0JAkBO/q3ZMT+Nj2jdMn2AR1h+ngn38JnK46PznU0WoRPx72YoWbLxvaGWpu8scZAhpYeq/n+52NHFfu8ayDRNWjP2
     huaTaiPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCYyF2SBNzLOP5N5fFW2T2eQ5+iaI5wVpsedu+UY290TVuG152tkdtSuTXsx+8BKnd79/PF966/2aSP4EUm7vD9kvQUnX2EDUiMooorGvDTRxoHNXFGqOtxdMiUOuqx19HwNb4gOXZ1WdjWJwSmqC6ZP6OgxKIotCHJwe826Q/w8wIDAQAB
-    huaTaiKey: e1YF83DYB8sj7gEr8M
+    huaTaiKey: AdOdn409KE6Z9XvFsJ
     key: kFl5aiHALbZ6TMTqQDxghMMC
-    tokenUrl: https://vehpxy.pc.ehuatai.com/testsign
+    tokenUrl: https://vehpxy.pc.ehuatai.com/sign
 # 渤海财险
 bohai:
   api:

+ 18 - 1
tenant/insurance/quotation-summary/src/main/resources/mapper/InsOrdersMapper.xml

@@ -179,6 +179,7 @@
         <result property="createBy" column="create_by" jdbcType="VARCHAR"/>
         <result property="auditId" column="audit_id" jdbcType="VARCHAR"/>
         <result property="auditName" column="audit_name" jdbcType="VARCHAR"/>
+        <result property="errorMessage" column="error_message" jdbcType="VARCHAR"/>
         <association property="insOrders" column="{id=id}" select="selectOrdersById" />
         <association property="carInfoVo" column="{orderNo=id}" select="selectOrdersCarInfoByOrderNo" />
         <association property="insOrdersOtherInfo" column="{orderNo=id}" select="selectOrdersOtherByOrderNo" />
@@ -191,6 +192,14 @@
         <collection property="kindInfoVo" column="{orderNo=id}" select="selectKindMap" />
         <collection property="insOrdersCosts" column="{orderNo=id}" select="selectOrdersCostsByOrderNo" />
         <collection property="insOrdersPolicy" column="{orderNo=id}" select="selectOrdersPolicyByOrderNo" />
+        <collection property="accidentalDrivings" column="{orderNo=id}" select="selectOrdersAccidentalDrivingByOrderNo" />
+    </resultMap>
+
+    <resultMap id="InsOrdersAccidentalDrivingMap" type="com.jzg.commons.entity.orders.po.InsOrdersAccidentalDriving">
+        <id property="id" column="id" jdbcType="VARCHAR"/>
+        <result property="orderNo" column="order_no" jdbcType="VARCHAR"/>
+        <result property="riskCode" column="risk_code" jdbcType="VARCHAR"/>
+        <result property="riskName" column="risk_name" jdbcType="VARCHAR"/>
     </resultMap>
 
     <resultMap id="InsOrdersExternalPolicyMap" type="com.jzg.commons.entity.orders.po.InsOrdersExternalPolicy">
@@ -277,6 +286,10 @@
         <result property="serviceTimes" column="service_times" jdbcType="VARCHAR"/>
     </resultMap>
 
+    <select id="selectOrdersAccidentalDrivingByOrderNo" resultMap="InsOrdersAccidentalDrivingMap">
+        select id, order_no,risk_code,risk_name from ins_orders_accidental_driving where order_no = #{orderNo}
+    </select>
+
     <select id="selectKindMap" resultMap="KindMap">
         select id, order_no, amount, kind_code, service_times, kind_name, unit_amount, deductible_rate from  ins_orders_kind  where order_no = #{orderNo}
     </select>
@@ -417,7 +430,7 @@
     </select>
     
     <select id="getById" resultMap="InsOrdersVoMap">
-        select id, quote_no,company_name,product_id,product_name,audit_status,audit_comments,create_by,audit_id,audit_name from ins_orders where id = #{id}
+        select id, quote_no,company_name,product_id,product_name,audit_status,audit_comments,create_by,audit_id,audit_name,error_message from ins_orders where id = #{id}
     </select>
 
     <select id="queryList" resultMap="InsOrdersVoMap">
@@ -465,6 +478,10 @@
         <if test="insOrdersParam.orderStatus!= null and insOrdersParam.orderStatus!= ''">
             AND io.order_status = #{insOrdersParam.orderStatus}
         </if>
+        <if test="insOrdersParam.salesman!= null">
+            AND io.real_quote_user_id = #{insOrdersParam.salesman}
+        </if>
+        order by io.create_time desc
     </select>
 
     <select id="getHistoryQuote" resultType="com.jzg.commons.entity.orders.vo.HistoryQuoteResultVo">

+ 6 - 6
tenant/insurance/quotation-taikang/src/main/java/com/jzg/quotation/taikang/crawler/service/TKQuotationBaseServiceImpl.java

@@ -173,13 +173,13 @@ public class TKQuotationBaseServiceImpl implements QuotationBaseService {
         // 交强保费 车船税 商业保费
         TKPremium premium = preciseInitResult.getPremium();
         // 设置商业险保费
-        quoteResultsVo.setBiPremium(premium.getSyPremium().toString());
+        quoteResultsVo.getCosts().setCiPremium(premium.getSyPremium().toString());
         // 设置交强险保费
-        quoteResultsVo.setCiPremium(premium.getJqPremium().toString());
+        quoteResultsVo.getCosts().setBiPremium(premium.getJqPremium().toString());
         // 设置车船税
-        quoteResultsVo.setVvTax(premium.getTax().toString());
+        quoteResultsVo.getCosts().setVvTax(premium.getTax().toString());
         // 设置非车险(驾意险)保费
-        quoteResultsVo.setNiPremium(preciseInitResult.getDriverAccidentVo().getPremium().toString());
+        quoteResultsVo.getCosts().setNiPremium(preciseInitResult.getDriverAccidentVo().getPremium().toString());
 
         return quoteResultsVo;
     }
@@ -436,7 +436,7 @@ public class TKQuotationBaseServiceImpl implements QuotationBaseService {
     }
 
     @Override
-    public void queryOrderState(OrderStatusVo orderStatusVo) {
+    public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
         TKLoginSession session = login("Tgengchenjie", "Gcj123456#");
 
         String orderId = "";
@@ -448,6 +448,6 @@ public class TKQuotationBaseServiceImpl implements QuotationBaseService {
         String orderStatus = tkEntranceFor000086Result.getOrderStatus();
 
 
-
+        return null;
     }
 }

+ 6 - 6
tenant/insurance/quotation-yangguang/src/main/java/com/jzg/quotation/yangguang/api/build/YangGuangApiQuoteResultsVoBuild.java

@@ -41,7 +41,7 @@ public final class YangGuangApiQuoteResultsVoBuild {
         }
         // 交强保费 车船税 商业保费
         buildPremium(quoteResultsVo, yangGuangAccuracyCalculateResponse);
-        quoteResultsVo.setQuoteStatus(InsOrderStatusEnum.WAIT_AUDIT);
+        quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.WAIT_AUDIT);
         quoteResultsVo.setScoreVo(buildScoreVo(yangGuangAccuracyCalculateResponse.getDiscount()));
         return quoteResultsVo;
     }
@@ -57,7 +57,7 @@ public final class YangGuangApiQuoteResultsVoBuild {
         quoteResultsVo.setCompanyOrderNo(yangGuangAccuracyCalculateResponse.getInfotransNo());
         // 报价失败提示
         quoteResultsVo.setErrorMessage(yangGuangAccuracyCalculateResponse.getErrorMessage());
-        quoteResultsVo.setQuoteStatus(InsOrderStatusEnum.QUOTE_FAIL);
+        quoteResultsVo.setQuoteStatusEnum(InsOrderStatusEnum.QUOTE_FAIL);
         return quoteResultsVo;
     }
 
@@ -86,14 +86,14 @@ public final class YangGuangApiQuoteResultsVoBuild {
     }
 
     private static void buildPremium(QuoteResultsVo quoteResultsVo, YangGuangAccuracyCalculateResponse yangGuangAccuracyCalculateResponse) {
-        quoteResultsVo.setCiPremium(yangGuangAccuracyCalculateResponse.getCiSumPremium());
-        quoteResultsVo.setBiPremium(yangGuangAccuracyCalculateResponse.getBiSumPremium());
-        quoteResultsVo.setVvTax(yangGuangAccuracyCalculateResponse.getSumPayTax());
+        quoteResultsVo.getCosts().setCiPremium(yangGuangAccuracyCalculateResponse.getCiSumPremium());
+        quoteResultsVo.getCosts().setBiPremium(yangGuangAccuracyCalculateResponse.getBiSumPremium());
+        quoteResultsVo.getCosts().setVvTax(yangGuangAccuracyCalculateResponse.getSumPayTax());
         // 驾意险
         List<YangGuangAccuracyCalculateResponse.PtptNonVehicleProductInformationList> notCarList = yangGuangAccuracyCalculateResponse.getPtptNonVehicleProductInformationList();
         //驾意险价格
         BigDecimal bigDecimal = YangGuangAccuracyCalculateResponse.PtptNonVehicleProductInformationList.sumPremium(notCarList);
-        quoteResultsVo.setNiPremium(bigDecimal.toString());
+        quoteResultsVo.getCosts().setNiPremium(bigDecimal.toString());
     }
 
     /**

+ 2 - 1
tenant/insurance/quotation-yangguang/src/main/java/com/jzg/quotation/yangguang/api/service/impl/YangGuangApiRequestImpl.java

@@ -279,7 +279,7 @@ public class YangGuangApiRequestImpl implements YangGuangApiRequest {
 
 
     @Override
-    public void queryOrderState(OrderStatusVo orderStatusVo) throws JsonProcessingException {
+    public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) throws JsonProcessingException {
         OrderBase orderBase = orderStatusVo.getOrder();
         InsOrders insOrders = orderStatusVo.getInsOrders();
         InsOrdersPolicy insOrdersPolicy = orderStatusVo.getInsOrdersPolicy();
@@ -329,6 +329,7 @@ public class YangGuangApiRequestImpl implements YangGuangApiRequest {
                 insOrdersPolicy.setSyPolicyNo(syPolicyNo);
             }
         }
+        return null;
     }
 
 }

+ 29 - 0
tenant/insurance/quotation-yongcheng/src/main/java/com/jzg/quotation/yongcheng/api/entity/request/AuditRequest.java

@@ -105,6 +105,31 @@ public class AuditRequest {
         @JacksonXmlProperty(localName = "cScsyxz")
         private String cScsyxz;
 
+        /**
+         * 销售人员
+         */
+        @JsonProperty("cPintubeName")
+        @JacksonXmlProperty(localName = "cPintubeName")
+        private String cPintubeName;
+
+        /**
+         * 销售人员执业证号
+         */
+        @JsonProperty("cPintubeLicenceNo")
+        @JacksonXmlProperty(localName = "cPintubeLicenceNo")
+        private String cPintubeLicenceNo;
+
+
+        @JsonProperty("cPintubeTel")
+        @JacksonXmlProperty(localName = "cPintubeTel")
+        private String cPintubeTel;
+
+
+
+        @JsonProperty("maintenanceStaffCode")
+        @JacksonXmlProperty(localName = "maintenanceStaffCode")
+        private String maintenanceStaffCode;
+
 
         /**
          * 商业险产品号
@@ -373,6 +398,10 @@ public class AuditRequest {
         condition.setNgo("");
         condition.setTResvTm("");
         condition.setCScsyxz("");
+        condition.setCPintubeName("测试");
+        condition.setCPintubeLicenceNo("110");
+        condition.setCPintubeTel("110");
+        condition.setMaintenanceStaffCode("110");
         //<condition>
 
         Condition.Customer customer = new Condition.Customer();

+ 2 - 1
tenant/insurance/quotation-yongcheng/src/main/java/com/jzg/quotation/yongcheng/api/entity/request/QuoteRequest.java

@@ -340,7 +340,8 @@ public class QuoteRequest {
                 base.setCSlsCde(ycConfigureParameters.getSalesmanNo());
                 base.setOperatorCode(ycConfigureParameters.getOperatorCode());
                 base.setTIssueTm(DateUtil.getDateFormat(new Date(), "yyyy-MM-dd"));
-                base.setCChaType("191010");
+                base.setCChaType(ycConfigureParameters.getCChaType());
+
 
 
                 base.setCProdNoSY("");

+ 35 - 44
tenant/insurance/quotation-yongcheng/src/main/java/com/jzg/quotation/yongcheng/api/service/impl/YongChengApiRequestImpl.java

@@ -200,6 +200,8 @@ public class YongChengApiRequestImpl implements YongChengApiRequest {
                     //人工核保
                     underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.STAFF_PROCESS);
                     underwritingResultsVo.setUnderwritingResult("人工处理");
+                    underwritingResultsVo.setJqPolicyno(auditResponse.getPolicyAppNoJQ());
+                    underwritingResultsVo.setSyPolicyno(auditResponse.getPolicyAppNoSY());
                 } else if ("3".equals(statusJq) || "3".equals(statusSy)) {
                     //核保退回
                     underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.AUDIT_FAIL);
@@ -221,6 +223,8 @@ public class YongChengApiRequestImpl implements YongChengApiRequest {
                     PaymentLinkResultsVo paymentLinkResultsVo = getPaymentLink(paymentLinkVo);
                     underwritingResultsVo.setPaymentLink(paymentLinkResultsVo.getPaymentLink());
                     underwritingResultsVo.setUnderwritingStatus(InsOrderStatusEnum.PAY_PENDING);
+                    underwritingResultsVo.setJqPolicyno(auditResponse.getPolicyAppNoJQ());
+                    underwritingResultsVo.setSyPolicyno(auditResponse.getPolicyAppNoSY());
                 }
                 underwritingResultsVo.setCompanyOrderNo(auditResponse.getOrderCode());
             } else {
@@ -350,8 +354,8 @@ public class YongChengApiRequestImpl implements YongChengApiRequest {
     }
 
     @Override
-    public void queryOrderState(OrderStatusVo orderStatusVo) {
-
+    public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
+        OrderStatusResultVo orderStatusResultVo = new OrderStatusResultVo();
         YcApiConfigurationProperties configurationProperties = ConfigureParametersConversion.conversionEntity(YcApiConfigurationProperties.class, orderStatusVo.getOrder().getAttributionInformationVo().getConfigInfo());
         //0 支付回调 1核保回调 5直接返回字符串信息
         String type = "5";
@@ -360,56 +364,42 @@ public class YongChengApiRequestImpl implements YongChengApiRequest {
             String cleanStr = ycRequestApiComponents.payCallback(callbackRequest);
             CallBackResponse response = CallBackResponse.buildCallBackParam(cleanStr);
             if (response.getResult().equals("0")) {
+                // 刷新支付连接
+                PaymentLinkVo paymentLinkVo = new PaymentLinkVo();
+                paymentLinkVo.setOrder(orderStatusVo.getOrder());
+                PaymentLinkResultsVo paymentLink = getPaymentLink(paymentLinkVo);
+                String paymentLinkResult = paymentLink.getPaymentLink();
+                orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.PAY_PENDING);
+                orderStatusResultVo.setPaymentLink(paymentLinkResult);
+                if (StringUtils.isNotEmpty(response.getBizPolicyNo())) {
+                    orderStatusResultVo.setSyPolicyno(response.getBizPolicyNo());
+                }
 
-//                if (orderStatusVo.getInsorders().getOrderStatus().equals(InsOrderStatusEnum.WAIT_PAY.getCode())) {
-//                    buildCallBackStatus(iac, param.getJqstatus());
-//                    if (StringUtils.isNotEmpty(param.getBizPolicyNo())) {
-//                        iac.setSypolicyno(param.getBizPolicyNo());
-//                    }
-//
-//                    if (StringUtils.isNotEmpty(param.getCiPolicyNo())) {
-//                        iac.setJqpolicyno(param.getCiPolicyNo());
-//                    }
-//
-//                    if (StringUtils.isNotEmpty(param.getYwPolicyAppNo())) {
-//                        DrivingInsuranceDto drivingInsuranceDto = new DrivingInsuranceDto();
-//                        drivingInsuranceDto.setPolicyNumber(param.getYwPolicyNo());
-//                        drivingInsuranceDto.setApplicationNumber(param.getYwPolicyAppNo());
-//                        JSONArray objects = JSON.parseArray(JSON.toJSONString(Collections.singletonList(drivingInsuranceDto)));
-//                        iac.setCrossInsurance(objects);
-//                    }
-//
-//                    if (StringUtils.isNotEmpty(param.getPay_date()) && !"null".equals(param.getPay_date())) {
-//                        iac.setPayDate(LocalDateTime.parse(param.getPay_date(), DateTimeFormatter.ofPattern("yyyy-MM" + "-dd HH:mm:ss")));
-//                    }
-//
-//                } else {
-//                    iac = buildCallBack(iac, param);
-//                }
-//
-//                if (iac.getOrderstatus().equals(InsOrderStatusEnum.TO_BACK.getCode())) {
-//                    iac.setAuditopinion("交强审核意见:" + param.getJqmessage() + "| 商业审核意见:" + param.getSymessage());
-//                }
-//                //  add  by  hxl  添加自动更新状态
-//                insSubOrderUpdateDetailService.insertData(iac,oldStatus,iac.getOrderstatus(),"1");
-//                insAreaCompanyService.updateCompanyAndOrdersMessage(iac, iac.getAuditopinion());
+                if (StringUtils.isNotEmpty(response.getCiPolicyNo())) {
+                    orderStatusResultVo.setJqPolicyno(response.getCiPolicyNo());
+                }
 
+                if (StringUtils.isNotEmpty(response.getYwPolicyAppNo())) {
+                    orderStatusResultVo.setJyPolicyno(response.getYwPolicyNo());
+                    orderStatusResultVo.setJyApplyNo(response.getYwPolicyAppNo());
+                }
             } else {
                 //失败原因
-//                return HttpResult.error(response.getMessage());
+                orderStatusResultVo.setOrderStatus(InsOrderStatusEnum.AUDIT_FAIL);
+                orderStatusResultVo.setErrorMsg(response.getMessage());
             }
 //            return HttpResult.ok("操作成功,状态已更新。");
         } catch (JsonProcessingException jsonProcessingException) {
             jsonProcessingException.printStackTrace();
         }
-
+        return orderStatusResultVo;
     }
 
     public static QuoteResultsVo buildQuoteRespVo(String ordersNo, QuoteResponse rd, QuoteVo quoteVo) {
         QuoteResultsVo quoteRespVo = new QuoteResultsVo();
         quoteRespVo.setCiRiskInfoVo(quoteVo.getCiRiskInfoVo());
         quoteRespVo.setBiRiskInfoVo(quoteVo.getBiRiskInfoVo());
-        quoteRespVo.setQuoteStatus(InsOrderStatusEnum.WAIT_AUDIT);
+        quoteRespVo.setQuoteStatusEnum(InsOrderStatusEnum.WAIT_AUDIT);
 
         if (!"000000".equals(rd.getHead().getErrorCode())) {
             //保存报价失败的子订单
@@ -418,7 +408,7 @@ public class YongChengApiRequestImpl implements YongChengApiRequest {
             if (StringUtils.isNotEmpty(errorInfo)) {
                 rd.getHead().setErrorMessage(errorInfo.toString());
             }
-            quoteRespVo.setQuoteStatus(InsOrderStatusEnum.QUOTE_FAIL);
+            quoteRespVo.setQuoteStatusEnum(InsOrderStatusEnum.QUOTE_FAIL);
             quoteRespVo.setErrorMessage(rd.getHead().getErrorMessage());
             return quoteRespVo;
         }
@@ -464,10 +454,11 @@ public class YongChengApiRequestImpl implements YongChengApiRequest {
 
         quoteRespVo.getScoreVo().setScore(rd.getBase().getCWeRisk());//评分
         quoteRespVo.setOrdersNo(ordersNo); //订单号
-        quoteRespVo.setCiPremium(String.valueOf(jqPremium));
-        quoteRespVo.setBiPremium(String.valueOf(syPremium));
-        quoteRespVo.setNiPremium(String.valueOf(jyPremium));
-        quoteRespVo.setVvTax(BigDecimal.valueOf(sumTax).toString());//车船税
+        quoteRespVo.getCosts().setCiPremium(String.valueOf(jqPremium));
+        quoteRespVo.getCosts().setBiPremium(String.valueOf(syPremium));
+        quoteRespVo.getCosts().setNiPremium(String.valueOf(jyPremium));
+        quoteRespVo.getCosts().setVvTax(String.valueOf(sumTax));
+        quoteRespVo.getCosts().setSumPremium(String.valueOf(jqPremium + syPremium + jyPremium + sumTax));
 
         //起保日期
         quoteRespVo.setCiStartDate(rd.getBase().getTInsrncBgnTmJQ());
@@ -478,10 +469,10 @@ public class YongChengApiRequestImpl implements YongChengApiRequest {
 
         // 交强出险次数
         String ciClaims = Optional.ofNullable(rd.getBase()).map(QuoteResponse.BaseResponse::getAccidentNum).orElse(null);
-        quoteRespVo.setCiClaims(ciClaims);
+        quoteRespVo.getScoreVo().setCiClaims(ciClaims);
         // 商业出险次数
         String biClaims = Optional.ofNullable(rd.getPrmCoef()).map(QuoteResponse.PrmCoefResponse::getNClaimTimes).orElse(null);
-        quoteRespVo.setBiClaims(biClaims);
+        quoteRespVo.getScoreVo().setBiClaims(biClaims);
 
         //光博分
         quoteRespVo.getScoreVo().setScore(rd.getBase().getCWeRisk());

+ 2 - 2
tenant/insurance/quotation-zhongan/src/main/java/com/jzg/quotation/zhongan/crawler/service/ZhongAnQuotaionApiBaseServiceImpl.java

@@ -147,7 +147,7 @@ public class ZhongAnQuotaionApiBaseServiceImpl implements QuotationApiBaseServic
     }
 
     @Override
-    public void queryOrderState(OrderStatusVo orderStatusVo) {
+    public OrderStatusResultVo queryOrderState(OrderStatusVo orderStatusVo) {
         String token = null;
 
         String policyId = null;
@@ -164,7 +164,7 @@ public class ZhongAnQuotaionApiBaseServiceImpl implements QuotationApiBaseServic
         // PAYMENTED_POLICY_INSURE 支付完成状态
         String policyStatus = vehiclePolicyDTO.getPolicyStatus();
         String policyStatusText = vehiclePolicyDTO.getPolicyStatusText();
-
+        return null;
 
     }
 }

+ 6 - 6
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/build/ZmApiQuoteResultsVoBuild.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/build/ZmApiQuoteResultsVoBuild.java

@@ -1,10 +1,10 @@
-package com.jzg.quote.zhongmei.api.build;
+package com.jzg.quotation.zhongmei.api.build;
 
 import com.jzg.quotation.commons.entity.vo.aggregated.QuoteResultsVo;
 import com.jzg.quotation.commons.entity.vo.aggregated.QuoteVo;
 import com.jzg.commons.entity.quote.vo.KindInfoVo;
 import com.jzg.commons.entity.quote.vo.RiskInfoVo;
-import com.jzg.quote.zhongmei.api.entity.response.QuotedPriceResponse;
+import com.jzg.quotation.zhongmei.api.entity.response.QuotedPriceResponse;
 
 import java.util.List;
 import java.util.Map;
@@ -80,16 +80,16 @@ public class ZmApiQuoteResultsVoBuild {
      */
     private static void buildPremium(QuoteResultsVo quoteResultsVo, QuotedPriceResponse quotedPriceResponse) {
         // 设置商业险保费
-        quoteResultsVo.setBiPremium(String.valueOf(quotedPriceResponse.getBizPremium().getSumPremium()));
+        quoteResultsVo.getCosts().setBiPremium(String.valueOf(quotedPriceResponse.getBizPremium().getSumPremium()));
         // 设置交强险保费
-        quoteResultsVo.setCiPremium(String.valueOf(quotedPriceResponse.getForcePrimium().getPremium()));
+        quoteResultsVo.getCosts().setCiPremium(String.valueOf(quotedPriceResponse.getForcePrimium().getPremium()));
         // 设置车船税
-        quoteResultsVo.setVvTax(String.valueOf(quotedPriceResponse.getTaxinfo().getSumPayTax()));
+        quoteResultsVo.getCosts().setVvTax(String.valueOf(quotedPriceResponse.getTaxinfo().getSumPayTax()));
         // 设置非车险(驾意险)保费
         List<QuotedPriceResponse.AccidentPrimium> accidentPremiums = quotedPriceResponse.getAccidentPremium();
         if (accidentPremiums != null && !accidentPremiums.isEmpty()) {
             double niPremium = accidentPremiums.stream().mapToDouble(QuotedPriceResponse.AccidentPrimium::getSumPremium).sum();
-            quoteResultsVo.setNiPremium(String.valueOf(niPremium));
+            quoteResultsVo.getCosts().setNiPremium(String.valueOf(niPremium));
         }
     }
 }

+ 5 - 5
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/component/ZmApiRequestComponent.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/component/ZmApiRequestComponent.java

@@ -1,14 +1,14 @@
-package com.jzg.quote.zhongmei.api.component;
+package com.jzg.quotation.zhongmei.api.component;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.serializer.SerializerFeature;
 import com.jzg.commons.exception.SystemException;
 import com.jzg.commons.util.AESUtils;
 import com.jzg.quotation.commons.component.RequestComponent;
-import com.jzg.quote.zhongmei.api.constant.TransCode;
-import com.jzg.quote.zhongmei.api.entity.request.*;
-import com.jzg.quote.zhongmei.api.entity.response.*;
-import com.jzg.quote.zhongmei.api.properties.ZmApiProperties;
+import com.jzg.quotation.zhongmei.api.constant.TransCode;
+import com.jzg.quotation.zhongmei.api.entity.request.*;
+import com.jzg.quotation.zhongmei.api.entity.response.*;
+import com.jzg.quotation.zhongmei.api.properties.ZmApiProperties;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/constant/TimeConstants.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/constant/TimeConstants.java

@@ -1,4 +1,4 @@
-package com.jzg.quote.zhongmei.api.constant;
+package com.jzg.quotation.zhongmei.api.constant;
 
 /**
  * @description: todo

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/constant/TransCode.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/constant/TransCode.java

@@ -1,4 +1,4 @@
-package com.jzg.quote.zhongmei.api.constant;
+package com.jzg.quotation.zhongmei.api.constant;
 
 /**
  * @description: 交互代码

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/constant/enums/CarUseTypeEnum.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/constant/enums/CarUseTypeEnum.java

@@ -1,4 +1,4 @@
-package com.jzg.quote.zhongmei.api.constant.enums;
+package com.jzg.quotation.zhongmei.api.constant.enums;
 
 /**
  * @description: todo

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/constant/enums/ContractEnum.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/constant/enums/ContractEnum.java

@@ -1,4 +1,4 @@
-package com.jzg.quote.zhongmei.api.constant.enums;
+package com.jzg.quotation.zhongmei.api.constant.enums;
 
 import lombok.Getter;
 

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/constant/enums/ImageTypeEnum.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/constant/enums/ImageTypeEnum.java

@@ -1,4 +1,4 @@
-package com.jzg.quote.zhongmei.api.constant.enums;
+package com.jzg.quotation.zhongmei.api.constant.enums;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/constant/enums/InsuranceImageEnum.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/constant/enums/InsuranceImageEnum.java

@@ -1,4 +1,4 @@
-package com.jzg.quote.zhongmei.api.constant.enums;
+package com.jzg.quotation.zhongmei.api.constant.enums;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/constant/enums/JingyouEnergyTypes.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/constant/enums/JingyouEnergyTypes.java

@@ -1,4 +1,4 @@
-package com.jzg.quote.zhongmei.api.constant.enums;
+package com.jzg.quotation.zhongmei.api.constant.enums;
 
 import com.jzg.commons.util.StringUtils;
 import com.jzg.quotation.commons.constant.enums.quote.EnergyTypeCode;

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/constant/enums/MotorMainTypeEnum.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/constant/enums/MotorMainTypeEnum.java

@@ -1,4 +1,4 @@
-package com.jzg.quote.zhongmei.api.constant.enums;
+package com.jzg.quotation.zhongmei.api.constant.enums;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/constant/enums/MotorSubTypeEnum.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/constant/enums/MotorSubTypeEnum.java

@@ -1,4 +1,4 @@
-package com.jzg.quote.zhongmei.api.constant.enums;
+package com.jzg.quotation.zhongmei.api.constant.enums;
 
 import lombok.AllArgsConstructor;
 import lombok.Getter;

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/BaseHead.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/BaseHead.java

@@ -1,4 +1,4 @@
-package com.jzg.quote.zhongmei.api.entity;
+package com.jzg.quotation.zhongmei.api.entity;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/BaseRequestHead.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/BaseRequestHead.java

@@ -1,4 +1,4 @@
-package com.jzg.quote.zhongmei.api.entity;
+package com.jzg.quotation.zhongmei.api.entity;
 
 import lombok.Data;
 import lombok.EqualsAndHashCode;

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/ZmApiConfigureParameters.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/ZmApiConfigureParameters.java

@@ -1,4 +1,4 @@
-package com.jzg.quote.zhongmei.api.entity;
+package com.jzg.quotation.zhongmei.api.entity;
 
 import com.jzg.quotation.commons.standard.ConfigureParameters;
 import lombok.AllArgsConstructor;

+ 3 - 3
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/ZmCarEntity.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/ZmCarEntity.java

@@ -1,7 +1,7 @@
-package com.jzg.quote.zhongmei.api.entity;
+package com.jzg.quotation.zhongmei.api.entity;
 
-import com.jzg.quote.zhongmei.api.constant.enums.JingyouEnergyTypes;
-import com.jzg.quote.zhongmei.api.entity.dto.ZmCarDTO;
+import com.jzg.quotation.zhongmei.api.constant.enums.JingyouEnergyTypes;
+import com.jzg.quotation.zhongmei.api.entity.dto.ZmCarDTO;
 import lombok.Data;
 
 import java.util.List;

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/dto/ZmCarDTO.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/dto/ZmCarDTO.java

@@ -1,4 +1,4 @@
-package com.jzg.quote.zhongmei.api.entity.dto;
+package com.jzg.quotation.zhongmei.api.entity.dto;
 
 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import lombok.Data;

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/po/ZmApiOrder.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/po/ZmApiOrder.java

@@ -1,4 +1,4 @@
-package com.jzg.quote.zhongmei.api.entity.po;
+package com.jzg.quotation.zhongmei.api.entity.po;
 
 import com.jzg.commons.entity.quote.vo.CustomerInfoVo;
 import lombok.AllArgsConstructor;

+ 2 - 2
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/request/BaseRequest.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/BaseRequest.java

@@ -1,7 +1,7 @@
-package com.jzg.quote.zhongmei.api.entity.request;
+package com.jzg.quotation.zhongmei.api.entity.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.jzg.quote.zhongmei.api.entity.BaseRequestHead;
+import com.jzg.quotation.zhongmei.api.entity.BaseRequestHead;
 import lombok.Data;
 
 import java.io.Serial;

+ 3 - 3
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/request/CheckSMScodeRequest.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/CheckSMScodeRequest.java

@@ -1,8 +1,8 @@
-package com.jzg.quote.zhongmei.api.entity.request;
+package com.jzg.quotation.zhongmei.api.entity.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.jzg.quote.zhongmei.api.constant.TransCode;
-import com.jzg.quote.zhongmei.api.entity.BaseRequestHead;
+import com.jzg.quotation.zhongmei.api.constant.TransCode;
+import com.jzg.quotation.zhongmei.api.entity.BaseRequestHead;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;

+ 3 - 3
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/request/InsurancePolicyPrintRequest.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/InsurancePolicyPrintRequest.java

@@ -1,8 +1,8 @@
-package com.jzg.quote.zhongmei.api.entity.request;
+package com.jzg.quotation.zhongmei.api.entity.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.jzg.quote.zhongmei.api.constant.TransCode;
-import com.jzg.quote.zhongmei.api.entity.BaseRequestHead;
+import com.jzg.quotation.zhongmei.api.constant.TransCode;
+import com.jzg.quotation.zhongmei.api.entity.BaseRequestHead;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;

+ 3 - 3
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/request/ModelsQueryRequest.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/ModelsQueryRequest.java

@@ -1,8 +1,8 @@
-package com.jzg.quote.zhongmei.api.entity.request;
+package com.jzg.quotation.zhongmei.api.entity.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.jzg.quote.zhongmei.api.constant.TransCode;
-import com.jzg.quote.zhongmei.api.entity.BaseRequestHead;
+import com.jzg.quotation.zhongmei.api.constant.TransCode;
+import com.jzg.quotation.zhongmei.api.entity.BaseRequestHead;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 

+ 3 - 3
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/request/OrderStatusRequest.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/OrderStatusRequest.java

@@ -1,8 +1,8 @@
-package com.jzg.quote.zhongmei.api.entity.request;
+package com.jzg.quotation.zhongmei.api.entity.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.jzg.quote.zhongmei.api.constant.TransCode;
-import com.jzg.quote.zhongmei.api.entity.BaseRequestHead;
+import com.jzg.quotation.zhongmei.api.constant.TransCode;
+import com.jzg.quotation.zhongmei.api.entity.BaseRequestHead;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;

+ 10 - 10
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/request/QuotedPriceRequest.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/QuotedPriceRequest.java

@@ -1,4 +1,4 @@
-package com.jzg.quote.zhongmei.api.entity.request;
+package com.jzg.quotation.zhongmei.api.entity.request;
 
 import cn.hutool.core.util.ArrayUtil;
 import com.fasterxml.jackson.annotation.JsonProperty;
@@ -8,15 +8,15 @@ import com.jzg.commons.util.AssertionUtils;
 import com.jzg.commons.util.StringUtils;
 import com.jzg.quotation.commons.constant.InsuranceTypeCorrespondence;
 import com.jzg.quotation.commons.entity.vo.aggregated.QuoteVo;
-import com.jzg.quote.zhongmei.api.constant.enums.ContractEnum;
-import com.jzg.quote.zhongmei.api.constant.enums.CarUseTypeEnum;
-import com.jzg.quote.zhongmei.api.constant.enums.MotorMainTypeEnum;
-import com.jzg.quote.zhongmei.api.constant.TimeConstants;
-import com.jzg.quote.zhongmei.api.constant.TransCode;
-import com.jzg.quote.zhongmei.api.constant.enums.MotorSubTypeEnum;
-import com.jzg.quote.zhongmei.api.entity.BaseRequestHead;
-import com.jzg.quote.zhongmei.api.entity.ZmApiConfigureParameters;
-import com.jzg.quote.zhongmei.api.entity.response.ModelsQueryResponse;
+import com.jzg.quotation.zhongmei.api.constant.enums.ContractEnum;
+import com.jzg.quotation.zhongmei.api.constant.enums.CarUseTypeEnum;
+import com.jzg.quotation.zhongmei.api.constant.enums.MotorMainTypeEnum;
+import com.jzg.quotation.zhongmei.api.constant.TimeConstants;
+import com.jzg.quotation.zhongmei.api.constant.TransCode;
+import com.jzg.quotation.zhongmei.api.constant.enums.MotorSubTypeEnum;
+import com.jzg.quotation.zhongmei.api.entity.BaseRequestHead;
+import com.jzg.quotation.zhongmei.api.entity.ZmApiConfigureParameters;
+import com.jzg.quotation.zhongmei.api.entity.response.ModelsQueryResponse;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.EqualsAndHashCode;

+ 4 - 4
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/request/RideAccidentQueryRequest.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/RideAccidentQueryRequest.java

@@ -1,9 +1,9 @@
-package com.jzg.quote.zhongmei.api.entity.request;
+package com.jzg.quotation.zhongmei.api.entity.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.jzg.quote.zhongmei.api.constant.TransCode;
-import com.jzg.quote.zhongmei.api.entity.BaseRequestHead;
-import com.jzg.quote.zhongmei.api.entity.ZmApiConfigureParameters;
+import com.jzg.quotation.zhongmei.api.constant.TransCode;
+import com.jzg.quotation.zhongmei.api.entity.BaseRequestHead;
+import com.jzg.quotation.zhongmei.api.entity.ZmApiConfigureParameters;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 

+ 3 - 3
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/request/SubmitRequest.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/SubmitRequest.java

@@ -1,8 +1,8 @@
-package com.jzg.quote.zhongmei.api.entity.request;
+package com.jzg.quotation.zhongmei.api.entity.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.jzg.quote.zhongmei.api.constant.TransCode;
-import com.jzg.quote.zhongmei.api.entity.BaseRequestHead;
+import com.jzg.quotation.zhongmei.api.constant.TransCode;
+import com.jzg.quotation.zhongmei.api.entity.BaseRequestHead;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.EqualsAndHashCode;

+ 3 - 3
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/request/SubmitStatusQueryRequest.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/SubmitStatusQueryRequest.java

@@ -1,8 +1,8 @@
-package com.jzg.quote.zhongmei.api.entity.request;
+package com.jzg.quotation.zhongmei.api.entity.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.jzg.quote.zhongmei.api.constant.TransCode;
-import com.jzg.quote.zhongmei.api.entity.BaseRequestHead;
+import com.jzg.quotation.zhongmei.api.constant.TransCode;
+import com.jzg.quotation.zhongmei.api.entity.BaseRequestHead;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;

+ 3 - 3
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/request/UnderwritingWithdrawRequest.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/UnderwritingWithdrawRequest.java

@@ -1,8 +1,8 @@
-package com.jzg.quote.zhongmei.api.entity.request;
+package com.jzg.quotation.zhongmei.api.entity.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.jzg.quote.zhongmei.api.constant.TransCode;
-import com.jzg.quote.zhongmei.api.entity.BaseRequestHead;
+import com.jzg.quotation.zhongmei.api.constant.TransCode;
+import com.jzg.quotation.zhongmei.api.entity.BaseRequestHead;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;

+ 3 - 4
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/request/UploadImageRequest.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/UploadImageRequest.java

@@ -1,10 +1,9 @@
-package com.jzg.quote.zhongmei.api.entity.request;
+package com.jzg.quotation.zhongmei.api.entity.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.jzg.quotation.commons.entity.vo.image.InsuranceImageVo;
-import com.jzg.quote.zhongmei.api.constant.TransCode;
-import com.jzg.quote.zhongmei.api.constant.enums.ImageTypeEnum;
-import com.jzg.quote.zhongmei.api.entity.BaseRequestHead;
+import com.jzg.quotation.zhongmei.api.constant.TransCode;
+import com.jzg.quotation.zhongmei.api.entity.BaseRequestHead;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.EqualsAndHashCode;

+ 3 - 3
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/request/ValidSMScodeRequest.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/request/ValidSMScodeRequest.java

@@ -1,8 +1,8 @@
-package com.jzg.quote.zhongmei.api.entity.request;
+package com.jzg.quotation.zhongmei.api.entity.request;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.jzg.quote.zhongmei.api.constant.TransCode;
-import com.jzg.quote.zhongmei.api.entity.BaseRequestHead;
+import com.jzg.quotation.zhongmei.api.constant.TransCode;
+import com.jzg.quotation.zhongmei.api.entity.BaseRequestHead;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/response/BaseResponse.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/response/BaseResponse.java

@@ -1,4 +1,4 @@
-package com.jzg.quote.zhongmei.api.entity.response;
+package com.jzg.quotation.zhongmei.api.entity.response;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Data;

+ 2 - 2
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/response/BaseResponseHead.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/response/BaseResponseHead.java

@@ -1,7 +1,7 @@
-package com.jzg.quote.zhongmei.api.entity.response;
+package com.jzg.quotation.zhongmei.api.entity.response;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
-import com.jzg.quote.zhongmei.api.entity.BaseHead;
+import com.jzg.quotation.zhongmei.api.entity.BaseHead;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/response/CheckSMScodeResponse.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/response/CheckSMScodeResponse.java

@@ -1,4 +1,4 @@
-package com.jzg.quote.zhongmei.api.entity.response;
+package com.jzg.quotation.zhongmei.api.entity.response;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Data;

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/response/InsurancePolicyPrintResponse.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/response/InsurancePolicyPrintResponse.java

@@ -1,4 +1,4 @@
-package com.jzg.quote.zhongmei.api.entity.response;
+package com.jzg.quotation.zhongmei.api.entity.response;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Data;

+ 4 - 4
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/response/ModelsQueryResponse.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/response/ModelsQueryResponse.java

@@ -1,11 +1,11 @@
-package com.jzg.quote.zhongmei.api.entity.response;
+package com.jzg.quotation.zhongmei.api.entity.response;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import com.jzg.commons.entity.quote.vo.CoreModelsVo;
 import com.jzg.quotation.commons.filter.CarModelsFilter;
-import com.jzg.quote.zhongmei.api.constant.enums.JingyouEnergyTypes;
-import com.jzg.quote.zhongmei.api.entity.ZmCarEntity;
-import com.jzg.quote.zhongmei.api.entity.dto.ZmCarDTO;
+import com.jzg.quotation.zhongmei.api.constant.enums.JingyouEnergyTypes;
+import com.jzg.quotation.zhongmei.api.entity.ZmCarEntity;
+import com.jzg.quotation.zhongmei.api.entity.dto.ZmCarDTO;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;

+ 1 - 1
tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quote/zhongmei/api/entity/response/OrderStatusResponse.java → tenant/insurance/quotation-zhongmei/src/main/java/com/jzg/quotation/zhongmei/api/entity/response/OrderStatusResponse.java

@@ -1,4 +1,4 @@
-package com.jzg.quote.zhongmei.api.entity.response;
+package com.jzg.quotation.zhongmei.api.entity.response;
 
 import com.fasterxml.jackson.annotation.JsonProperty;
 import lombok.Data;

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików