7f5afc54ecc8a744a332531b6cb77e597ffe4b93..578efc8ae695e7e6afbf9159fe0f0262548c8fb8
2026-03-30 wujianwei
新增线上环境
578efc 对比 | 目录
2026-03-30 wujianwei
新增推送
b8aaae 对比 | 目录
2个文件已修改
134 ■■■■■ 已修改文件
admin/config/prod/application-custom.yml 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api/src/main/java/com/ruoyi/api/third/controller/ReceivableBillApiController.java 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/config/prod/application-custom.yml
@@ -1,36 +1,36 @@
custom:
  rabbitmq:
    # 集群地址,用逗号分隔
    host: 172.16.24.14
    port: 5672
    virtual-host: GF_HOST
    username: admin
    password:
    host: 61.143.42.70
    port: 7008
    virtual-host: GF_HOST_TEST
    username: user_test
    password: testuser_&
  serialNumber:
    cache:
      enabled: true
  #服务 相关配置
  server:
    name: 管理系统 本地环境
    name: 管理系统 测试环境
    port: 8080 #访问端口
    servlet-context-path: / #上下文
    max-threads: 800 # # tomcat最大线程数,默认为200
    min-spare-threads: 30 # Tomcat启动初始化的线程数,默认值25
  # 登录
  login:
    captchaType: false # 验证码类型 math 数组计算 char 字符验证  false 不需要验证码
    captchaType: math # 验证码类型 math 数组计算 char 字符验证  false 不需要验证码
    # 锁定用户的次数 ,0 或者空为不锁定
    userLockCount: 5
    # 锁定用户的有效期(分钟)
    userLockExpireTime: 60
  #上传下载 相关配置
  upload:
    profile: /Users/xiongbenda/Desktop/temp/uploadPath #上传目录
    profile: /data/cwgl/uploadPath  #上传目录
    temp: temp  #临时文件夹
    multipart:
      max-file-size: 2GB # 单个文件大小
      max-request-size: 2GB # 设置总上传的文件大小
    network-path: "http://61.143.42.70:7000/cwgl-api/"
    network-path: "https://tmsapi.ygalogisticspark.com/api/"
  #日志 相关配置
  logback:
    path: logs/  #日志目录
@@ -39,11 +39,11 @@
  #数据库 相关配置
  datasource:
    master: #主数据库
      ip: 172.16.24.73 # IP
      port: 3306 #端口
      database: ruoyi-base #数据库名
      username: root #用户名
      password: 123456 #密码
      ip: 61.143.42.70 # IP
      port: 7006 #端口
      database: hc_cwxt #数据库名
      username:  #用户名
      password:  #密码
    slave: #从数据库
      enabled: false  #是否开启从数据库 关闭时以下信息可以不用配置
      ip:  # IP
@@ -51,6 +51,13 @@
      database:  #数据库名
      username:  #用户名
      password:  #密码
    cwsj: #从数据库
      enabled: true  #是否开启从数据库 关闭时以下信息可以不用配置
      ip: 61.143.42.70 # IP
      port: 12027 #端口
      database: zhjk_ot7 #数据库名
      username: root  #用户名
      password: Zh29_!DFFixS #密码
    druid: # 数据池
      statViewServlet: #管理控制台账号
        login-username: admin
@@ -63,7 +70,7 @@
    port: 6379 #端口
    password: #密码
    timeout: 10s #超时时间
    keyprefix: ruoyibasedev #存储key前缀,避免多套环境key相同
    keyprefix: cwxt:pro #存储key前缀,避免多套环境key相同
  #swagger相关配置
  swagger:
    enabled: true #是否开启
