1
0

13 Коммиты 47a8b49cdf ... 2b2a5665b7

Автор SHA1 Сообщение Дата
  Qchen 2b2a5665b7 修改 10 месяцев назад
  785834757 2fb84e8957 Merge remote-tracking branch 'origin/master' 10 месяцев назад
  785834757 8398286858 添加保司排序 10 месяцев назад
  xuqiang de9a2cfd99 Merge remote-tracking branch 'origin/master' 10 месяцев назад
  xuqiang fe40b95ffc app版本管理 10 месяцев назад
  dongxin 8ac58d89d0 Merge remote-tracking branch 'origin/master' 10 месяцев назад
  dongxin a81b5c25a8 日志bug 的修复 10 месяцев назад
  Qchen 5df226c330 费用修改 10 месяцев назад
  785834757 a684496eea 调整测试环境 10 месяцев назад
  Qchen 5008abdba3 Merge remote-tracking branch 'origin/master' 10 месяцев назад
  Qchen 51345b4821 修改bug 10 месяцев назад
  xuqiang b51dd706ad app版本管理 10 месяцев назад
  xuqiang cd31016349 app版本管理 10 месяцев назад
38 измененных файлов с 519 добавлено и 99 удалено
  1. 9 2
      authentication/src/main/resources/application-test.yml
  2. 3 0
      commons/src/main/java/com/jzg/commons/entity/dto/InsOrdersParam.java
  3. 27 0
      commons/src/main/java/com/jzg/commons/entity/po/EsmInsCompanyTenantSort.java
  4. 3 0
      commons/src/main/java/com/jzg/commons/entity/po/SysAppManage.java
  5. 3 1
      commons/src/main/java/com/jzg/commons/entity/po/SysVersion.java
  6. 6 0
      commons/src/main/java/com/jzg/commons/entity/vo/SysAppManageVo.java
  7. 1 0
      commons/src/main/java/com/jzg/commons/entity/vo/SysVersionVo.java
  8. 17 2
      gateway/src/main/java/com/jzg/filter/AuthFilter.java
  9. 2 0
      gateway/src/main/resources/application-dev.yml
  10. 21 15
      gateway/src/main/resources/application-test.yml
  11. 21 4
      platform/src/main/java/com/jzg/controller/EsmInsCompanyController.java
  12. 10 0
      platform/src/main/java/com/jzg/mapper/EsmInsCompanyTenantSortMapper.java
  13. 14 0
      platform/src/main/java/com/jzg/service/EsmInsCompanyService.java
  14. 58 7
      platform/src/main/java/com/jzg/service/impl/EsmInsCompanyServiceImpl.java
  15. 2 2
      platform/src/main/resources/application-test.yml
  16. 2 2
      platform/src/main/resources/application.yml
  17. 23 23
      tenant/costsorrule/src/main/resources/application-test.yml
  18. 1 0
      tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/client/OrgClient.java
  19. 1 1
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/aop/OrderOperationLogAspect.java
  20. 40 15
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/aop/aspect/QuoteVerificationAspect.java
  21. 17 1
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/InsOrdersController.java
  22. 2 2
      tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/UnifyOrderManager.java
  23. 193 0
      tenant/insurance/quotation-summary/src/main/resources/application-test.yaml
  24. 1 1
      tenant/insurance/quotation-summary/src/main/resources/mapper/InsOrdersMapper.xml
  25. 1 1
      tenant/insurance/quotation-yangguang/src/main/java/com/jzg/quotation/yangguang/api/componet/YangGuangApiRequestComponent.java
  26. 4 0
      tenant/insurance/quotation-yongcheng/src/main/java/com/jzg/quotation/yongcheng/api/entity/request/QuoteRequest.java
  27. 1 1
      tenant/insurance/quotation-yongcheng/src/main/java/com/jzg/quotation/yongcheng/api/service/impl/YongChengApiRequestImpl.java
  28. 1 1
      tenant/organization/src/main/java/com/jzg/organization/client/EsmInsCompanyClient.java
  29. 2 2
      tenant/organization/src/main/java/com/jzg/organization/controller/AgreementController.java
  30. 4 4
      tenant/organization/src/main/java/com/jzg/organization/controller/SysVersionController.java
  31. 1 1
      tenant/organization/src/main/java/com/jzg/organization/service/PtlAgreementService.java
  32. 1 1
      tenant/organization/src/main/java/com/jzg/organization/service/SysVersionService.java
  33. 3 2
      tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlAgreementServiceImpl.java
  34. 13 1
      tenant/organization/src/main/java/com/jzg/organization/service/impl/SysAppManageServiceImpl.java
  35. 6 6
      tenant/organization/src/main/java/com/jzg/organization/service/impl/SysVersionServiceImpl.java
  36. 1 1
      tenant/organization/src/main/resources/application-test.yml
  37. 1 0
      tenant/organization/src/main/resources/application.yml
  38. 3 0
      tenant/organization/src/main/resources/mapper/SysVersionMapper.xml

+ 9 - 2
authentication/src/main/resources/application-test.yml

@@ -1,9 +1,11 @@
 server:
   port: 9081
 spring:
+  application:
+    name: jzg-auth
   cloud:
     nacos:
-      server-addr: 172.24.144.223:8848
+      server-addr: 192.168.0.250:8848
       username: nacos
       password: nacos
       config:
@@ -17,7 +19,12 @@ spring:
       - nacos:mysql
       - nacos:redisson
       - nacos:minio
-
 config:
   sso: 0
 
+wechat:
+  open:
+    properties:
+      app:
+        componentAppId: wx612ca90988c46947
+        componentSecret: 75b7d4cda453b2075dec23f849278bc0

+ 3 - 0
commons/src/main/java/com/jzg/commons/entity/dto/InsOrdersParam.java

@@ -44,5 +44,8 @@ public class InsOrdersParam extends PageRequest {
     @Schema(description = "批改状态")
     private String adjustStatus;
 
+    @Schema(description = "租户code")
+    private String systemCode;
+
 
 }

+ 27 - 0
commons/src/main/java/com/jzg/commons/entity/po/EsmInsCompanyTenantSort.java

@@ -0,0 +1,27 @@
+package com.jzg.commons.entity.po;
+
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.jzg.commons.core.base.BaseModel;
+import lombok.Data;
+
+
+@TableName(value = "esm_ins_company_tenant_sort")
+@Data
+public class EsmInsCompanyTenantSort extends BaseModel {
+
+    @TableId(type = IdType.ASSIGN_ID)
+    private String id;
+
+    private String companyId;
+
+    private int orderNum;
+
+    private String systemCode;
+
+}
+
+
+

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

@@ -1,6 +1,7 @@
 package com.jzg.commons.entity.po;
 
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.jzg.commons.core.base.BaseModel;
 import lombok.Data;
 import javax.validation.constraints.NotBlank;
@@ -22,4 +23,6 @@ public class SysAppManage extends BaseModel {
 
     private String systemCode;
 
+    @TableField(exist = false)
+    private String downloadUrl;
 }

+ 3 - 1
commons/src/main/java/com/jzg/commons/entity/po/SysVersion.java

