Răsfoiți Sursa

Merge remote-tracking branch 'origin/dev' into dev

xucaiqin 2 ani în urmă
părinte
comite
1523f4c53c
20 a modificat fișierele cu 270 adăugiri și 49 ștergeri
  1. 54 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/FileUtils.java
  2. 5 11
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/CommonBusinessService.java
  3. 37 5
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java
  4. 36 5
      sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeService.java
  5. 9 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfDriverCardDto.java
  6. 9 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfDriverLicenseDto.java
  7. 9 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfDriverQualificationDto.java
  8. 9 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfTransportLicenseDto.java
  9. 9 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfTruckLicenseDto.java
  10. 8 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfDriverCardVo.java
  11. 8 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfDriverLicenseVo.java
  12. 8 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfDriverQualificationVo.java
  13. 9 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfTransportLicenseVo.java
  14. 9 0
      sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfTruckLicenseVo.java
  15. 3 1
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsImageService.java
  16. 28 10
      sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java
  17. 4 0
      sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java
  18. 12 14
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderService.java
  19. 2 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/TransportCommonService.java
  20. 2 1
      sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml

+ 54 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/FileUtils.java

@@ -162,9 +162,62 @@ public class FileUtils {
         if (StringUtils.isBlank(replace)) {
             return null;
         }
-        return stringBuilder.append(getOSSAddressPrefix()).append(BASE_DIR).append(replace).toString();
+        return stringBuilder.append(getOSSAddressPrefix()).append(replace).toString();
     }
 
+
+    /**
+     * 分割上传地址 目前仅用于oss
+     *
+     * @param replace 上传的绝对路径
+     * @return 分割后的相对路径
+     */
+    public static String replaceAllBatch(String replace) {
+        StringBuilder stringBuilder = new StringBuilder();
+        if (StringUtils.isBlank(replace)) {
+            return null;
+        }
+        String[] split = replace.split(",");
+        if (split.length > 0) {
+            for (int i = 0; i < split.length; i++) {
+                if (i != (split.length - 1)) {
+                    stringBuilder.append(split[i].replaceAll(getOSSAddressPrefix(), "")).append(",");
+                } else {
+                    stringBuilder.append(split[i].replaceAll(getOSSAddressPrefix(), ""));
+                }
+
+            }
+            return stringBuilder.toString();
+        }
+        return null;
+    }
+
+    /**
+     * 拼接上传地址 目前仅用于oss
+     *
+     * @param replace 相对路径url
+     * @return 绝对路径url
+     */
+    public static String spliceBatch(String replace) {
+        StringBuilder stringBuilder = new StringBuilder();
+        if (StringUtils.isBlank(replace)) {
+            return null;
+        }
+        String[] split = replace.split(",");
+        if (split.length > 0) {
+            for (int i = 0; i < split.length; i++) {
+                if (i != (split.length - 1)) {
+                    stringBuilder.append(getOSSAddressPrefix()).append(split[i]).append(",");
+                } else {
+                    stringBuilder.append(getOSSAddressPrefix()).append(split[i]);
+                }
+            }
+            return stringBuilder.toString();
+        }
+        return null;
+    }
+
+
     /**
      * 获取指定文件或文件夹的后缀名
      *

+ 5 - 11
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/CommonBusinessService.java

@@ -17,12 +17,9 @@ import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.constant.Global;
 import com.sckw.core.model.enums.ClientTypeEnum;
 import com.sckw.core.model.enums.CooperateTypeEnum;
-import com.sckw.core.utils.AsyncThreadUtils;
-import com.sckw.core.utils.BeanUtils;
+import com.sckw.core.utils.*;
 import lombok.RequiredArgsConstructor;
 import org.springframework.cloud.stream.function.StreamBridge;
-import com.sckw.core.utils.OkHttpUtils;
-import com.sckw.core.utils.UUIDUtils;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.order.api.dubbo.TradeOrderInfoService;
@@ -265,8 +262,8 @@ public class CommonBusinessService {
      * @author: czh
      * @date: 2023/8/14
      */