@@ -84,9 +91,11 @@
      /app/car/login
      /common/*
      /login
      /getSysInfo
      /captchaImage
      /actuator/**
      /*/api-docs
      /api/**
      /druid/**
      /webjars/**
      /swagger-resources/**
@@ -94,7 +103,28 @@
      /profile/**
      /system/dict/data/type/**
      /websocket/**
  # 车辆每日数据API配置
  vehicle-api:
    # API基础地址
    baseUrl: https://api.scania-cn.com/vehicleData
    # API认证信息
    appid: 0f4c9b15b6addc6f508e8944e046fa67
    secret: MGY0YzliMTViNmFkZGM2ZjUwOGU4OTQ0ZTA0NmZhNjc=
    # 接口超时设置(毫秒)
    timeout: 30000
    # 重试次数
    retryCount: 3
  driver:
    template1: /data/cwgl/chqjkcns.pdf
    template2: /data/cwgl/zjsf.pdf
    font: /data/cwgl/msyh.ttf
    font: /data/cwgl/msyh.ttf
  gdpaasApi:
    appid: "10006"
    sign: "fbd184d72c744daeb0bada07b2ebd722"
    salerTaxNum: "339901999999199"
    salerTel: "0756-77777777"
    extensionNumber: ""
    clerk: "钟文洋"
    salerAddress: "珠海市香洲区南屏镇通港一路120号"
    invoicingAddress: "http://localhost:6012/api/third/jyjy/common/invoicing"
    returnAddress: "http://172.16.24.19:6720/api/third/invoice"
api/src/main/java/com/ruoyi/api/third/controller/ReceivableBillApiController.java
@@ -272,25 +272,35 @@
            // 使用Map存储系统编号和ID的映射关系
            Map<String, Integer> systemNoToIdMap = new HashMap<>();
            
            // 批量插入后,ID已经自动设置到对象的id属性中
            for (ReceivableFeeManagement feeManagement : feeManagementList) {
                    // 假设插入后可以通过某种方式获取ID,这里简化处理
                    // 实际项目中可能需要根据业务逻辑获取ID
                    systemNoToIdMap.put(feeManagement.getSystemNo(), feeManagement.getId());
                systemNoToIdMap.put(feeManagement.getSystemNo(), feeManagement.getId());
            }
            
            // 设置费用明细的关联ID
            // 重新构建费用明细列表,正确设置关联ID
            List<ReceivableFeeDetail> finalFeeDetailList = new ArrayList<>();
            for (int i = 0; i < feeManagementList.size(); i++) {
                ReceivableFeeManagement feeManagement = feeManagementList.get(i);
            int detailIndex = 0;
            for (ReceivableFeeManagement feeManagement : feeManagementList) {
                Integer feeId = systemNoToIdMap.get(feeManagement.getSystemNo());
                
                if (feeId != null && i < feeDetailList.size()) {
                    ReceivableFeeDetail feeDetail = feeDetailList.get(i);
                    feeDetail.setReceivableFeeId(feeId);
                    finalFeeDetailList.add(feeDetail);
                if (feeId != null) {
                    // 获取该费用管理记录对应的费用明细数量
                    int detailCount = 0;
                    for (ReceivableBillApiDto.ReceivableFeeDto feeDto : fees) {
                        if (feeDto.getDocumentNo().equals(feeManagement.getDocumentNo())) {
                            detailCount = feeDto.getFeeDetails() != null ? feeDto.getFeeDetails().size() : 0;
                            break;
                        }
                    }
                    // 设置对应数量的费用明细的关联ID
                    for (int i = 0; i < detailCount && detailIndex < feeDetailList.size(); i++) {
                        ReceivableFeeDetail feeDetail = feeDetailList.get(detailIndex);
                        feeDetail.setReceivableFeeId(feeId);
                        finalFeeDetailList.add(feeDetail);
                        detailIndex++;
                    }
                }
            }
            
@@ -505,25 +515,35 @@
            // 使用Map存储系统编号和ID的映射关系
            Map<String, Integer> systemNoToIdMap = new HashMap<>();
            
            // 批量保存费用管理信息并获取ID
            // 批量插入后,ID已经自动设置到对象的id属性中
            for (PayableFeeManagement feeManagement : feeManagementList) {
                    // 假设插入后可以通过某种方式获取ID,这里简化处理
                    // 实际项目中可能需要根据业务逻辑获取ID
                    systemNoToIdMap.put(feeManagement.getSystemNo(), feeManagement.getId());
                systemNoToIdMap.put(feeManagement.getSystemNo(), feeManagement.getId());
            }
            
            // 设置费用明细的关联ID
            // 重新构建费用明细列表,正确设置关联ID
            List<PayableFeeDetail> finalFeeDetailList = new ArrayList<>();
            for (int i = 0; i < feeManagementList.size(); i++) {
                PayableFeeManagement feeManagement = feeManagementList.get(i);
            int detailIndex = 0;
            for (PayableFeeManagement feeManagement : feeManagementList) {
                Integer feeId = systemNoToIdMap.get(feeManagement.getSystemNo());
                
                if (feeId != null && i < feeDetailList.size()) {
                    PayableFeeDetail feeDetail = feeDetailList.get(i);
                    feeDetail.setPayableFeeId(feeId);
                    finalFeeDetailList.add(feeDetail);
                if (feeId != null) {
                    // 获取该费用管理记录对应的费用明细数量
                    int detailCount = 0;
                    for (PayableBillApiDto.PayableFeeDto feeDto : fees) {
                        if (feeDto.getDocumentNo().equals(feeManagement.getDocumentNo())) {
                            detailCount = feeDto.getFeeDetails() != null ? feeDto.getFeeDetails().size() : 0;
                            break;
                        }
                    }
                    // 设置对应数量的费用明细的关联ID
                    for (int i = 0; i < detailCount && detailIndex < feeDetailList.size(); i++) {
                        PayableFeeDetail feeDetail = feeDetailList.get(detailIndex);
                        feeDetail.setPayableFeeId(feeId);
                        finalFeeDetailList.add(feeDetail);
                        detailIndex++;
                    }
                }
            }