13 Commits 47a8b49cdf ... 2b2a5665b7

Auteur SHA1 Bericht Datum
  Qchen 2b2a5665b7 修改 10 maanden geleden
  785834757 2fb84e8957 Merge remote-tracking branch 'origin/master' 10 maanden geleden
  785834757 8398286858 添加保司排序 10 maanden geleden
  xuqiang de9a2cfd99 Merge remote-tracking branch 'origin/master' 10 maanden geleden
  xuqiang fe40b95ffc app版本管理 10 maanden geleden
  dongxin 8ac58d89d0 Merge remote-tracking branch 'origin/master' 10 maanden geleden
  dongxin a81b5c25a8 日志bug 的修复 10 maanden geleden
  Qchen 5df226c330 费用修改 10 maanden geleden
  785834757 a684496eea 调整测试环境 10 maanden geleden
  Qchen 5008abdba3 Merge remote-tracking branch 'origin/master' 10 maanden geleden
  Qchen 51345b4821 修改bug 10 maanden geleden
  xuqiang b51dd706ad app版本管理 10 maanden geleden
  xuqiang cd31016349 app版本管理 10 maanden geleden
38 gewijzigde bestanden met toevoegingen van 519 en 99 verwijderingen
  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>