@@ -33,6 +33,8 @@ public class SysVersion extends BaseModel {
 
     private String path;
 
+    private String pathId;
+
     @TableField(exist = false)
     private String downloadUrl;
 
@@ -40,6 +42,6 @@ public class SysVersion extends BaseModel {
 
     private String issueFlag;
 
-    private byte  packageType;
+    private String  packageType;
 
 }

+ 6 - 0
commons/src/main/java/com/jzg/commons/entity/vo/SysAppManageVo.java

@@ -4,6 +4,12 @@ package com.jzg.commons.entity.vo;
 import com.jzg.commons.core.base.PageRequest;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
+
 @Data
 public class SysAppManageVo extends PageRequest {
+
+    @NotBlank(message = "应用名称不能为空")
+    private String appName;
+
 }

+ 1 - 0
commons/src/main/java/com/jzg/commons/entity/vo/SysVersionVo.java

@@ -32,5 +32,6 @@ public class SysVersionVo extends PageRequest {
 
     private String issueFlag;
 
+    private String  packageType;
 
 }

+ 17 - 2
gateway/src/main/java/com/jzg/filter/AuthFilter.java

@@ -1,5 +1,6 @@
 package com.jzg.filter;
 
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cloud.gateway.filter.GatewayFilterChain;
 import org.springframework.cloud.gateway.filter.GlobalFilter;
@@ -8,8 +9,13 @@ import org.springframework.core.annotation.Order;
 import org.springframework.stereotype.Component;
 import org.springframework.web.server.ServerWebExchange;
 import reactor.core.publisher.Mono;
+
+import java.time.Duration;
+import java.time.Instant;
+
 @Component
 @Order(0)
+@Slf4j
 public class AuthFilter implements GlobalFilter {
 
     @Autowired
@@ -20,8 +26,17 @@ public class AuthFilter implements GlobalFilter {
         // 获取请求路径和方法
         String path = exchange.getRequest().getPath().value();
 
-        // 如果权限验证通过,继续请求链
-        return chain.filter(exchange);
+        return chain.filter(exchange)
+                .doOnSuccess(v -> {
+                    long cost = Duration.between(Instant.now(), Instant.now()).toMillis();
+                    int statusCode = exchange.getResponse().getStatusCode().value();
+                    log.info("【Gateway响应出口】 请求地址:{} , 耗时: {}ms , 状态码: {} ", path, statusCode, cost);
+                })
+                // 发生异常时记录日志(ERROR级别)
+                .doOnError(e -> {
+                    long cost = Duration.between(Instant.now(), Instant.now()).toMillis();
+                    log.error("【Gateway请求异常】 请求地址:{} , 耗时: {}ms, 异常信息:{} ",path,cost, e);
+                });
     }
 
 }

+ 2 - 0
gateway/src/main/resources/application-dev.yml

@@ -86,6 +86,8 @@ spring:
                   - /userBankCard/**
                   - /receivable/**
                   - /ptlAgreementDispatch/**
+                  - /appManage/**
+                  - /version/**
 
         - id: summary_route
           uri: http://localhost:9898/

+ 21 - 15
gateway/src/main/resources/application-test.yml

@@ -21,7 +21,7 @@ spring:
     gateway:
       routes:
         - id: auth_route
-          uri: http://192.168.0.250:8081/
+          uri: http://192.168.0.250:9081/
           predicates:
             - name: MultiPath
               args:
@@ -31,23 +31,23 @@ spring:
                   - /appAuth/**
 
         - id: platform_route
-          uri: http://192.168.0.250:8083/
+          uri: http://192.168.0.250:9083/
           predicates:
             - name: MultiPath
               args:
                 paths:
-                - /userRole/**
-                - /system/**
-                - /file/**
-                - /user/**
-                - /esmInsCompany/**
-                - /jyxConfig/**
-                - /qrBarcode/**
-                - /sysDept/**
-                - /manager/**
+                  - /userRole/**
+                  - /system/**
+                  - /file/**
+                  - /user/**
+                  - /esmInsCompany/**
+                  - /jyxConfig/**
+                  - /qrBarcode/**
+                  - /sysDept/**
+                  - /manager/**
 
         - id: tenant_route
-          uri: http://192.168.0.250:8084/
+          uri: http://192.168.0.250:9084/
           predicates:
             - name: MultiPath
               args:
@@ -77,12 +77,18 @@ spring:
                   - /schemeRulesUndwrtDictLable/**
                   - /schemeRulesUndwrtRules/**
                   - /schemeRulesUndwrtRulesAttrLink/**
-                  - /schemeRules,/ptlAgreementCost/**
+                  - /schemeRules/**
                   - /ptlAgreementCost/**
                   - /ptlAgreementCostExternal/**
                   - /operatorTrajectory/**
                   - /messageTemplate/**
-                  - /message/**
+                  - /appUser/**
+                  - /userBankCard/**
+                  - /receivable/**
+                  - /ptlAgreementDispatch/**
+                  - /appManage/**
+                  - /version/**
+                  - /userAccount/**
 
         - id: summary_route
           uri: http://192.168.0.250:9898/
@@ -98,7 +104,7 @@ spring:
                   - /order/qrCode/**
 
         - id: costsorrule_route
-          uri: http://192.168.0.250:8085/
+          uri: http://192.168.0.250:9085/
           predicates:
             - name: MultiPath
               args:

+ 21 - 4
platform/src/main/java/com/jzg/controller/EsmInsCompanyController.java

@@ -55,6 +55,12 @@ public class EsmInsCompanyController extends BaseController {
     @Autowired
     private SysUploadFilesMapper sysUploadFilesMapper;
 
+    @Autowired
+    private SysSystemService sysSystemService;
+
+    @Autowired
+    private BaseController baseController;
+
     @Value("${minio.bucket-name}")
     private String bucketName;
 
@@ -304,10 +310,6 @@ public class EsmInsCompanyController extends BaseController {
 //
 //    }
 
-
-    @Autowired
-    SysSystemService sysSystemService;
-
     @Operation(summary = "获取顶级保险公司列表")
     @GetMapping(value = "/gainTopList")
     public HttpResult<List<EsmInsCompanyResVo>> gainTopList(@RequestParam String type,@RequestParam(required = false) String systemCode) {
@@ -417,4 +419,19 @@ public class EsmInsCompanyController extends BaseController {
         List<EsmInsCompany> esmInsCompanyList = esmInsCompanyService.getCompanyByIds(companyList);
         return HttpResult.ok(esmInsCompanyList);
     }
+
+    @Operation(summary = "获取保司排序信息")
+    @GetMapping(value = "getCompanySort")
+    public HttpResult<List<EsmInsCompany>> getCompanySort(){
+        List<EsmInsCompany> companyByIds = esmInsCompanyService.getCompanySort(baseController.getUserSystemCode());
+        return HttpResult.ok(companyByIds);
+    }
+
+    @Operation(summary = "更新保司排序信息")
+    @PostMapping(value = "updateCompanySort")
+    public HttpResult<String> updateCompanySort(@RequestBody List<EsmInsCompany> esmInsCompanyList){
+        boolean result = esmInsCompanyService.updateCompanySort(esmInsCompanyList,baseController.getUserSystemCode());
+        return result ?  HttpResult.ok("更新保司排序成功") : HttpResult.error("更新保司排序失败");
+    }
+
 }

+ 10 - 0
platform/src/main/java/com/jzg/mapper/EsmInsCompanyTenantSortMapper.java

@@ -0,0 +1,10 @@
+package com.jzg.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.jzg.commons.entity.po.EsmInsCompanyTenantSort;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface EsmInsCompanyTenantSortMapper extends BaseMapper<EsmInsCompanyTenantSort> {
+
+}

+ 14 - 0
platform/src/main/java/com/jzg/service/EsmInsCompanyService.java

@@ -115,6 +115,20 @@ public interface EsmInsCompanyService extends IService<EsmInsCompany> {
     List<EsmInsCompany> getAllBaseList();
     
     List<EsmInsCompany> getCompanyByIds(List<String> ids);
+
+    /**
+     * 获取保司排序
+     * @param systemCode
+     * @return
+     */
+    List<EsmInsCompany> getCompanySort(String systemCode);
+
+    /**
+     * 更新保司排序
+     * @param systemCode
+     * @return
+     */
+    boolean updateCompanySort(List<EsmInsCompany> companyList, String systemCode);
 }
 
 