-    public void postToEsign(String firstAccount, String secondAccount, Long orgFirst, Long orgSeconId, String contractFile, Long id, String contractName, String filePathPrefix) {
-        AsyncFactory.execute(new AsyncProcess(firstAccount, secondAccount, orgFirst, orgSeconId, contractFile, id, contractName, remoteSystemService, eSignUrl, kwcContractLogisticsMapper, kwcContractTradeMapper, filePathPrefix));
+    public void postToEsign(String firstAccount, String secondAccount, Long orgFirst, Long orgSeconId, String contractFile, Long id, String contractName) {
+        AsyncFactory.execute(new AsyncProcess(firstAccount, secondAccount, orgFirst, orgSeconId, contractFile, id, contractName, remoteSystemService, eSignUrl, kwcContractLogisticsMapper, kwcContractTradeMapper));
     }
 
 
@@ -312,7 +309,6 @@ public class CommonBusinessService {
         private final String contractFile;
         private final Long id;
         private final String contractName;
-        private final String filePathPrefix;
 
         private RemoteSystemService remoteSystemService;
         private String eSignUrl;
@@ -329,8 +325,7 @@ public class CommonBusinessService {
                             RemoteSystemService remoteSystemService,
                             String eSignUrl,
                             KwcContractLogisticsMapper kwcContractLogisticsMapper,
-                            KwcContractTradeMapper kwcContractTradeMapper,
-                            String filePathPrefix) {
+                            KwcContractTradeMapper kwcContractTradeMapper) {
             this.firstAccount = firstAccount;
             this.secondAccount = secondAccount;
             this.orgFirst = orgFirst;
@@ -342,7 +337,6 @@ public class CommonBusinessService {
             this.eSignUrl = eSignUrl;
             this.kwcContractLogisticsMapper = kwcContractLogisticsMapper;
             this.kwcContractTradeMapper = kwcContractTradeMapper;
-            this.filePathPrefix = filePathPrefix;
         }
 
         @Override
@@ -351,7 +345,7 @@ public class CommonBusinessService {
             JSONArray jsonArray = JSONArray.parseArray(contractFile);
             JSONObject jsonObject = jsonArray.getJSONObject(0);
             String fileName = jsonObject.getString("name");
-            String url = filePathPrefix + jsonObject.getString("url");
+            String url = FileUtils.splice(jsonObject.getString("url"));
             File file = getFileByHttpURL(url, fileName);
             List<Long> entIds = new ArrayList<>(2);
             entIds.add(orgFirst);

+ 37 - 5
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractLogisticsService.java

@@ -1,8 +1,12 @@
 package com.sckw.contract.service;
 
+import java.io.File;
 import java.util.Date;
 
 import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
@@ -143,7 +147,17 @@ public class KwcContractLogisticsService {
         long contactId = new IdWorker(1L).nextId();
         kwcContractLogistics.setId(contactId);
         kwcContractLogistics.setStatus(ContractStatusEnum.SAVE.getCode());
-        kwcContractLogistics.setSigningUrl(reqVo.getContractFile());
+        String contractFile = reqVo.getContractFile();
+        if (StringUtils.isNotBlank(contractFile)) {
+            JSONArray jsonArray = JSONArray.parseArray(contractFile);
+            for (int n = 0; n < jsonArray.size(); n++) {
+                JSONObject jsonObject = jsonArray.getJSONObject(n);
+                String url = jsonObject.getString("url");
+                jsonObject.put("url", FileUtils.replaceAll(url));
+            }
+            kwcContractLogistics.setSigningUrl(JSON.toJSONString(jsonArray));
+        }
+
         if (kwcContractLogisticsMapper.insert(kwcContractLogistics) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
         }
@@ -347,8 +361,27 @@ public class KwcContractLogisticsService {
 
         //合同文件
         List<String> fileList = new ArrayList<>();
-        fileList.add(kwcContractLogistics.getSignedUrl());
-        fileList.add(kwcContractLogistics.getSigningUrl());
+        String signedUrl = kwcContractLogistics.getSignedUrl();
+        if (StringUtils.isNotBlank(signedUrl)) {
+            JSONArray jsonArray = JSONArray.parseArray(signedUrl);
+            for (int n = 0; n < jsonArray.size(); n++) {
+                JSONObject jsonObject = jsonArray.getJSONObject(n);
+                String url = jsonObject.getString("url");
+                jsonObject.put("url", FileUtils.splice(url));
+            }
+            fileList.add(JSON.toJSONString(jsonArray));
+        }
+
+        String signingUrl = kwcContractLogistics.getSigningUrl();
+        if (StringUtils.isNotBlank(signingUrl)) {
+            JSONArray jsonArray = JSONArray.parseArray(signingUrl);
+            for (int n = 0; n < jsonArray.size(); n++) {
+                JSONObject jsonObject = jsonArray.getJSONObject(n);
+                String url = jsonObject.getString("url");
+                jsonObject.put("url", FileUtils.splice(url));
+            }
+            fileList.add(JSON.toJSONString(jsonArray));
+        }
         contractLogisticsDetailResVo.setContractFile(fileList.stream().filter(StringUtils::isNotBlank).toList());
 
         //审批流程信息
@@ -413,8 +446,7 @@ public class KwcContractLogisticsService {
                     reqVo.getBaseInfo().getCarrierEntId(),
                     reqVo.getContractFile(),
                     id,
-                    reqVo.getBaseInfo().getContractName(),
-                    filePathPrefix);
+                    reqVo.getBaseInfo().getContractName());
             //发送消息
             sendLogisticsMessage(kwcContractLogistics);
         }

+ 36 - 5
sckw-modules/sckw-contract/src/main/java/com/sckw/contract/service/KwcContractTradeService.java

@@ -7,6 +7,8 @@ import cn.hutool.core.date.DatePattern;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
@@ -228,7 +230,17 @@ public class KwcContractTradeService {
         long contactId = new IdWorker(1L).nextId();
         kwcContractTrade.setId(contactId);
         kwcContractTrade.setStatus(ContractStatusEnum.SAVE.getCode());
-        kwcContractTrade.setSigningUrl(reqVo.getContractFile());
+        String contractFile = reqVo.getContractFile();
+        if (StringUtils.isNotBlank(contractFile)) {
+            JSONArray jsonArray = JSONArray.parseArray(contractFile);
+            for (int n = 0; n < jsonArray.size(); n++) {
+                JSONObject jsonObject = jsonArray.getJSONObject(n);
+                String url = jsonObject.getString("url");
+                jsonObject.put("url", FileUtils.replaceAll(url));
+            }
+            kwcContractTrade.setSigningUrl(JSON.toJSONString(jsonArray));
+        }
+
         if (kwcContractTradeMapper.insert(kwcContractTrade) <= 0) {
             throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
         }
@@ -427,8 +439,28 @@ public class KwcContractTradeService {
 
         //合同文件
         List<String> fileList = new ArrayList<>();
-        fileList.add(kwcContractTrade.getSigningUrl());
-        fileList.add(kwcContractTrade.getSignedUrl());
+        String signedUrl = kwcContractTrade.getSignedUrl();
+        if (StringUtils.isNotBlank(signedUrl)) {
+            JSONArray jsonArray = JSONArray.parseArray(signedUrl);
+            for (int n = 0; n < jsonArray.size(); n++) {
+                JSONObject jsonObject = jsonArray.getJSONObject(n);
+                String url = jsonObject.getString("url");
+                jsonObject.put("url", FileUtils.splice(url));
+            }
+            fileList.add(JSON.toJSONString(jsonArray));
+        }
+
+        String signingUrl = kwcContractTrade.getSigningUrl();
+        if (StringUtils.isNotBlank(signingUrl)) {
+            JSONArray jsonArray = JSONArray.parseArray(signingUrl);
+            for (int n = 0; n < jsonArray.size(); n++) {
+                JSONObject jsonObject = jsonArray.getJSONObject(n);
+                String url = jsonObject.getString("url");
+                jsonObject.put("url", FileUtils.splice(url));
+            }
+            fileList.add(JSON.toJSONString(jsonArray));
+        }
+        
         contractTradeDetailResVo.setContractFile(fileList.stream().filter(StringUtils::isNotBlank).toList());
 
         //流程记录
@@ -492,8 +524,7 @@ public class KwcContractTradeService {
                     reqVo.getBaseInfo().getPurchaseEntId(),
                     reqVo.getContractFile(),
                     id,
-                    reqVo.getBaseInfo().getContractName(),
-                    filePathPrefix);
+                    reqVo.getBaseInfo().getContractName());
             sendTradeMessage(kwcContractTrade);
         }
 

+ 9 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfDriverCardDto.java

@@ -1,6 +1,7 @@
 package com.sckw.fleet.model.dto;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.core.utils.FileUtils;
 import jakarta.validation.constraints.Pattern;
 import jakarta.validation.constraints.Size;
 import lombok.Data;
@@ -56,4 +57,12 @@ public class KwfDriverCardDto {
      */
     @Size(max=100, message = "证书反面URL地址长度不能大于1000个字符!")
     private String certificateRevolt;
+
+    public void setCertificateMain(String certificateMain) {
+        this.certificateMain = FileUtils.replaceAll(certificateMain);
+    }
+
+    public void setCertificateRevolt(String certificateRevolt) {
+        this.certificateRevolt = FileUtils.replaceAll(certificateRevolt);
+    }
 }

+ 9 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfDriverLicenseDto.java

@@ -1,6 +1,7 @@
 package com.sckw.fleet.model.dto;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.core.utils.FileUtils;
 import jakarta.validation.constraints.Size;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -60,4 +61,12 @@ public class KwfDriverLicenseDto {
      */
     @Size(max=100, message = "证书反面URL地址长度不能大于1000个字符!")
     private String certificateRevolt;
+
+    public void setCertificateMain(String certificateMain) {
+        this.certificateMain = FileUtils.replaceAll(certificateMain);
+    }
+
+    public void setCertificateRevolt(String certificateRevolt) {
+        this.certificateRevolt = FileUtils.replaceAll(certificateRevolt);
+    }
 }

+ 9 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfDriverQualificationDto.java

@@ -1,6 +1,7 @@
 package com.sckw.fleet.model.dto;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.core.utils.FileUtils;
 import jakarta.validation.constraints.Size;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -60,4 +61,12 @@ public class KwfDriverQualificationDto {
      */
     @Size(max=100, message = "证书反面URL地址长度不能大于100个字符!")
     private String certificateRevolt;
+
+    public void setCertificateMain(String certificateMain) {
+        this.certificateMain = FileUtils.replaceAll(certificateMain);
+    }
+
+    public void setCertificateRevolt(String certificateRevolt) {
+        this.certificateRevolt = FileUtils.replaceAll(certificateRevolt);
+    }
 }

+ 9 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfTransportLicenseDto.java

@@ -1,6 +1,7 @@
 package com.sckw.fleet.model.dto;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.core.utils.FileUtils;
 import jakarta.validation.constraints.Size;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -74,4 +75,12 @@ public class KwfTransportLicenseDto {
      */
     @Size(max=100, message = "证书反面URL地址长度不能大于100个字符!")
     private String certificateRevolt;
+
+    public void setCertificateMain(String certificateMain) {
+        this.certificateMain = FileUtils.replaceAll(certificateMain);
+    }
+
+    public void setCertificateRevolt(String certificateRevolt) {
+        this.certificateRevolt = FileUtils.replaceAll(certificateRevolt);
+    }
 }

+ 9 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/dto/KwfTruckLicenseDto.java

@@ -1,6 +1,7 @@
 package com.sckw.fleet.model.dto;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.core.utils.FileUtils;
 import jakarta.validation.constraints.Size;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -75,4 +76,12 @@ public class KwfTruckLicenseDto {
     @Size(max=100, message = "证书反面URL地址长度不能大于100个字符!")
     private String certificateRevolt;
 
+    public void setCertificateMain(String certificateMain) {
+        this.certificateMain = FileUtils.replaceAll(certificateMain);
+    }
+
+    public void setCertificateRevolt(String certificateRevolt) {
+        this.certificateRevolt = FileUtils.replaceAll(certificateRevolt);
+    }
+
 }

+ 8 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfDriverCardVo.java

@@ -1,6 +1,7 @@
 package com.sckw.fleet.model.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.core.utils.FileUtils;
 import lombok.Data;
 import java.io.Serializable;
 import java.util.Date;
@@ -49,4 +50,11 @@ public class KwfDriverCardVo implements Serializable{
      */
     private Integer status;
 
+    public String getCertificateMain() {
+        return FileUtils.splice(certificateMain);
+    }
+
+    public String getCertificateRevolt() {
+        return FileUtils.splice(certificateRevolt);
+    }
 }

+ 8 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfDriverLicenseVo.java

@@ -1,6 +1,7 @@
 package com.sckw.fleet.model.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.core.utils.FileUtils;
 import lombok.Data;
 import java.io.Serializable;
 import java.util.Date;
@@ -59,4 +60,11 @@ public class KwfDriverLicenseVo implements Serializable{
      */
     private Integer status;
 
+    public String getCertificateMain() {
+        return FileUtils.splice(certificateMain);
+    }
+
+    public String getCertificateRevolt() {
+        return FileUtils.splice(certificateRevolt);
+    }
 }

+ 8 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfDriverQualificationVo.java

@@ -1,6 +1,7 @@
 package com.sckw.fleet.model.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.core.utils.FileUtils;
 import lombok.Data;
 import java.io.Serializable;
 import java.util.Date;
@@ -59,4 +60,11 @@ public class KwfDriverQualificationVo implements Serializable {
      */
     private Integer status;
 
+    public String getCertificateMain() {
+        return FileUtils.splice(certificateMain);
+    }
+
+    public String getCertificateRevolt() {
+        return FileUtils.splice(certificateRevolt);
+    }
 }

+ 9 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfTransportLicenseVo.java

@@ -1,6 +1,7 @@
 package com.sckw.fleet.model.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.core.utils.FileUtils;
 import lombok.Data;
 import java.io.Serializable;
 import java.util.Date;
@@ -65,4 +66,12 @@ public class KwfTransportLicenseVo implements Serializable {
      */
     private Integer status;
 
+    public String getCertificateMain() {
+        return FileUtils.splice(certificateMain);
+    }
+
+    public String getCertificateRevolt() {
+        return FileUtils.splice(certificateRevolt);
+    }
+
 }

+ 9 - 0
sckw-modules/sckw-fleet/src/main/java/com/sckw/fleet/model/vo/KwfTruckLicenseVo.java

@@ -1,6 +1,7 @@
 package com.sckw.fleet.model.vo;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.sckw.core.utils.FileUtils;
 import lombok.Data;
 import java.io.Serializable;
 import java.util.Date;
@@ -65,4 +66,12 @@ public class KwfTruckLicenseVo implements Serializable {
      */
     private Integer status;
 
+    public String getCertificateMain() {
+        return FileUtils.splice(certificateMain);
+    }
+
+    public String getCertificateRevolt() {
+        return FileUtils.splice(certificateRevolt);
+    }
+
 }

+ 3 - 1
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsImageService.java

@@ -3,6 +3,7 @@ package com.sckw.product.service;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.sckw.core.model.constant.Global;
+import com.sckw.core.utils.CollectionUtils;
 import com.sckw.product.dao.KwpGoodsImageMapper;
 import com.sckw.product.model.KwpGoodsImage;
 import lombok.RequiredArgsConstructor;
@@ -45,7 +46,8 @@ public class KwpGoodsImageService {
         LambdaQueryWrapper<KwpGoodsImage> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(KwpGoodsImage::getGoodsId, goodsId).eq(KwpGoodsImage::getDelFlag, Global.NO)
                 .orderByAsc(KwpGoodsImage::getSort);
-        return kwpGoodsImageMapper.selectList(wrapper);
+        List<KwpGoodsImage> list = kwpGoodsImageMapper.selectList(wrapper);
+        return CollectionUtils.emptyIfNull(list);
     }
 
     /**

+ 28 - 10
sckw-modules/sckw-product/src/main/java/com/sckw/product/service/KwpGoodsService.java

@@ -14,10 +14,7 @@ import com.sckw.core.model.page.PageResult;
 import com.sckw.core.model.vo.TableBottom;
 import com.sckw.core.model.vo.TableStatisticRes;
 import com.sckw.core.model.vo.TableTop;
-import com.sckw.core.utils.BeanUtils;
-import com.sckw.core.utils.CollectionUtils;
-import com.sckw.core.utils.NumberUtils;
-import com.sckw.core.utils.StringUtils;
+import com.sckw.core.utils.*;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.excel.utils.DateUtil;
@@ -105,7 +102,8 @@ public class KwpGoodsService {
         if (Objects.nonNull(address)) {
             goods.setAreaCode(address.getCityCode()).setAddressName(address.getName());
         }
-        goods.setEntId(LoginUserHolder.getEntId()).setStatus(GoodsStatusEnum.SAVED.getCode());
+        goods.setEntId(LoginUserHolder.getEntId()).setThumb(FileUtils.replaceAll(goods.getThumb()))
+                .setStatus(GoodsStatusEnum.SAVED.getCode());
         kwpGoodsMapper.insert(goods);
         //添加商品其他信息
         addGoodsOtherInfo(goods.getId(), BeanUtils.copyProperties(param, AddGoodsParam.class));
@@ -130,7 +128,8 @@ public class KwpGoodsService {
         KwpGoods goods = BeanUtils.copyProperties(param, KwpGoods.class);
         AddressInfo address = param.getAddressInfo();
         goods.setCode(NumberUtils.createRandomVcode()).setAreaCode(address.getCityCode()).setAddressName(address.getName())
-                .setEntId(LoginUserHolder.getEntId()).setAddedTime(new Date()).setStatus(GoodsStatusEnum.PUT_ON_SHELVES.getCode());
+                .setThumb(FileUtils.replaceAll(goods.getThumb())).setEntId(LoginUserHolder.getEntId())
+                .setAddedTime(new Date()).setStatus(GoodsStatusEnum.PUT_ON_SHELVES.getCode());
         kwpGoodsMapper.insert(goods);
         //添加商品其他信息
         addGoodsOtherInfo(goods.getId(), param);
@@ -168,6 +167,7 @@ public class KwpGoodsService {
             List<KwpGoodsImage> list = new ArrayList<>(images.size());
             images.forEach(e -> {
                 KwpGoodsImage image = BeanUtils.copyProperties(e, KwpGoodsImage.class);
+                image.setImage(FileUtils.replaceAll(e.getImage()));
                 image.setGoodsId(goodsId);
                 list.add(image);
             });
@@ -217,7 +217,8 @@ public class KwpGoodsService {
             RecommendGoods recommendGoods = BeanUtils.copyProperties(e, RecommendGoods.class);
             List<KwpGoodsPriceRange> prices = map.get(recommendGoods.getId());
             recommendGoods.setUnitLabel(CollectionUtils.isNotEmpty(unitMap) ? unitMap.get(recommendGoods.getUnit()) : null)
-                    .setPrice(CollectionUtils.isNotEmpty(prices) ? prices.get(0).getPrice() : null);
+                    .setPrice(CollectionUtils.isNotEmpty(prices) ? prices.get(0).getPrice() : null)
+                    .setThumb(FileUtils.splice(e.getThumb()));
             recommendGoodsList.add(recommendGoods);
         });
         detail.setRecommendGoodsList(recommendGoodsList);
@@ -271,7 +272,13 @@ public class KwpGoodsService {
                 .setStatusLabel(CollectionUtils.isNotEmpty(goodsStatusMap) ? goodsStatusMap.get(String.valueOf(detail.getStatus())) : null)
                 .setPrepaidLimitLabel(Objects.equals(detail.getPrepaidLimit(), 1) ? "是" : "否");
         //商品图片信息
+        if (Objects.nonNull(goods.getThumb())) {
+            detail.setThumb(FileUtils.splice(goods.getThumb()));
+        }
         List<KwpGoodsImage> goodsImages = kwpGoodsImageService.getByGoodsId(id);
+        goodsImages.forEach(e -> {
+            e.setImage(FileUtils.splice(e.getImage()));
+        });
         List<GoodsImagesDetail> images = BeanUtils.copyToList(goodsImages, GoodsImagesDetail.class);
         //商品价格段信息
         List<KwpGoodsPriceRange> priceRanges = kwpGoodsPriceRangeService.getByGoodsId(id);
@@ -337,7 +344,7 @@ public class KwpGoodsService {
                 .set(KwpGoods::getSupplyEntId, param.getSupplyEntId())
                 .set(KwpGoods::getManager, param.getManager())
                 .set(KwpGoods::getRemark, param.getRemark())
-                .set(KwpGoods::getThumb, param.getThumb())
+                .set(KwpGoods::getThumb, FileUtils.replaceAll(param.getThumb()))
                 .set(KwpGoods::getAreaCode, areaCode)
                 .set(KwpGoods::getAddressName, addressName)
                 .eq(KwpGoods::getId, param.getId());
@@ -380,7 +387,7 @@ public class KwpGoodsService {
             List<KwpGoodsImage> list = new ArrayList<>(param.getImages().size());
             param.getImages().forEach(e -> {
                 KwpGoodsImage image = BeanUtils.copyProperties(e, KwpGoodsImage.class);
-                image.setGoodsId(goodsId);
+                image.setGoodsId(goodsId).setImage(FileUtils.replaceAll(image.getImage()));
                 list.add(image);
             });
             kwpGoodsImageService.insertBatch(list);
@@ -705,6 +712,7 @@ public class KwpGoodsService {
                     .setAddress(addressMap.get(id)).setSupplyEnt(entMap.get(e.getSupplyEntId()))
                     .setManageName(Objects.nonNull(manager) ? manager.getName() : null)
                     .setPhone(Objects.nonNull(manager) ? manager.getPhone() : null)
+                    .setThumb(FileUtils.splice(e.getThumb()))
                     .setCreateByName(Objects.nonNull(createUser) ? createUser.getName() : null);
             List<KwpGoodsPriceRange> priceRanges = priceRangeMap.get(id);
             if (CollectionUtils.isNotEmpty(priceRanges)) {
@@ -912,6 +920,7 @@ public class KwpGoodsService {
                     .setAddressName(Objects.isNull(address) ? null : address.getCityName())
                     .setDetailAddress(Objects.isNull(address) ? null : address.getDetailAddress())
                     .setPrice(CollectionUtils.isEmpty(priceRanges) ? null : priceRanges.get(0).getPrice())
+                    .setThumb(FileUtils.splice(e.getThumb()))
                     .setSupplyEnt(entMap.get(e.getSupplyEntId()));
             result.add(materials);
         });
@@ -989,7 +998,11 @@ public class KwpGoodsService {
      * @return: java.util.List<com.sckw.product.model.KwpGoods>
      */
     public KwpGoods selectById(Long id) {
-        return kwpGoodsMapper.selectById(id);
+        KwpGoods goods = kwpGoodsMapper.selectById(id);
+        if (Objects.nonNull(goods)) {
+            goods.setThumb(FileUtils.splice(goods.getThumb()));
+        }
+        return goods;
     }
 
 
@@ -1002,6 +1015,11 @@ public class KwpGoodsService {
      */
     public List<KwpGoods> selectByIds(List<Long> ids) {
         List<KwpGoods> list = kwpGoodsMapper.selectBatchIds(ids);
+        if (CollectionUtils.isNotEmpty(list)) {
+            list.forEach(e -> {
+                e.setThumb(FileUtils.splice(e.getThumb()));
+            });
+        }
         return CollectionUtils.emptyIfNull(list);
     }
 

+ 4 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java

@@ -375,6 +375,8 @@ public class KwsEnterpriseService {
             kwsEntCertificate.setStatus(ApprovalEnum.PROCESS.getCode());
             BeanUtils.copyProperties(businessLicense, kwsEntCertificate);
             kwsEntCertificate.setId(new IdWorker(1).nextId());
+            kwsEntCertificate.setCertificateMain(FileUtils.replaceAll(businessLicense.getCertificateMain()));
+            kwsEntCertificate.setCertificateRevolt(FileUtils.replaceAll(businessLicense.getCertificateRevolt()));
             kwsEntCertificates.add(kwsEntCertificate);
         }
         if (kwsEntCertificateDao.saveBatch(kwsEntCertificates) != kwsEntCertificates.size()) {
@@ -620,6 +622,8 @@ public class KwsEnterpriseService {
             CertificateResVo certificateResVo = new CertificateResVo();
             certificateResVo.setTypeName(Objects.requireNonNull(CertificateTypeEnum.getName(item.getType())).getName());
             BeanUtils.copyProperties(item, certificateResVo);
+            certificateResVo.setCertificateMain(FileUtils.splice(certificateResVo.getCertificateMain()));
+            certificateResVo.setCertificateRevolt(FileUtils.splice(certificateResVo.getCertificateRevolt()));
             list.add(certificateResVo);
         });
         return list;

+ 12 - 14
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/KwtWaybillOrderService.java

@@ -2072,12 +2072,10 @@ public class KwtWaybillOrderService {
         wOrder.set_id(waybillOrder.getId());
         wOrder.setLoadAmount(params.getType() == Global.NUMERICAL_ONE ? params.getAmount() : null);
         wOrder.setLoadTime(params.getType() == Global.NUMERICAL_ONE ? params.getOperateTime() : null);
-        wOrder.setLoadUrls(params.getType() == Global.NUMERICAL_ONE ? params.getUrls() : null);
-
+        wOrder.setLoadUrls(params.getType() == Global.NUMERICAL_ONE ? FileUtils.replaceAllBatch(params.getUrls()) : null);
         wOrder.setUnloadAmount(params.getType() == Global.NUMERICAL_TWO ? params.getAmount() : null);
         wOrder.setUnloadTime(params.getType() == Global.NUMERICAL_TWO ? params.getOperateTime() : null);
-        wOrder.setUnloadUrls(params.getType() == Global.NUMERICAL_TWO ? params.getUrls() : null);
-
+        wOrder.setUnloadUrls(params.getType() == Global.NUMERICAL_TWO ? FileUtils.replaceAllBatch(params.getUrls()) : null);
         wOrder.setDeficitAmount(waybillOrder.getDeficitAmount());
         wOrder.setDeficitPrice(waybillOrder.getDeficitPrice());
         editSckwWaybillOrder(wOrder, waybillOrder, Global.NUMERICAL_TWO);
@@ -2126,12 +2124,12 @@ public class KwtWaybillOrderService {
         /**3更新榜单信息**/
         KwtWaybillOrderTicket loadTicket = waybillOrderTicketDao.findWaybillOrderTicket(params.getWOrderId(), Global.NUMERICAL_ONE);
         loadTicket.setAmount(params.getLoadAmount());
-        loadTicket.setUrls(params.getLoadUrls());
+        loadTicket.setUrls(FileUtils.replaceAllBatch(params.getLoadUrls()));
         loadTicket.setOperateTime(params.getLoadOperateTime());
         waybillOrderTicketDao.updateById(loadTicket);
         KwtWaybillOrderTicket unloadTicket = waybillOrderTicketDao.findWaybillOrderTicket(params.getWOrderId(), Global.NUMERICAL_TWO);
         unloadTicket.setAmount(params.getUnloadAmount());
-        unloadTicket.setUrls(params.getUnloadUrls());
+        unloadTicket.setUrls(FileUtils.replaceAllBatch(params.getUnloadUrls()));
         unloadTicket.setOperateTime(params.getUnloadOperateTime());
         waybillOrderTicketDao.updateById(unloadTicket);
 
@@ -2144,10 +2142,10 @@ public class KwtWaybillOrderService {
         wOrder.set_id(waybillOrder.getId());
         wOrder.setLoadAmount(waybillOrder.getLoadAmount());
         wOrder.setLoadTime(params.getLoadOperateTime());
-        wOrder.setLoadUrls(params.getLoadUrls());
+        wOrder.setLoadUrls(FileUtils.replaceAllBatch(params.getLoadUrls()));
         wOrder.setUnloadAmount(waybillOrder.getUnloadAmount());
         wOrder.setUnloadTime(params.getUnloadOperateTime());
-        wOrder.setUnloadUrls(params.getUnloadUrls());
+        wOrder.setUnloadUrls(FileUtils.replaceAllBatch(params.getUnloadUrls()));
         wOrder.setDeficitAmount(waybillOrder.getDeficitAmount());
         wOrder.setDeficitPrice(waybillOrder.getDeficitPrice());
         editSckwWaybillOrder(wOrder, waybillOrder, Global.NUMERICAL_TWO);
@@ -2204,7 +2202,7 @@ public class KwtWaybillOrderService {
         result.put("goodsName", goods != null ? goods.getGoodsName() : null);
         result.put("loadStatus", loadTicket != null ? 0 : 1);
         result.put("loadAmount", loadTicket != null ? loadTicket.getAmount() : null);
-        result.put("loadUrls", loadTicket != null ? loadTicket.getUrls() : null);
+        result.put("loadUrls", loadTicket != null ? FileUtils.spliceBatch(loadTicket.getUrls()) : null);
         result.put("loadOperateTime", loadTicket != null ? loadTicket.getOperateTime() : null);
         result.put("loadCreateTime", loadTicket != null ? loadTicket.getCreateTime() : null);
         result.put("loadCreateByName", usersMap.get(loadTicket.getUpdateBy()));
@@ -2212,7 +2210,7 @@ public class KwtWaybillOrderService {
         result.put("loadDetailAddress", loadAddress != null ? loadAddress.getDetailAddress() : null);
         result.put("unloadStatus", loadTicket != null ? 0 : 1);
         result.put("unloadAmount", unloadTicket != null ? unloadTicket.getAmount() : null);
-        result.put("unloadUrls", unloadTicket != null ? unloadTicket.getUrls() : null);
+        result.put("unloadUrls", unloadTicket != null ? FileUtils.spliceBatch(unloadTicket.getUrls()) : null);
         result.put("unloadOperateTime", unloadTicket != null ? unloadTicket.getOperateTime() : null);
         result.put("unloadCreateTime", unloadTicket != null ? unloadTicket.getCreateTime() : null);
         result.put("unloadCreateByName", usersMap.get(unloadTicket.getUpdateBy()));
@@ -2349,12 +2347,12 @@ public class KwtWaybillOrderService {
         /**3更新榜单信息**/
         KwtWaybillOrderTicket loadTicket = waybillOrderTicketDao.findWaybillOrderTicket(params.getWOrderId(), Global.NUMERICAL_ONE);
         loadTicket.setAmount(params.getLoadAmount());
-        loadTicket.setUrls(params.getLoadUrls());
+        loadTicket.setUrls(FileUtils.replaceAllBatch(params.getLoadUrls()));
         loadTicket.setOperateTime(params.getLoadOperateTime());
         waybillOrderTicketDao.updateById(loadTicket);
         KwtWaybillOrderTicket unloadTicket = waybillOrderTicketDao.findWaybillOrderTicket(params.getWOrderId(), Global.NUMERICAL_TWO);
         unloadTicket.setAmount(params.getUnloadAmount());
-        unloadTicket.setUrls(params.getUnloadUrls());
+        unloadTicket.setUrls(FileUtils.replaceAllBatch(params.getUnloadUrls()));
         unloadTicket.setOperateTime(params.getUnloadOperateTime());
         waybillOrderTicketDao.updateById(unloadTicket);
 
@@ -2409,10 +2407,10 @@ public class KwtWaybillOrderService {
         wOrder.set_id(waybillOrder.getId());
         wOrder.setLoadAmount(waybillOrder.getLoadAmount());
         wOrder.setLoadTime(params.getLoadOperateTime());
-        wOrder.setLoadUrls(params.getLoadUrls());
+        wOrder.setLoadUrls(FileUtils.replaceAllBatch(params.getLoadUrls()));
         wOrder.setUnloadAmount(waybillOrder.getUnloadAmount());
         wOrder.setUnloadTime(params.getUnloadOperateTime());
-        wOrder.setUnloadUrls(params.getUnloadUrls());
+        wOrder.setUnloadUrls(FileUtils.replaceAllBatch(params.getUnloadUrls()));
         wOrder.setDeficitAmount(waybillOrder.getDeficitAmount());
         wOrder.setDeficitPrice(waybillOrder.getDeficitPrice());
         editSckwWaybillOrder(wOrder, waybillOrder, Global.NUMERICAL_TWO);

+ 2 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/TransportCommonService.java

@@ -722,7 +722,7 @@ public class TransportCommonService {
         /**运价方式*/
 //        Map<String, String> priceDictData = getDictData(DictTypeEnum.PRICE_TYPE.getType());
         /**计费方式*/
-//        Map<String, String> chargingDictData = getDictData(DictTypeEnum.CHARGING_TYPE.getType());
+        Map<String, String> chargingDictData = getDictData(DictTypeEnum.CHARGING_TYPE.getType());
         /**结算周期*/
         Map<String, String> settlementDictData = getDictData(DictTypeEnum.SETTLEMENT_CYCLE.getType());
         /**签约方式*/
@@ -731,6 +731,7 @@ public class TransportCommonService {
         Map<String, String> taxRateTypeDictData = getDictData(DictTypeEnum.TAX_RATE_TYPE.getType());
         if (CollectionUtils.isNotEmpty(list)) {
             for (SckwLogisticsOrderVO vo : list) {
+                vo.setBillingModeLabel(chargingDictData==null?null:chargingDictData.get(vo.getBillingMode()));
                 vo.setPaymentLabel(vo.getPayment() == null ? null : tradeTypeDictData.get(vo.getPayment().toString()));
                 vo.setStatusLabel(LogisticsOrderEnum.getDestination(vo.getStatus()));
                 vo.setLossUnitLabel(vo.getLossUnit() == null ? null : taxRateTypeDictData.get(vo.getLossUnit()));

+ 2 - 1
sckw-modules/sckw-transport/src/main/resources/mapper/KwtLogisticsOrderMapper.xml

@@ -222,7 +222,8 @@
         a.create_time AS createTime,
         f.contract_id AS contractId,
         a.amount AS amount,
-        c.detail_address as unloadDetailAddress
+        c.detail_address as unloadDetailAddress,
+        a.billing_mode as billingMode
         FROM
         kwt_logistics_order a
         LEFT JOIN kwt_logistics_order_address b ON a.id = b.l_order_id