+ 58 - 7
platform/src/main/java/com/jzg/service/impl/EsmInsCompanyServiceImpl.java

@@ -6,8 +6,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 
 import com.jzg.commons.annotation.IgnoreTenant;
 import com.jzg.commons.entity.po.EsmInsCompany;
+import com.jzg.commons.entity.po.EsmInsCompanyTenantSort;
 import com.jzg.commons.entity.po.SysUploadFiles;
-import com.jzg.commons.entity.system.po.SysSystemBusPerms;
 import com.jzg.commons.entity.system.vo.SysSystemBusPermsVo;
 import com.jzg.commons.entity.vo.EsmInsCompanyReq;
 import com.jzg.commons.entity.vo.EsmInsCompanyResVo;
@@ -15,20 +15,19 @@ import com.jzg.commons.entity.vo.EsmInsCompanyVo;
 import com.jzg.commons.util.AssertionUtils;
 import com.jzg.commons.util.MinioUtils;
 import com.jzg.commons.util.StringUtils;
+import com.jzg.commons.util.idgen.IdGenerate;
 import com.jzg.mapper.EsmInsCompanyMapper;
-import com.jzg.mapper.SysSystemBusPermsMapper;
+import com.jzg.mapper.EsmInsCompanyTenantSortMapper;
 import com.jzg.service.EsmInsCompanyService;
 import com.jzg.service.SysSystemService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
-import org.springframework.util.ObjectUtils;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
 import java.util.stream.Collectors;
 
 
@@ -52,6 +51,9 @@ public class EsmInsCompanyServiceImpl extends ServiceImpl<EsmInsCompanyMapper, E
     @Autowired
     SysSystemService sysSystemService;
 
+    @Autowired
+    EsmInsCompanyTenantSortMapper esmInsCompanyTenantSortMapper;
+
     @Override
     public List<EsmInsCompanyVo> findTree(EsmInsCompanyReq req) {
         List<EsmInsCompanyVo> allList  = baseMapper.findTree(req);
@@ -283,6 +285,55 @@ public class EsmInsCompanyServiceImpl extends ServiceImpl<EsmInsCompanyMapper, E
         List<EsmInsCompany> esmInsCompanies = baseMapper.selectList(new LambdaQueryWrapper<EsmInsCompany>().in(EsmInsCompany::getId,ids));
         return esmInsCompanies;
     }
+
+    /**
+     * 获取保司排序
+     * @param systemCode
+     * @return
+     */
+    @Override
+    public List<EsmInsCompany> getCompanySort(String systemCode) {
+        List<EsmInsCompany> esmInsCompanies = sysSystemService.getUserCompany(systemCode);
+        List<EsmInsCompanyTenantSort> esmInsCompanyTenantSorts = esmInsCompanyTenantSortMapper.selectList(new LambdaQueryWrapper<>());
+        Map<String, Integer> sortMap = esmInsCompanyTenantSorts.stream()
+                .collect(Collectors.toMap(EsmInsCompanyTenantSort::getCompanyId, EsmInsCompanyTenantSort::getOrderNum));
+
+        esmInsCompanies.sort((c1, c2) -> {
+            Integer order1 = sortMap.get(c1.getId());
+            Integer order2 = sortMap.get(c2.getId());
+            if (order1 != null && order2 != null) {
+                return order1.compareTo(order2);
+            } else if (order1 != null) {
+                return -1;
+            } else if (order2 != null) {
+                return 1;
+            } else {
+                return 0;
+            }
+        });
+
+        return esmInsCompanies;
+    }
+
+    @Override
+    @Transactional
+    public boolean updateCompanySort(List<EsmInsCompany> companyList, String systemCode) {
+        esmInsCompanyTenantSortMapper.delete(new LambdaQueryWrapper<EsmInsCompanyTenantSort>()
+                .eq(EsmInsCompanyTenantSort::getSystemCode, systemCode));
+
+        List<EsmInsCompanyTenantSort> companyTenantSorts = new ArrayList<>();
+        AtomicInteger orderNum = new AtomicInteger(1);
+        companyList.forEach(item->{
+            EsmInsCompanyTenantSort tenantSort = new EsmInsCompanyTenantSort();
+            tenantSort.setId(IdGenerate.nextId());
+            tenantSort.setCompanyId(item.getId());
+            tenantSort.setOrderNum(orderNum.get());
+            orderNum.getAndIncrement();
+            companyTenantSorts.add(tenantSort);
+        });
+        esmInsCompanyTenantSortMapper.insert(companyTenantSorts);
+        return true;
+    }
 }
 
 

+ 2 - 2
platform/src/main/resources/application-test.yml

@@ -3,12 +3,12 @@ server:
 spring:
   cloud:
     nacos:
-      server-addr: 172.24.144.223:8848
+      server-addr: 192.168.0.250:8848
       username: nacos
       password: nacos
       config:
         file-extension: yaml
-        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
+        namespace: bfe09cf4-508a-4443-acfa-b354be6f4bac
         group: DEFAULT_GROUP
       discovery:
         namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45

+ 2 - 2
platform/src/main/resources/application.yml

@@ -7,8 +7,8 @@ spring:
     active: dev
   servlet:
     multipart:
-      max-file-size: 5MB
-      max-request-size: 5MB
+      max-file-size: 100MB
+      max-request-size: 100MB
 
 mybatis-plus:
   mapper-locations: classpath*:/mapper/*Mapper.xml

+ 23 - 23
tenant/costsorrule/src/main/resources/application-test.yml

@@ -1,23 +1,23 @@
-#server:
-#  port: 9085
-#spring:
-#  cloud:
-#    nacos:
-#      server-addr: 172.24.144.223:8848
-#      username: nacos
-#      password: nacos
-#      config:
-#        file-extension: yaml
-#        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
-#        group: DEFAULT_GROUP
-#      discovery:
-#        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
-#  config:
-#    import:
-#      - nacos:mysql
-#      - nacos:redisson
-#      - nacos:minio
-#      - nacos:rocketmq
-#
-#config:
-#  sso: 1
+server:
+  port: 9085
+spring:
+  cloud:
+    nacos:
+      server-addr: 192.168.0.250:8848
+      username: nacos
+      password: nacos
+      config:
+        file-extension: yaml
+        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
+        group: DEFAULT_GROUP
+      discovery:
+        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
+  config:
+    import:
+      - nacos:mysql
+      - nacos:redisson
+      - nacos:minio
+      - nacos:rocketmq
+
+config:
+  sso: 1

+ 1 - 0
tenant/insurance/quotation-commons/src/main/java/com/jzg/quotation/commons/client/OrgClient.java

@@ -31,6 +31,7 @@ public interface OrgClient {
 
     @GetMapping(value = "/agreement/getByCompanyId")
     public HttpResult<List<PtlAgreement>> getByCompanyId(@RequestParam("companyId") String companyId,
+                                                         @RequestParam("systemCode") String code,
                                                          @RequestHeader("Authorization") String authToken,
                                                          @RequestHeader("system_code")String systemCode);
     @GetMapping(value = "/agreement/getByAgreementId")

+ 1 - 1
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/aop/OrderOperationLogAspect.java

@@ -346,7 +346,6 @@ public class OrderOperationLogAspect {
         );
         // 执行提取
         Map<String, Object> extracted = fieldExtractor.extractFields(result, mappings);
-        UnderwritingResultsVo res = JSON.parseObject(JSON.toJSONString(extracted.get("data"))).toJavaObject(UnderwritingResultsVo.class);
         InsOrders insOrders = orderService.getById(orderId);
         InsOrdersCarInfo carInfo = carInfoService.getByOrderId(insOrders.getId());
         InsOrdersTrack track = new InsOrdersTrack();
@@ -377,6 +376,7 @@ public class OrderOperationLogAspect {
             pamentTrack.setResult("调用接口获取订单支付码并生成掌柜支付码");
             traceService.save(pamentTrack);
         }else{
+            UnderwritingResultsVo res = JSON.parseObject(JSON.toJSONString(extracted.get("data"))).toJavaObject(UnderwritingResultsVo.class);
             track.setStatus(QuoteNumberConstant.QuoteResult.FAIL.getCode());
             track.setResult(res.getUnderwritingResult());
             InsOrderStatusEnum orderStatusEnum = InsOrderStatusEnum.matchKey(insOrders.getOrderStatus());

+ 40 - 15
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/aop/aspect/QuoteVerificationAspect.java

@@ -851,25 +851,50 @@ public class QuoteVerificationAspect {
         insFeeOrders.setSyCommissionRatio(convertPercent(agreementInfoVo.getAgreement().getSyEntranceFeeRatio()));
         insFeeOrders.setJyCommissionRatio(convertPercent(agreementInfoVo.getAgreement().getJyEntranceFeeRatio()));
         // 入口比例
-        insFeeOrders.setJqInletRatio(convertPercent(jqCostType.getInlet()));
-        insFeeOrders.setSyInletRatio(convertPercent(syCostType.getInlet()));
-        insFeeOrders.setJyInletRatio(convertPercent(jyCostType.getInlet()));
+        insFeeOrders.setJqInletRatio(jqCostType != null
+                ? convertPercent(jqCostType.getInlet() != null ? jqCostType.getInlet() : BigDecimal.ZERO) : BigDecimal.ZERO);
+        insFeeOrders.setSyInletRatio(syCostType != null
+                ? convertPercent(syCostType.getInlet() != null ? syCostType.getInlet() : BigDecimal.ZERO) : BigDecimal.ZERO);
+        insFeeOrders.setJyInletRatio(jyCostType != null
+                ? convertPercent(jyCostType.getInlet() != null ? jyCostType.getInlet() : BigDecimal.ZERO) : BigDecimal.ZERO);
         // 跟单比例
-        insFeeOrders.setJqFollowRatio(calculateFollowRatio(jqCostType, agreementInfoVo.getAgreement().getJqEntranceFeeRatio()));
-        insFeeOrders.setSyFollowRatio(calculateFollowRatio(syCostType, agreementInfoVo.getAgreement().getSyEntranceFeeRatio()));
-        insFeeOrders.setJyFollowRatio(calculateFollowRatio(jyCostType, agreementInfoVo.getAgreement().getJyEntranceFeeRatio()));
+        insFeeOrders.setJqFollowRatio(jqCostType != null ?
+                calculateFollowRatio(jqCostType, agreementInfoVo.getAgreement().getJqEntranceFeeRatio()) : BigDecimal.ZERO);
+        insFeeOrders.setSyFollowRatio(syCostType != null ?
+                calculateFollowRatio(syCostType, agreementInfoVo.getAgreement().getSyEntranceFeeRatio()) : BigDecimal.ZERO);
+        insFeeOrders.setJyFollowRatio(jyCostType != null ?
+                calculateFollowRatio(jyCostType, agreementInfoVo.getAgreement().getJyEntranceFeeRatio()) : BigDecimal.ZERO);
         // 加投比例
-        insFeeOrders.setJqAdditionalRatio(convertPercent(jqCostType.getAddThrow()));
-        insFeeOrders.setSyAdditionalRatio(convertPercent(syCostType.getAddThrow()));
-        insFeeOrders.setJyAdditionalRatio(convertPercent(jyCostType.getAddThrow()));
+        insFeeOrders.setJqAdditionalRatio(jqCostType != null
+                ? convertPercent(jqCostType.getAddThrow() != null ? jqCostType.getAddThrow() : BigDecimal.ZERO)
+                : BigDecimal.ZERO);
+        insFeeOrders.setSyAdditionalRatio(syCostType != null
+                ? convertPercent(syCostType.getAddThrow() != null ? syCostType.getAddThrow() : BigDecimal.ZERO)
+                : BigDecimal.ZERO);
+        insFeeOrders.setJyAdditionalRatio(jyCostType != null
+                ? convertPercent(jyCostType.getAddThrow() != null ? jyCostType.getAddThrow() : BigDecimal.ZERO)
+                : BigDecimal.ZERO);
         // 留点比例
-        insFeeOrders.setJqKeepPointRatio(convertPercent(jqCostType.getKeepPointRatio()));
-        insFeeOrders.setSyKeepPointRatio(convertPercent(syCostType.getKeepPointRatio()));
-        insFeeOrders.setJyKeepPointRatio(convertPercent(jyCostType.getKeepPointRatio()));
+        insFeeOrders.setJqKeepPointRatio(jqCostType != null
+                ? convertPercent(jqCostType.getKeepPointRatio() != null ? jqCostType.getKeepPointRatio() : BigDecimal.ZERO)
+                : BigDecimal.ZERO);
+        insFeeOrders.setSyKeepPointRatio(syCostType != null
+                ? convertPercent(syCostType.getKeepPointRatio() != null ? syCostType.getKeepPointRatio() : BigDecimal.ZERO)
+                : BigDecimal.ZERO);
+        insFeeOrders.setJyKeepPointRatio(jyCostType != null
+                ? convertPercent(jyCostType.getKeepPointRatio() != null ? jyCostType.getKeepPointRatio() : BigDecimal.ZERO)
+                : BigDecimal.ZERO);
+
         // 出口比例
-        insFeeOrders.setJqExportRatio(convertPercent(jqCostType.getExport()));
-        insFeeOrders.setSyExportRatio(convertPercent(syCostType.getExport()));
-        insFeeOrders.setJyExportRatio(convertPercent(jyCostType.getExport()));
+        insFeeOrders.setJqExportRatio(jqCostType != null
+                ? convertPercent(jqCostType.getExport() != null ? jqCostType.getExport() : BigDecimal.ZERO)
+                : BigDecimal.ZERO);
+        insFeeOrders.setSyExportRatio(syCostType != null
+                ? convertPercent(syCostType.getExport() != null ? syCostType.getExport() : BigDecimal.ZERO)
+                : BigDecimal.ZERO);
+        insFeeOrders.setJyExportRatio(jyCostType != null
+                ? convertPercent(jyCostType.getExport() != null ? jyCostType.getExport() : BigDecimal.ZERO)
+                : BigDecimal.ZERO);
     }
 
     /**

+ 17 - 1
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/controller/InsOrdersController.java

@@ -2,6 +2,7 @@ package com.jzg.quotation.summary.controller;
 
 
 import com.jzg.commons.aop.OperatorTrajectory;
+import com.jzg.commons.core.base.BaseController;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.dto.InsOrdersParam;
 import com.jzg.commons.entity.po.InsFeeOrders;
@@ -17,10 +18,13 @@ import com.jzg.quotation.summary.service.InsTaskImagesService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletRequest;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.validation.constraints.NotNull;
 
@@ -29,7 +33,7 @@ import javax.validation.constraints.NotNull;
 @Tag(name = "补录订单录入")
 @Validated
 @RequiredArgsConstructor
-public class InsOrdersController {
+public class InsOrdersController extends BaseController {
 
     @Resource
     private InsOrdersService insOrdersService;
@@ -40,6 +44,9 @@ public class InsOrdersController {
     @Autowired
     private InsOrdersCarInfoService insOrdersCarInfoService;
 
+    @Autowired
+    private BaseController baseController;
+
     @Resource
     private InsFeeOrdersService insFeeOrdersService;
 
@@ -80,6 +87,15 @@ public class InsOrdersController {
     @PostMapping("queryList")
     @Operation(summary = "查询订单列表")
     public HttpResult queryList(@RequestBody InsOrdersParam insOrdersParam) {
+        String systemCode = "";
+        //如果是APP登录的话 则传递SystemCode的头部字段
+        if (baseController.getUserSystemCode().equals("APP")) {
+            HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
+            systemCode = request.getHeader("system_code");
+        } else {
+            systemCode =  baseController.getUserSystemCode();
+        }
+        insOrdersParam.setSystemCode(systemCode);
         return HttpResult.ok(insOrdersService.queryList(insOrdersParam));
     }
 

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

@@ -218,7 +218,7 @@ public class UnifyOrderManager {
 
         //先默认第一个协议
         HttpResult<List<PtlAgreement>> byCompanyId = orgClient.getByCompanyId(esmInsCompanyHttpResult.getData()
-                .getId(), baseController.getToken(), systemCode);
+                .getId(),systemCode, baseController.getToken(), systemCode);
         if (byCompanyId.getData().isEmpty()) {
             AssertionUtils.isFail(true, "保司未配置协议");
         }
@@ -406,7 +406,7 @@ public class UnifyOrderManager {
         String systemCode = getSystemCode();
 
         //先默认第一个协议
-        HttpResult<List<PtlAgreement>> byCompanyId = orgClient.getByCompanyId(insOrders.getCompanyId(), baseController.getToken(), systemCode);
+        HttpResult<List<PtlAgreement>> byCompanyId = orgClient.getByCompanyId(insOrders.getCompanyId(),systemCode, baseController.getToken(), systemCode);
         if (byCompanyId.getData().isEmpty()) {
             AssertionUtils.isFail(true, "保司未配置协议");
         }

+ 193 - 0
tenant/insurance/quotation-summary/src/main/resources/application-test.yaml

@@ -0,0 +1,193 @@
+spring:
+  cloud:
+    nacos:
+      server-addr: 192.168.0.250:8848
+      username: nacos
+      password: nacos
+      config:
+        file-extension: yaml
+        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
+        group: DEFAULT_GROUP
+      discovery:
+        namespace: bb8f915c-82b0-4f0d-9e9e-03aa629f2d45
+  config:
+    import:
+      - nacos:mysql
+      - nacos:redisson
+      - nacos:minio
+      - nacos:mongodb
+      - nacos:identify
+      - nacos:crawler-config
+  redis:
+    host: 192.168.0.250
+    port: 6379
+    password: 123456  # 如果没有密码,可删除此行
+    database: 0
+#百度图片识别API
+baidu:
+  clientId: xG9M8tSjNvYPwSTNavM0ELlD
+  clientSecret: riYIRG67akE5FGVwnHE3dGBly5zmdS6t
+  authHost: https://aip.baidubce.com/oauth/2.0/token?
+  vehicle: https://aip.baidubce.com/rest/2.0/ocr/v1/vehicle_license
+  idcard: https://aip.baidubce.com/rest/2.0/ocr/v1/idcard
+
+data-scope:
+  tables:
+    - sys_organization_user_link
+
+
+image:
+  # 验证码识别
+  identificationUrl: https://sxzgkj.baoxianzhanggui.com/zm/images/recognition
+
+# 支付码相关配置
+qrcode:
+  genAddress: https://192.168.0.250:8001/order/qrCode/index
+  imageSrc: https://192.168.0.250:8001/template/
+
+
+yc:
+  api:
+    payCallBack: https://sxzgkj.baoxianzhanggui.com/web-api/api/yongCheng/callBack
+    url: https://test.baoxianzhanggui.com/yongcheng/
+
+#阳光财险生产api
+yangguang:
+  api:
+    key: GVGFDsmWyvydKuCrtP
+    url: http://wxopenapi.sinosig.com/serviceCar/nonstandard.action?sysFlag=CCSI_SXJZG
+    uploadUrl: http://autoimage.sinosig.com/AutoImagePlatform/third/upload
+    payCallBack: https://sxzgkj.baoxianzhanggui.com/web-api/api/yangGuang/callBack
+    secret: 6CPxxlHwLLphTR7gVg3hJLsH
+    referer: SXJZG
+
+#阳光财险测试api
+#yangguang:
+#  api:
+#    key: uYPP7AIc3HYsUh8rFn
+#    url: http://chexiantest.sinosig.com:7002/serviceCar/nonstandard.action?sysFlag=CCSI_SXJZG
+#    uploadUrl: http://unifiedimage.sinosig.com:8082/AutoImagePlatform/third/upload
+#    payCallBack: https://sxzgkj.baoxianzhanggui.com/web-api/api/yangGuang/callBack
+#    secret: 6CPxxlHwLLphTR7gVg3hJLsH
+#    referer: SXJZG
+
+
+#诚泰财险api
+chengtai:
+  api:
+    baseUrl: http://39.98.238.167/chengtai/app/SERVER_V2/4001/
+    ctPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCvuUnoPTFin84nDdpNZFDiGZgUKn6d9fbp6F4/fqrb6pFoJX/wLMr0IsheP0ZnVCPpLGKLjflPNHJo/P9WRRTSM67D8fRD8GKoq+7CtSJkdIticASpN/U8AgJiNV6xdReJcMkaAWJ1ZbOQ+nYLg9OE0qQ6cuXqhy/wVrqx72CrvwIDAQAB
+    publicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCyVlpqmibguria884GdAYEuqCV4aQRl2N21+7l8Vxocoyz+M8KYyXqmlLKqApNL/U5pUVTjS6vpC6ojS+wvNbawijeMsm8r2NOlTHBnQ5vN0azjjPPtSrxgHL8/EYBa4lmBcexdmcUrUyWjAIYqfO8dlY+RuXvbiw7fBHZ7xpAvQIDAQAB
+    privateKey: MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBALJWWmqaJuC6uJrzzgZ0BgS6oJXhpBGXY3bX7uXxXGhyjLP4zwpjJeqaUsqoCk0v9TmlRVONLq+kLqiNL7C81trCKN4yybyvY06VMcGdDm83RrOOM8+1KvGAcvz8RgFriWYFx7F2ZxStTJaMAhip87x2Vj5G5e9uLDt8EdnvGkC9AgMBAAECgYEAsEOHdEvOV1pWMdj9bgVpGW14YQu3RSfTSFheqGkpg5aMmSk3QbYDeOB1KhZysB3Ri9tdLRqi5TkqYK/DTjUnSUMs0iMhx0XaY2z3w16AMpvuJ0FZ4S2h8oAFfOWe4F6bpUYU8qmXANAaXcMm6HjU8k1QuTbjlSOeLujl8W7zk8ECQQDlHbUQ911kWmsSo8NE4S1+dq/6T+yIGCJlXzlNh/z6giMpjp8Dzm3fxDHLeZa+DCrhpT1qe6O3oGwx3HeR/85NAkEAx0NUy6pX5WolV+YAoLNHAmcCP26wQTB7LZ7mXbxww4yNNH9CWHE9PaBuV4Ws4NxSAnRDxrgArkz5+wgqnXzUMQJAHr16orkdra43+XtBYsd3jCUufT4l9SiPzNwW2yEovw+g2h2JlkAnG8O+DpfUstD9G+NItzW5hJSgj5wN6ufQbQJACEtdND0a+4m3lDkWvZm40vjGty08WPpTpkp+/FfjucAYAJ9re5L7IZ2T+kCuOY3yO/fq+lKedKLvpOtqGrQfgQJBAJ1wMccz+1ez8qpyTWbzj2h0O+GV+YDHqJ9SwRWcSacZOeAyO7UMgIZEwoYfs4nhye7DZH9e4BfkwBmFHJKwJNs=
+    partnerCode: JZG_TYTQ_SX
+
+#大家财险api
+dajia:
+  api:
+    url: https://open-ics.djbx.com/dip-agent/agent/invokeForVchicle/api/
+    encryptKey: "By92YPLvG89XyFqv"
+
+
+#国任财险测试api
+guoren:
+  api:
+    baseUrl: https://devyun.guorenpcic.com/api/grchannel-interface/httpCurrency/httpJsonCommonEntrance
+    uploadUrl: https://devyun.guorenpcic.com/api/grecar/photo/upload
+    redirectUrl: http://39.98.239.48/web-api/api/guoRen/callBack
+    policyUrl: https://devyun.guorenpcic.com/api/grsavecarcore/savecarcore/getElePolicyForGrecar?certiNo=
+    policyFlagUrl: https://devyun.guorenpcic.com/api/grsavecarcore/savecarcore/getElePolicyFlagForGrecar?certiNo=
+    serveCode: GR0002
+    channelCode: jindouyun
+    interfaceUserCode: guoren_tp_jdy
+    interfacePwd: Q31gIrhZgQc=
+    iftest: Y
+#guoren:
+#  api:
+#    baseUrl: https://rbt.guorenpcic.com/api/grchannel-interface/httpCurrency/httpJsonCommonEntrance
+#    uploadUrl: https://rbt.guorenpcic.com/api/grecar/photo/upload
+#    redirectUrl: https://sxzgkj.baoxianzhanggui.com/web-api/api/guoRen/callBack
+#    policyUrl: https://rbt.guorenpcic.com/api/grsavecarcore/savecarcore/getElePolicyForGrecar?certiNo=
+#    policyFlagUrl: https://rbt.guorenpcic.com/api/grsavecarcore/savecarcore/getElePolicyFlagForGrecar?certiNo=
+#    serveCode: GR0002
+#    channelCode: TQDL
+#    interfaceUserCode: TQDL
+#    interfacePwd: $2a$04$r4neihDJh420OyWEji5w5OMbiyHqYEZHJGLZP0FHFEjXmr7nVW7te
+#    iftest: N
+
+# 华泰
+huatai:
+  api:
+    sourceCode: '016'
+    #    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: AdOdn409KE6Z9XvFsJ
+    key: kFl5aiHALbZ6TMTqQDxghMMC
+    tokenUrl: https://vehpxy.pc.ehuatai.com/sign
+    username: "UE27017723VPN01"
+    password: "Dhbx135....."
+    comcode: "9270901-营业部代理业务一部"
+# 渤海财险生产api
+bohai:
+  api:
+    #    url: https://esales.bpic.com.cn
+    url: http://39.98.238.167/bohai/app-intermediary/gatewayFromPlat
+    selfPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCGw4XAPHi+K+/F1yb4pP3MTSOurAWsV+o2bzeVLaI+L4AYeXWhMSZ/L5yEX1OvpZKkBRD6KeIzDFqlP+wZ3qgt4n8MoaeA4//Zj4TSXbyXVPtFAtpeTidd7oWBJWcydvhtcWXrhBRh9wErYZ6+hCwh10JBWmSbTcDm0qY8PyqusQIDAQAB
+    selfPrivateKey: MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAIbDhcA8eL4r78XXJvik/cxNI66sBaxX6jZvN5Utoj4vgBh5daExJn8vnIRfU6+lkqQFEPop4jMMWqU/7BneqC3ifwyhp4Dj/9mPhNJdvJdU+0UC2l5OJ13uhYElZzJ2+G1xZeuEFGH3ASthnr6ELCHXQkFaZJtNwObSpjw/Kq6xAgMBAAECgYB2odAwNgukfVEJvCjWYYf6PT3YGh60ZIANg0JO1GkqjO4anXFrgLT+6Y7DCJfG296G/N7BGfXCMnHpXqgc7eDlmSy2JVfKzvptgKJBLktP7Yfajg3oY9S8parSK+iyHT6qYqQv6wBmQ3Q9smOp/TM2ndBMDXu9MjoTkNJhrfMDsQJBANbWHciQhazb3Y2DY42hW/zBf7rmmJFrw7aOrEjzw5E+SnGs/vcr3LUWBbSRTYHcoJ+V/kudfwRMlz0SLkfMAvMCQQCglcjNRx35Zw6vNKHE4vTN/ny2gukjvtkzXpPeTUfblrXjK3w3x9aWBZ/MUiphVe5NB8CAtlfYZMo4UG+WMEjLAkA4yHsyydArMinK/5FOm/meQt6p3c0xkpQ2KlurJJLqTtaKWTlCx1scmeeEJGuiCViDFbgS8FvkHQJUZ/vHikq1AkAHbUX/MHXTbg/AzKdaqsB1snpkGoPb0lzLQmmGU36qSjsZSY6SKdzjzVjJo1cwbz/5Mg2WJljDuk2b8yRmBs+nAkEAzoEZmM031u/0KBpukSbqef8JgJOZ0Do9KDbf2P6YuBal6drUeNYVhImKBxQAbjETp9m5TxxW/dkKmHCnc3zqsA==
+    boHaiPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCIC3wgJd+7Wue63Qjdh3/uscQSKec2m9gaeCq007kjEiSFES5Tfx75VPSxRj6qk6XN4umHOsHY+W9jkv+Cj4+z3XpPozsRdoj21oxPx8fPJzpVeaUHrEkZtj9Yvo/KhByBK5sRjKmlENXVF3wXVfAg48JZR2XUyUcBdZhR9aHhoQIDAQAB
+    insurerCode: 'BPIC'
+
+# 渤海财险测试api
+#bohai:
+#  api:
+#    url: http://uatwhale.bpic.com.cn/app-intermediary/gatewayFromPlat
+#    selfPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKbJHlAPiXza9A7Mfs2cLvysKa5GjdMtG1QQv8oADkAgcdujRq0aHVjNFXoVm7b1DdlhEAdhKXJ7XyY/2zoEbpoU4YxzIftloHZ0vd/k4vgAg5beH972jpWZj6N3ER+EgR73+Ui0p0pdXIRjDF4o8mWSLw8W8Z93eILtLg0DcOIwIDAQAB
+#    selfPrivateKey: MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAIbDhcA8eL4r78XXJvik/cxNI66sBaxX6jZvN5Utoj4vgBh5daExJn8vnIRfU6+lkqQFEPop4jMMWqU/7BneqC3ifwyhp4Dj/9mPhNJdvJdU+0UC2l5OJ13uhYElZzJ2+G1xZeuEFGH3ASthnr6ELCHXQkFaZJtNwObSpjw/Kq6xAgMBAAECgYB2odAwNgukfVEJvCjWYYf6PT3YGh60ZIANg0JO1GkqjO4anXFrgLT+6Y7DCJfG296G/N7BGfXCMnHpXqgc7eDlmSy2JVfKzvptgKJBLktP7Yfajg3oY9S8parSK+iyHT6qYqQv6wBmQ3Q9smOp/TM2ndBMDXu9MjoTkNJhrfMDsQJBANbWHciQhazb3Y2DY42hW/zBf7rmmJFrw7aOrEjzw5E+SnGs/vcr3LUWBbSRTYHcoJ+V/kudfwRMlz0SLkfMAvMCQQCglcjNRx35Zw6vNKHE4vTN/ny2gukjvtkzXpPeTUfblrXjK3w3x9aWBZ/MUiphVe5NB8CAtlfYZMo4UG+WMEjLAkA4yHsyydArMinK/5FOm/meQt6p3c0xkpQ2KlurJJLqTtaKWTlCx1scmeeEJGuiCViDFbgS8FvkHQJUZ/vHikq1AkAHbUX/MHXTbg/AzKdaqsB1snpkGoPb0lzLQmmGU36qSjsZSY6SKdzjzVjJo1cwbz/5Mg2WJljDuk2b8yRmBs+nAkEAzoEZmM031u/0KBpukSbqef8JgJOZ0Do9KDbf2P6YuBal6drUeNYVhImKBxQAbjETp9m5TxxW/dkKmHCnc3zqsA==
+#    boHaiPublicKey: MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDKbJHlAPiXza9A7Mfs2cLvysKa5GjdMtG1QQv8oADkAgcdujRq0aHVjNFXoVm7b1DdlhEAdhKXJ7XyY/2zoEbpoU4YxzIftloHZ0vd/k4vgAg5beH972jpWZj6N3ER+EgR73+Ui0p0pdXIRjDF4o8mWSLw8W8Z93eILtLg0DcOIwIDAQAB
+#    insurerCode: 'BPIC'
+
+#中煤财险测试
+zhongmei:
+  api:
+    #    source: 326
+    #    token: THIRDSCOuloft2020052818346904zmYBSX
+    url: https://test.echinacoal.com/singlePlatform/
+    imageUrl: https://test.echinacoal.com/singlePlatform/others/
+    smsUrl: https://test.echinacoal.com/singlePlatform/prpall/
+    pageUrl: https://www.baidu.com/
+    callbackDomain: https://test.baoxianzhanggui.com/web-api/
+    callbackUrl: /order/zhongMeiApi/underwritingCallback
+    passMsgUrl: /order/zhongMeiApi/auditCallback
+    sessionKey: 1237891234567589
+  crawler:
+    baseUrl: https://hxkscd.chinacoal-ins.com/singlePlatform
+    imageUrl: https://image.chinacoal-ins.com/SunICMS
+
+zijin:
+  api:
+    #    appKey: SXTQ-C-SX
+    #    appSecret: vAI9sW4bM1m5Y074AUT72wvxKu55SbGY
+    #    proposalCityCode: 320100
+    #    proposalAreaCode: 320000
+    # 为接入方提供获取token服务
+    accessTokenUrl: https://test-open.zking.com/api/v1/public/token/getAccessToken
+    # 车险业务
+    url: http://test-open.zking.com/api/v1/insurance/autoMobile/carInsurance/
+    # 支付
+    payUrl: http://test-open.zking.com/api/v1/public/payment/cashier/zbfAggregatePay
+    # 新支付
+    newPayUrl: http://test-open.zking.com/api/v1/open/open-aggregate/auth/newPay
+    # 订单详情查询服务
+    orderUrl: http://test-open.zking.com/api/v1/insurance/public/getOrderDetail
+    # 订单状态查询
+    orderDetailUrl: http://test-open.zking.com/api/v1/insurance/autoMobile/geelyCarInsurance/queryOrderDetail
+    # 下载保单地址
+    downLoadDocument: http://test-open.zking.com/temp/api/v1/insurance/nonAutoMobile/queryPolicy/downLoadDocument
+    # 对接三方渠道验车链接接口
+    sendCheckCarLink: http://open.zking.com/api/v1/open/open-aggregate/auth/wanJiaYun/sendCheckCarLink
+
+
+zhongAn:
+  id: "975113"

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

@@ -545,7 +545,7 @@
                 left join
             sys_user su on su.mobile = io.real_quote_user_id
                 left join
-            sys_user_jzg_info suji on suji.user_id = su.id
+            sys_user_jzg_info suji on suji.user_id = su.id and suji.system_code = #{insOrdersParam.systemCode}
                 left join
             sys_dept sd on sd.id = suji.dept_id
                 left join

+ 1 - 1
tenant/insurance/quotation-yangguang/src/main/java/com/jzg/quotation/yangguang/api/componet/YangGuangApiRequestComponent.java

@@ -57,7 +57,7 @@ public class YangGuangApiRequestComponent {
         // 处理解密
         String decryptedResponse = yangGuangEncryption.authcodeDecode(body, yangGuangApiProperties.getKey());
 
-        InsuranceLog.infoLog(InsuranceEnum.BPIC.getPinyin(), "\n\t---------> {} \n\t---------> 响应参数:{}", type, decryptedResponse);
+        InsuranceLog.infoLog(InsuranceEnum.YGBX.getPinyin(), "\n\t---------> {} \n\t---------> 响应参数:{}", type, decryptedResponse);
         JSONObject jsonObject = JSON.parseObject(decryptedResponse);
         S t = jsonObject.toJavaObject(tClass);
         // 反序列化响应

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

@@ -577,6 +577,9 @@ public class QuoteRequest {
              */
             @JacksonXmlProperty(localName = "NPoWeight")
             private String NPoWeight;
+
+            @JacksonXmlProperty(localName = "WholeWeight")
+            private String WholeWeight;
             /**
              * 折旧价
              */
@@ -698,6 +701,7 @@ public class QuoteRequest {
                 vhl.setCBusType("0");
                 vhl.setCMortgageMrk("0");
                 vhl.setNPoWeight(carInfo.getCompleteKerbMass());
+                vhl.setWholeWeight(carInfo.getCompleteKerbMass());
                 //305005001:未验 305005002:已验车 305005003:免验车 305005004:需验车
                 vhl.setCInspectionCde("305005003");
                 vhl.setCDevice8Mrk("0");

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

@@ -131,7 +131,7 @@ public class YongChengApiRequestImpl implements YongChengApiRequest {
     public QuoteResultsVo quote(QuoteVo quoteVo) throws JsonProcessingException {
         OrderBase order = quoteVo.getOrder();
         AttributionInformationVo attributionInformationVo = order.getAttributionInformationVo();
-        String url = getApiUrl(order.getInsuranceCompanyId());
+        String url = getApiUrl(order.getInsuranceCompanyCode());
         //1.车型获取
         YcApiConfigurationProperties configurationProperties = ConfigureParametersConversion.conversionEntity(YcApiConfigurationProperties.class, attributionInformationVo.getConfigInfo());
         ModelsQueryResponse.VehicleInfo vehicleInfo = gainVehicleModel(configurationProperties, quoteVo.getCarInfoVo(),url);

+ 1 - 1
tenant/organization/src/main/java/com/jzg/organization/client/EsmInsCompanyClient.java

@@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
-@FeignClient(name="jzg-platform",url = "http://localhost:8001/")
+@FeignClient(name="jzg-platform",url = "${feign.client.jzg-platform.url}")
 public interface EsmInsCompanyClient {
 
 

+ 2 - 2
tenant/organization/src/main/java/com/jzg/organization/controller/AgreementController.java

@@ -234,8 +234,8 @@ public class AgreementController extends BaseController {
 
     @Operation(summary = "根据保险公司查找协议")
     @GetMapping("/getByCompanyId")
-    public HttpResult getByCompanyCode(String companyId) {
-        return HttpResult.ok(agreementService.getByCompanyId(companyId));
+    public HttpResult getByCompanyCode(String companyId, String systemCode) {
+        return HttpResult.ok(agreementService.getByCompanyId(companyId, systemCode));
     }
 
     @Operation(summary = "根据协议id查找协议")

+ 4 - 4
tenant/organization/src/main/java/com/jzg/organization/controller/SysVersionController.java

@@ -30,8 +30,8 @@ public class SysVersionController {
     }
 
     @PostMapping("/delete")
-    public HttpResult delete(@RequestBody SysVersionVo sysVersionVo) {
-        SysVersion sysVersion = sysVersionService.getById(sysVersionVo.getId());
+    public HttpResult delete(@RequestParam String id) {
+        SysVersion sysVersion = sysVersionService.getById(id);
         if (sysVersion == null) {
             HttpResult.error("数据不存在");
         }
@@ -46,8 +46,8 @@ public class SysVersionController {
     }
 
     @GetMapping("/getMaxVersion")
-    public HttpResult getMaxVersion(@RequestParam String appid) {
-        return HttpResult.ok(sysVersionService.getMaxVersion(appid));
+    public HttpResult getMaxVersion(@RequestParam("appid") String appid,@RequestParam("packageType") String packageType) {
+        return HttpResult.ok(sysVersionService.getMaxVersion(appid,packageType));
     }
 
 }

+ 1 - 1
tenant/organization/src/main/java/com/jzg/organization/service/PtlAgreementService.java

@@ -132,5 +132,5 @@ public interface PtlAgreementService extends IService<PtlAgreement> {
      */
     void contactEdit(AgreementContactEditParam param);
 
-    List<PtlAgreement> getByCompanyId(String companyId);
+    List<PtlAgreement> getByCompanyId(String companyId,String systemCode);
 }

+ 1 - 1
tenant/organization/src/main/java/com/jzg/organization/service/SysVersionService.java

@@ -7,7 +7,7 @@ import com.jzg.commons.entity.vo.SysVersionVo;
 
 
 public interface SysVersionService extends IService<SysVersion> {
-    SysVersion getMaxVersion(String appid);
+    SysVersion getMaxVersion(String appid,String packageType);
 
     Page<SysVersion> getSysVersionPageList(Page page, SysVersionVo sysVersionVo);
 }

+ 3 - 2
tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlAgreementServiceImpl.java

@@ -502,9 +502,10 @@ public class PtlAgreementServiceImpl extends ServiceImpl<PtlAgreementMapper, Ptl
     }
 
     @Override
-    public List<PtlAgreement> getByCompanyId(String companyId) {
+    public List<PtlAgreement> getByCompanyId(String companyId,String systemCode) {
         List<PtlAgreement> ptlAgreements = baseMapper.selectList(new LambdaQueryWrapper<PtlAgreement>()
-                .eq(PtlAgreement::getCompanyId, companyId));
+                .eq(PtlAgreement::getCompanyId, companyId)
+                .eq(PtlAgreement::getSystemCode, systemCode));
         return ptlAgreements;
     }
 

+ 13 - 1
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysAppManageServiceImpl.java

@@ -5,20 +5,32 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.po.SysAppManage;
+import com.jzg.commons.entity.po.SysUploadFiles;
 import com.jzg.commons.entity.vo.SysAppManageVo;
+import com.jzg.commons.util.MinioUtils;
 import com.jzg.organization.mapper.SysAppManageMapper;
+import com.jzg.organization.mapper.SysUploadFilesMapper;
 import com.jzg.organization.service.SysAppManageService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 
 @Service
 public class SysAppManageServiceImpl extends ServiceImpl<SysAppManageMapper, SysAppManage> implements SysAppManageService {
 
+    @Autowired
+    private SysUploadFilesMapper sysUploadFilesMapper;
+
     @Override
     public Page<SysAppManage> queryAppList(SysAppManageVo sysAppManageVo) {
         try {
             LambdaQueryWrapper<SysAppManage> lambdaQueryWrapper = new LambdaQueryWrapper<>();
-            return baseMapper.selectPage(sysAppManageVo.getPage(), lambdaQueryWrapper);
+            Page<SysAppManage> page = baseMapper.selectPage(sysAppManageVo.getPage(), lambdaQueryWrapper);
+            page.getRecords().forEach(item -> {
+                SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectById(item.getAppIcon());
+                item.setDownloadUrl(MinioUtils.getPresignedObjectUrl(sysUploadFiles.getBucketName(), sysUploadFiles.getFileName()));
+            });
+            return page;
         }catch (Exception e){
             e.printStackTrace();
             throw new RuntimeException("查询失败");

+ 6 - 6
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysVersionServiceImpl.java

@@ -10,8 +10,6 @@ import com.jzg.organization.service.SysVersionService;
 import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
 
-import java.util.List;
-
 /**
  * @author quchen
  * @date 2025/6/19 9:58
@@ -22,10 +20,12 @@ public class SysVersionServiceImpl extends ServiceImpl<SysVersionMapper, SysVers
     @Resource
     private SysVersionMapper sysVersionMapper;
     @Override
-    public SysVersion getMaxVersion(String appid) {
-        String maxVersion = sysVersionMapper.getMaxVersion(appid);
-        List<SysVersion> list = sysVersionMapper.selectList(new LambdaQueryWrapper<SysVersion>().eq(SysVersion::getVersion, maxVersion));
-        return list.get(0);
+    public SysVersion getMaxVersion(String appid,String packageType) {
+        return  baseMapper.selectOne(new LambdaQueryWrapper<>(SysVersion.class)
+                .eq(SysVersion::getAppId, appid)
+                .eq(SysVersion::getPackageType, packageType)
+                .orderByDesc(SysVersion::getCreateTime)
+                .last("LIMIT 1"));
     }
 
     @Override

+ 1 - 1
tenant/organization/src/main/resources/application-test.yml

@@ -3,7 +3,7 @@ server:
 spring:
   cloud:
     nacos:
-      server-addr: 172.24.144.223:8848
+      server-addr: 192.168.0.250:8848
       username: nacos
       password: nacos
       config:

+ 1 - 0
tenant/organization/src/main/resources/application.yml

@@ -92,6 +92,7 @@ tenant:
     - wechat_customer_service_recording
     - ins_fee_audit
     - sys_user_jzg_info_bank_card_record
+    - sys_app_manage
 
 
   ignoreLoginNames:

+ 3 - 0
tenant/organization/src/main/resources/mapper/SysVersionMapper.xml

@@ -20,6 +20,9 @@
         <if test="sysVersionVo.appName != null and sysVersionVo.appName != ''">
             and sv.appname = #{sysVersionVo.appName}
         </if>
+        <if test="sysVersionVo.packageType != null and sysVersionVo.packageType != ''">
+            and sv.package_type = #{sysVersionVo.packageType}
+        </if>
         <if test="sysVersionVo.appId != null and sysVersionVo.appId != ''">
             and sv.appid = #{sysVersionVo.appId}
         </if>