瀏覽代碼

1:迁移文件上传代码至core
2:上传代码新增dubbo以及前端调用接口
3:运输服务引用mybatis-plus

lengfaqiang 2 年之前
父節點
當前提交
d54a62371c
共有 35 個文件被更改,包括 849 次插入144 次删除
  1. 5 0
      pom.xml
  2. 17 0
      sckw-common/sckw-common-core/pom.xml
  3. 1 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/NumberConstant.java
  4. 3 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/StringConstant.java
  5. 1 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/AliyunOssFileTypeEnum.java
  6. 1 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/FileEnum.java
  7. 2 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/base/BaseModel.java
  8. 81 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/file/FileInfo.java
  9. 51 0
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/vo/FileInfoVO.java
  10. 166 17
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/FileUtils.java
  11. 3 1
      sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/response/HttpResult.java
  12. 0 5
      sckw-common/sckw-common-excel/pom.xml
  13. 6 5
      sckw-common/sckw-common-excel/src/main/java/com/sckw/excel/utils/ExcelUtil.java
  14. 54 0
      sckw-modules-api/sckw-file-api/src/main/java/com/sckw/file/api/dto/FileInfoDTO.java
  15. 34 0
      sckw-modules-api/sckw-file-api/src/main/java/com/sckw/file/api/dubbo/FileApiDubboService.java
  16. 3 0
      sckw-modules/sckw-example/src/main/java/com/sckw/example/ExampleApplication.java
  17. 24 7
      sckw-modules/sckw-example/src/main/java/com/sckw/example/controller/ExcelExportController.java
  18. 43 36
      sckw-modules/sckw-example/src/main/java/com/sckw/example/dubbo/FileApiServiceImpl.java
  19. 55 0
      sckw-modules/sckw-example/src/main/java/com/sckw/example/model/FileInfo.java
  20. 2 2
      sckw-modules/sckw-example/src/main/resources/bootstrap-dev.yml
  21. 45 1
      sckw-modules/sckw-file/src/main/java/com/sckw/file/controller/FileApiController.java
  22. 8 5
      sckw-modules/sckw-file/src/main/java/com/sckw/file/dao/KwsFileInfoDao.java
  23. 1 1
      sckw-modules/sckw-file/src/main/java/com/sckw/file/model/kwfFileInfo.java
  24. 33 18
      sckw-modules/sckw-file/src/main/java/com/sckw/file/service/FileService.java
  25. 0 36
      sckw-modules/sckw-file/src/main/java/com/sckw/file/service/dubbo/FileApiServiceImpl.java
  26. 83 0
      sckw-modules/sckw-file/src/main/java/com/sckw/file/service/dubbo/FileDubboApiService.java
  27. 2 2
      sckw-modules/sckw-file/src/main/resources/bootstrap-dev.yml
  28. 3 3
      sckw-modules/sckw-file/src/main/resources/mapper/KwsFileInfoDao.xml
  29. 2 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/TransPortApplication.java
  30. 24 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/ConsignOrderController.java
  31. 13 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/repository/KwtLogisticsOrderAddressRepository.java
  32. 1 1
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/SubcontractConsignmentDTO.java
  33. 16 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/ConsignOrderQuery.java
  34. 14 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ConsignOrderService.java
  35. 52 0
      sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/TransportCommonService.java

+ 5 - 0
pom.xml

@@ -240,6 +240,11 @@
                 <artifactId>mybatis-plus-boot-starter</artifactId>
                 <version>${mybatis-plus.version}</version>
             </dependency>
+            <dependency>
+                <groupId>com.baomidou</groupId>
+                <artifactId>mybatis-plus-annotation</artifactId>
+                <version>${mybatis-plus.version}</version>
+            </dependency>
             <!--多数据源-->
             <dependency>
                 <groupId>com.baomidou</groupId>

+ 17 - 0
sckw-common/sckw-common-core/pom.xml

@@ -39,6 +39,17 @@
             </exclusions>
         </dependency>
 
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+        </dependency>
+
+        <!--alibaba oss-->
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alicloud-oss</artifactId>
+        </dependency>
+
         <!--log4j2日志-->
         <!--全局日志排除-->
         <dependency>
@@ -152,5 +163,11 @@
             <groupId>com.sckw</groupId>
             <artifactId>sckw-common-redis</artifactId>
         </dependency>
+
+        <!--mybatis-plus 依赖-->
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-annotation</artifactId>
+        </dependency>
     </dependencies>
 </project>

+ 1 - 1
sckw-common/sckw-common-excel/src/main/java/com/sckw/excel/common/NumberConstant.java → sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/NumberConstant.java

@@ -1,4 +1,4 @@
-package com.sckw.excel.common;
+package com.sckw.core.common.enums;
 
 /**
  * @description:    定义常量

+ 3 - 1
sckw-common/sckw-common-excel/src/main/java/com/sckw/excel/common/StringConstant.java → sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/StringConstant.java

@@ -1,4 +1,4 @@
-package com.sckw.excel.common;
+package com.sckw.core.common.enums;
 
 /**
  * @description:    定义字符串常量
@@ -21,6 +21,8 @@ public final class StringConstant {
     public static final String G = "G";
     public static final String GB = "GB";
 
+    public static final String DATE_YYYYMMDD = "yyyyMMdd";
+
     public static final String ENCODING_UTF_EIGHT = "UTF-8";
     public static final String ENCODING_UTF_SIXTEEN = "UTF-16";
     public static final String ENCODING_GBK = "GBK";

+ 1 - 1
sckw-modules/sckw-file/src/main/java/com/sckw/file/common/enums/AliyunOssFileTypeEnum.java → sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/AliyunOssFileTypeEnum.java

@@ -1,4 +1,4 @@
-package com.sckw.file.common.enums;
+package com.sckw.core.common.enums.enums;
 
 /**
  * @author lfdc

+ 1 - 1
sckw-modules/sckw-file/src/main/java/com/sckw/file/common/enums/FileEnum.java → sckw-common/sckw-common-core/src/main/java/com/sckw/core/common/enums/enums/FileEnum.java

@@ -1,4 +1,4 @@
-package com.sckw.file.common.enums;
+package com.sckw.core.common.enums.enums;
 /**
  * @author lfdc
  * @version 1.0

+ 2 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/base/BaseModel.java

@@ -1,5 +1,6 @@
 package com.sckw.core.model.base;
 
+import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import lombok.Data;
 import lombok.experimental.Accessors;
@@ -59,6 +60,7 @@ public class BaseModel implements Serializable {
 	/**
 	 * 删除标识(0正常/-1删除)
 	 */
+    @TableLogic
 	private Integer delFlag = 0;
 
 }

+ 81 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/file/FileInfo.java

@@ -0,0 +1,81 @@
+package com.sckw.core.model.file;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @author lfdc
+ * @description 文件信息
+ * @date 2023-07-03 15:07:00
+ */
+@Data
+public class FileInfo implements Serializable {
+
+    /**
+     * 文件上传类型 oss/qiniuyun
+     */
+    @NotBlank(message = "文件上传类型不能为空")
+    private String type;
+
+    /**
+     * 文件原名称
+     */
+    @NotBlank(message = "文件原名称不能为空")
+    private String fileOriginalName;
+    /**
+     * 文件加密key
+     */
+    @NotBlank(message = "文件加密key不能为空")
+    private String fileMd5;
+
+    /**
+     * 文件新名称
+     */
+    @NotBlank(message = "文件新名称不能为空")
+    private String fileName;
+    /**
+     * 文件后缀
+     */
+    @NotBlank(message = "文件后缀不能为空")
+    private String fileSuffix;
+    /**
+     * 文件大小  默认为mb
+     */
+    @NotNull(message = "文件大小不能为空")
+    private BigDecimal fileSize;
+
+    /**
+     * 文件相对路径
+     */
+    @NotBlank(message = "文件相对路径不能为空")
+    private String filePath;
+    /**
+     * 文件绝对路径
+     */
+    @NotBlank(message = "文件绝对路径不能为空")
+    private String fileAbsolutePath;
+
+    @JsonFormat(timezone = "yyyy-MM-dd HH:mm:ss")
+    @NotBlank
+    private String createTime;
+
+    @NotNull(message = "文件修改人不能为空")
+    private Long updateBy;
+    @NotNull(message = "文件上传人不能为空")
+    private Long createBy;
+
+    @NotBlank
+    @JsonFormat(timezone = "yyyy-MM-dd HH:mm:ss")
+    private String updateTime;
+
+    @NotNull(message = "文件删除标志不能为空")
+    private Integer delFlag;
+    @NotNull(message = "文件状态不能为空")
+    private Integer status;
+
+}

+ 51 - 0
sckw-common/sckw-common-core/src/main/java/com/sckw/core/model/vo/FileInfoVO.java

@@ -0,0 +1,51 @@
+package com.sckw.core.model.vo;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author lfdc
+ * @description 文件上传返回vo
+ * @date 2023-07-04 09:07:08
+ */
+@Data
+public class FileInfoVO {
+
+
+    /**
+     * 文件上传类型 oss/qiniuyun
+     */
+    private String type;
+
+    /**
+     * 文件原名称
+     */
+    private String fileOriginalName;
+    /**
+     * 文件加密key
+     */
+    private String fileMd5;
+
+    /**
+     * 文件新名称
+     */
+    private String fileName;
+    /**
+     * 文件后缀
+     */
+    private String fileSuffix;
+    /**
+     * 文件大小  默认为mb
+     */
+    private BigDecimal fileSize;
+
+    /**
+     * 文件相对路径
+     */
+    private String filePath;
+    /**
+     * 文件绝对路径
+     */
+    private String fileAbsolutePath;
+}

+ 166 - 17
sckw-modules/sckw-file/src/main/java/com/sckw/file/utils/FileUtils.java → sckw-common/sckw-common-core/src/main/java/com/sckw/core/utils/FileUtils.java

@@ -1,15 +1,13 @@
-package com.sckw.file.utils;
+package com.sckw.core.utils;
 
 import cn.hutool.core.date.DateTime;
 import com.aliyun.oss.*;
 import com.aliyun.oss.model.*;
-import com.sckw.core.utils.IdWorker;
-import com.sckw.core.utils.PasswordUtils;
-import com.sckw.core.utils.StringUtils;
-import com.sckw.excel.common.NumberConstant;
-import com.sckw.excel.common.StringConstant;
-import com.sckw.file.common.enums.AliyunOssFileTypeEnum;
-import com.sckw.file.common.enums.FileEnum;
+import com.sckw.core.common.enums.NumberConstant;
+import com.sckw.core.common.enums.StringConstant;
+import com.sckw.core.common.enums.enums.AliyunOssFileTypeEnum;
+import com.sckw.core.common.enums.enums.FileEnum;
+import com.sckw.core.model.file.FileInfo;
 import jakarta.annotation.PostConstruct;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.extern.slf4j.Slf4j;
@@ -70,6 +68,16 @@ public class FileUtils {
     @Value("${aliyun.oss.bucket}")
     public String oss_bucketName;
 
+    public static FileInfo getFileDataList(MultipartFile file) {
+        FileInfo fileInfo =new FileInfo();
+        String oFileName = file.getOriginalFilename();
+        BigDecimal fileSize = FileUtils.getFileSize(file, StringConstant.KB);
+        fileInfo.setFileSize(fileSize);
+        fileInfo.setFileOriginalName(oFileName);
+        fileInfo.setFileSuffix(FilenameUtils.getExtension(oFileName));
+        return fileInfo;
+    }
+
     @PostConstruct
     public void setEndpoint() {
         endpoint = this.oss_endpoint;
@@ -92,6 +100,7 @@ public class FileUtils {
 
     /**
      * 获取oss 地址前缀
+     *
      * @return
      */
     public static String getOSSAddressPrefix() {
@@ -112,7 +121,8 @@ public class FileUtils {
      * @return
      */
     public static String getFileSuffix(String fileName) {
-        return fileName.substring(fileName.lastIndexOf("."));//例如:abc.png  截取后:.png
+        //例如:abc.png  截取后:.png
+        return fileName.substring(fileName.lastIndexOf("."));
     }
 
 
@@ -124,7 +134,7 @@ public class FileUtils {
      * @return
      */
     public static Map<String, String> uploadFileByInfo(MultipartFile file, FileEnum fileEnum) {
-        Map<String, String> infoMap = new HashMap<>();
+        Map<String, String> infoMap = new HashMap<>(NumberConstant.SIXTEEN);
         //创建OSSClient实例
         defalutOSS();
         OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
@@ -147,21 +157,27 @@ public class FileUtils {
             infoMap.put("fileMd5", fileName);
             infoMap.put("fileName", fileName + fileSuffix);
             //按照当前日期,创建文件夹,上传到创建文件夹里面
-            //2021/02/02/01.jpg
             String timeUrl = new DateTime().toString("yyyyMMdd");
             fileName = timeUrl + "/" + fileName;
             String filePath = BASE_DIR + fileName + fileSuffix;
             //调用方法实现上传
             ossClient.putObject(bucketName, filePath, inputStream);
-            //上传后的文件地址
-//            String url1 = getUrl(ossClient, bucketName, filePath);
+            //获取上传后的文件地址
+            //String url1 = getUrl(ossClient, bucketName, filePath);
             //关闭OSSClient。
             ossClient.shutdown();
             //上传之后文件路径
-            //https://yygh-atguigu.oss-cn-beijing.aliyuncs.com/01.jpg
-//            String url = "https://" + bucketName + "." + endpoint + "/" + filePath;
+            //String url = "https://" + bucketName + "." + endpoint + "/" + filePath;
             //绝对路径 "https://kaiwu-saas.oss-cn-chengdu.aliyuncs.com/+ filePath;"
-//            String url = StringConstant.HTTPS_STRING+StringConstant.COLON+StringConstant.LEFT_SEPARATORS + bucketName + StringConstant.POINT + endpoint + StringConstant.LEFT_SEPARATOR+ filePath;
+            StringBuilder stringBuilder = new StringBuilder();
+            stringBuilder.append(StringConstant.HTTPS_STRING)
+                    .append(StringConstant.COLON)
+                    .append(StringConstant.LEFT_SEPARATORS)
+                    .append(bucketName)
+                    .append(StringConstant.POINT)
+                    .append(endpoint)
+                    .append(StringConstant.LEFT_SEPARATOR);
+//            String url = stringBuilder.append(filePath).toString();
             //相对路径
             String url = filePath;
             //返回 上传文件地址
@@ -236,6 +252,135 @@ public class FileUtils {
         }
     }
 
+    /**
+     * 文件上传
+     *
+     * @param inputStream      文件流
+     * @param originalFilename 文件原名称
+     * @param fileEnum         上传文件类型/地址枚举
+     * @return
+     */
+    public static Map<String, String> uploadFileByInfo(InputStream inputStream, String originalFilename, FileEnum fileEnum) {
+        Map<String, String> infoMap = new HashMap<>(NumberConstant.SIXTEEN);
+        //创建OSSClient实例
+        defalutOSS();
+        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
+        try {
+            //容器不存在,就创建
+            if (!ossClient.doesBucketExist(bucketName)) {
+                ossClient.createBucket(bucketName);
+                CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucketName);
+                createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead);
+                ossClient.createBucket(createBucketRequest);
+            }
+            //上传文件流
+            String fileName = FilenameUtils.getBaseName(originalFilename);
+            //生成随机唯一值,使用uuid,添加到文件名称里面 改成使用加密
+//            fileName = PasswordUtils.md5(fileName);
+            fileName = PasswordUtils.md5(fileName);
+            String fileSuffix = FileUtils.getFileSuffix(originalFilename);
+            //不带后缀
+            infoMap.put("fileMd5", fileName);
+            infoMap.put("fileName", fileName + fileSuffix);
+            //按照当前日期,创建文件夹,上传到创建文件夹里面
+            //2021/02/02/01.jpg
+            String timeUrl = new DateTime().toString("yyyyMMdd");
+            fileName = timeUrl + "/" + fileName;
+            String filePath = BASE_DIR + fileName + fileSuffix;
+            //调用方法实现上传
+            ossClient.putObject(bucketName, filePath, inputStream);
+            //上传后的文件地址
+//            String url1 = getUrl(ossClient, bucketName, filePath);
+            //关闭OSSClient。
+            ossClient.shutdown();
+            //上传之后文件路径
+//            String url = "https://" + bucketName + "." + endpoint + "/" + filePath;
+            //绝对路径 "https://kaiwu-saas.oss-cn-chengdu.aliyuncs.com/+ filePath;"
+//            String url = StringConstant.HTTPS_STRING+StringConstant.COLON+StringConstant.LEFT_SEPARATORS + bucketName + StringConstant.POINT + endpoint + StringConstant.LEFT_SEPARATOR+ filePath;
+            //相对路径
+            String url = filePath;
+            //返回 上传文件地址
+            infoMap.put("filePath", url);
+        } catch (Exception e) {
+            infoMap.put("filePath", null);
+            //关闭OSSClient。
+            ossClient.shutdown();
+            e.printStackTrace();
+            log.error("oss-upload-file-error:{}", e.getMessage(), e);
+            throw new RuntimeException("oss-upload-file-error:" + e.getMessage());
+        }
+        return infoMap;
+    }
+
+
+    /**
+     * 文件上传
+     *
+     * @param file     文件流
+     * @param fileInfo 文件对象
+     * @param fileEnum 文件枚举-暂时不使用
+     * @return
+     */
+    public static FileInfo uploadFileInfo(MultipartFile file, FileInfo fileInfo, FileEnum fileEnum) {
+        //创建OSSClient实例
+        defalutOSS();
+        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
+        try {
+            //容器不存在,就创建
+            if (!ossClient.doesBucketExist(bucketName)) {
+                ossClient.createBucket(bucketName);
+                CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucketName);
+                createBucketRequest.setCannedACL(CannedAccessControlList.PublicRead);
+                ossClient.createBucket(createBucketRequest);
+            }
+            //上传文件流
+            InputStream inputStream = file.getInputStream();
+            String fileName = FilenameUtils.getBaseName(file.getOriginalFilename());
+            //生成随机唯一值,使用uuid,添加到文件名称里面 改成使用加密
+            //fileName = PasswordUtils.md5(fileName);
+            fileName = PasswordUtils.md5(fileName);
+            String fileSuffix = FileUtils.getFileSuffix(file.getOriginalFilename());
+            //不带后缀
+            fileInfo.setFileMd5(fileName);
+            fileInfo.setFileName(fileName + fileSuffix);
+            //按照当前日期,创建文件夹,上传到创建文件夹里面
+            String timeUrl = new DateTime().toString(StringConstant.DATE_YYYYMMDD);
+            fileName = timeUrl + StringConstant.LEFT_SEPARATOR + fileName;
+            String filePath = BASE_DIR + fileName + fileSuffix;
+            //调用方法实现上传
+            ossClient.putObject(bucketName, filePath, inputStream);
+            //获取上传后的文件地址
+            //String url1 = getUrl(ossClient, bucketName, filePath);
+            //关闭OSSClient。
+            ossClient.shutdown();
+            //上传之后文件路径
+            //String url = "https://" + bucketName + "." + endpoint + "/" + filePath;
+            //绝对路径 "https://kaiwu-saas.oss-cn-chengdu.aliyuncs.com/+ filePath;"
+            StringBuilder stringBuilder = new StringBuilder();
+            stringBuilder.append(StringConstant.HTTPS_STRING)
+                    .append(StringConstant.COLON)
+                    .append(StringConstant.LEFT_SEPARATORS)
+                    .append(bucketName)
+                    .append(StringConstant.POINT)
+                    .append(endpoint)
+                    .append(StringConstant.LEFT_SEPARATOR);
+            String fileAbsolutePath = stringBuilder.append(filePath).toString();
+            fileInfo.setFileAbsolutePath(fileAbsolutePath);
+            //相对路径
+            String url = filePath;
+            //返回 上传文件地址
+            fileInfo.setFilePath(url);
+        } catch (IOException e) {
+            fileInfo.setFilePath(null);
+            //关闭OSSClient。
+            ossClient.shutdown();
+            e.printStackTrace();
+            log.error("oss-upload-file-error:{}", e.getMessage(), e);
+            throw new RuntimeException("oss-upload-file-error:" + e.getMessage());
+        }
+        return fileInfo;
+    }
+
     private static void defalutOSS() {
         if (StringUtils.isBlank(endpoint)) {
             endpoint = DEFAULT_ENDPOINT;
@@ -277,12 +422,15 @@ public class FileUtils {
     /**
      * 获取文件上传大小
      *
-     * @param file
+     * @param file  当前默认使用 kb
      * @return
      */
     public static BigDecimal getFileSize(MultipartFile file, String type) {
         long size = file.getSize();
         BigDecimal bigDecimal = new BigDecimal(NumberConstant.ZERO);
+        if (StringUtils.isBlank(type)){
+            type=StringConstant.KB;
+        }
         switch (type) {
             case "B":
                 bigDecimal = new BigDecimal((double) size);
@@ -299,6 +447,7 @@ public class FileUtils {
             default:
                 throw new RuntimeException("file size error");
         }
+        bigDecimal.setScale(2,BigDecimal.ROUND_HALF_UP);
         return bigDecimal;
     }
 

+ 3 - 1
sckw-common/sckw-common-core/src/main/java/com/sckw/core/web/response/HttpResult.java

@@ -3,13 +3,15 @@ package com.sckw.core.web.response;
 import com.sckw.core.web.constant.HttpStatus;
 import lombok.Data;
 
+import java.io.Serializable;
+
 /**
  * HTTP结果封装
  * @author zk
  * @date Oct 29, 2018
  */
 @Data
-public class HttpResult {
+public class HttpResult implements Serializable {
 
 	private int code = HttpStatus.SUCCESS_CODE;
 	private String msg = HttpStatus.SUCCESS_MESSAGE;

+ 0 - 5
sckw-common/sckw-common-excel/pom.xml

@@ -45,10 +45,5 @@
             <groupId>org.springframework</groupId>
             <artifactId>spring-web</artifactId>
         </dependency>
-
-        <dependency>
-            <groupId>commons-io</groupId>
-            <artifactId>commons-io</artifactId>
-        </dependency>
     </dependencies>
 </project>

+ 6 - 5
sckw-common/sckw-common-excel/src/main/java/com/sckw/excel/utils/ExcelUtil.java

@@ -6,6 +6,7 @@ import com.alibaba.excel.annotation.ExcelProperty;
 import com.alibaba.excel.write.metadata.WriteSheet;
 import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
 import com.alibaba.fastjson.JSONObject;
+import com.sckw.core.common.enums.NumberConstant;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.excel.annotation.ExcelContext;
 import com.sckw.excel.annotation.ExcelSelected;
@@ -28,7 +29,6 @@ import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-import static com.sckw.excel.common.NumberConstant.ZERO;
 
 
 /**
@@ -64,7 +64,7 @@ public class ExcelUtil {
         Assert.isTrue(source != null && source.size() > 0, "source can't be empty");
         ExcelWriter excelWriter = null;
         try {
-            String fileName = source.get(ZERO).get(ZERO).getClass().getAnnotation(ExcelContext.class).fileName();
+            String fileName = source.get(NumberConstant.ZERO).get(NumberConstant.ZERO).getClass().getAnnotation(ExcelContext.class).fileName();
             buildResponse(response, fileName);
             excelWriter = EasyExcel.write(response.getOutputStream())
                     .registerConverter(new LocalDateTimeConverter())
@@ -77,7 +77,7 @@ public class ExcelUtil {
                 if (CollectionUtils.isEmpty(list)) {
                     continue;
                 }
-                Class<?> clazz = list.get(ZERO).getClass();
+                Class<?> clazz = list.get(NumberConstant.ZERO).getClass();
                 ExcelContext context = clazz.getAnnotation(ExcelContext.class);
                 WriteSheet writeSheet = EasyExcel.writerSheet(i, context.sheetName()).registerWriteHandler(new RowWriteHandlerImpl()).head(clazz).build();
                 excelWriter.write(list, writeSheet);
@@ -134,7 +134,8 @@ public class ExcelUtil {
         Assert.isTrue(source != null && source.size() > 0, "source can't be empty");
         ExcelWriter excelWriter = null;
         try {
-            String fileName = source.get(ZERO).get(ZERO).getClass().getAnnotation(ExcelContext.class).fileName();
+//            String fileName = source.get(ZERO).get(ZERO).getClass().getAnnotation(ExcelContext.class).fileName();
+            String fileName = source.get(NumberConstant.ZERO).get(NumberConstant.ZERO).getClass().getAnnotation(ExcelContext.class).fileName();
             buildResponse(response, fileName);
             excelWriter = EasyExcel.write(response.getOutputStream())
                     .registerConverter(new LocalDateTimeConverter())
@@ -147,7 +148,7 @@ public class ExcelUtil {
                 if (CollectionUtils.isEmpty(list)) {
                     continue;
                 }
-                Class<?> clazz = list.get(ZERO).getClass();
+                Class<?> clazz = list.get(NumberConstant.ZERO).getClass();
                 ExcelContext context = clazz.getAnnotation(ExcelContext.class);
                 Map<Integer, ExcelSelectedResolve> selectedMap = resolveSelectedAnnotation(clazz);
                 WriteSheet writeSheet = EasyExcel.writerSheet(i, context.sheetName()).head(clazz).registerWriteHandler(new RowWriteHandlerImpl()).registerWriteHandler(new SelectedSheetWriteHandler(selectedMap)).build();

+ 54 - 0
sckw-modules-api/sckw-file-api/src/main/java/com/sckw/file/api/dto/FileInfoDTO.java

@@ -0,0 +1,54 @@
+package com.sckw.file.api.dto;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @author lfdc
+ * @version 1.0
+ * @className KwfFileInfo
+ * @description 文件do
+ * @company sckw
+ * @date 2023-06-08 15:06:24
+ */
+
+@Data
+public class FileInfoDTO /**implements Serializable*/ {
+
+    private static final long serialVersionUID = 8295075842951977226L;
+
+    /**
+     * 文件存储方式(OSS)
+     */
+    private String type;
+
+    /**
+     * 文件原名称
+     */
+    private String originalName;
+
+    /**
+     * 文件新名称
+     */
+    private String fileName;
+
+    /**
+     * 文件名md5加密
+     */
+    private String md5;
+
+    /**
+     * 文件后缀
+     */
+    private String fileSuffix;
+
+    /**
+     * 文件大小(kb)
+     */
+    private BigDecimal fileSize;
+    /**
+     * 文件服务器存储相对路径
+     */
+    private String filePath;
+}

+ 34 - 0
sckw-modules-api/sckw-file-api/src/main/java/com/sckw/file/api/dubbo/FileApiDubboService.java

@@ -1,8 +1,13 @@
 package com.sckw.file.api.dubbo;
 
+import com.sckw.core.model.file.FileInfo;
 import com.sckw.core.web.response.HttpResult;
+import com.sckw.file.api.dto.FileInfoDTO;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.io.InputStream;
+import java.text.ParseException;
+
 /**
  * @author lfdc
  * @version 1.0
@@ -13,10 +18,39 @@ import org.springframework.web.multipart.MultipartFile;
  */
 public interface FileApiDubboService {
 
+    /**
+     * 文件上传
+     * @param str
+     * @param fileByte
+     * @return
+     */
     HttpResult fileUpload(String str, byte[] fileByte);
 
+    /**
+     * dubbo方式上传
+     * @param file
+     * @return
+     */
     HttpResult fileUploadTodubbo(MultipartFile file);
 
+    /**
+     * 查询数据
+     * @return
+     */
     HttpResult selectAll();
 
+    /**
+     * dubbo 文件调用
+     * @param inputStream
+     * @param fileInfo
+     * @return
+     */
+    HttpResult fileDubboUpload(InputStream inputStream, FileInfoDTO fileInfo);
+
+    /**
+     * dubbo保存信息
+     * @param fileInfo
+     * @return
+     */
+    HttpResult fileInfoInsert(FileInfo fileInfo) throws ParseException;
 }

+ 3 - 0
sckw-modules/sckw-example/src/main/java/com/sckw/example/ExampleApplication.java

@@ -1,5 +1,6 @@
 package com.sckw.example;
 
+import com.sckw.core.annotation.SckwCloudApplication;
 import org.apache.dubbo.config.spring.context.annotation.EnableDubbo;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -12,6 +13,8 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
 @EnableDiscoveryClient
 //@EnableAutoDataSourceProxy
 @SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
+@SckwCloudApplication
+//@SckwRemoteApplication
 public class ExampleApplication {
 
     public static void main(String[] args) {

+ 24 - 7
sckw-modules/sckw-example/src/main/java/com/sckw/example/controller/ExcelExportController.java

@@ -1,6 +1,7 @@
 package com.sckw.example.controller;
 
 import com.alibaba.fastjson.JSONObject;
+import com.sckw.core.model.file.FileInfo;
 import com.sckw.core.utils.IdWorker;
 import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.constant.HttpStatus;
@@ -14,7 +15,6 @@ import com.sckw.excel.easyexcel.RequestHolder;
 import com.sckw.excel.utils.DateUtil;
 import com.sckw.excel.utils.ExcelUtil;
 import com.sckw.file.api.dubbo.FileApiDubboService;
-//import io.seata.spring.annotation.GlobalTransactional;
 import io.seata.core.context.RootContext;
 import io.seata.spring.annotation.GlobalTransactional;
 import jakarta.servlet.http.HttpServletRequest;
@@ -27,6 +27,7 @@ import org.apache.dubbo.config.annotation.DubboReference;
 import org.hibernate.validator.constraints.Range;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.CollectionUtils;
+import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -101,9 +102,10 @@ public class ExcelExportController {
     }
 
     /**
-     *导入
-     * @param file  文件
-     * @param type  文件类型-指的是什么模板 用于公共导入处理
+     * 导入
+     *
+     * @param file 文件
+     * @param type 文件类型-指的是什么模板 用于公共导入处理
      * @return
      */
     @SneakyThrows
@@ -129,13 +131,14 @@ public class ExcelExportController {
 
     /**
      * 分布式事务验证
+     *
      * @return
      */
-    @GlobalTransactional(rollbackFor = Exception.class,name = "example-seata-service-group")
-    @RequestMapping(value = "globalTransactionalDemo",method = RequestMethod.GET)
+    @GlobalTransactional(rollbackFor = Exception.class, name = "example-seata-service-group")
+    @RequestMapping(value = "globalTransactionalDemo", method = RequestMethod.GET)
     public HttpResult globalTransactionalDemo() {
         KwsDept dos = new KwsDept();
-        HttpResult result= null;
+        HttpResult result = null;
         result.setMsg(HttpStatus.SUCCESS_MESSAGE);
         try {
             dos.setId(new IdWorker(1).nextId());
@@ -163,4 +166,18 @@ public class ExcelExportController {
         }
         return result;
     }
+
+    /**
+     * dubboFile文件调用
+     *
+     * @return
+     */
+    @RequestMapping(value = "/fileInfoInsert", method = RequestMethod.POST)
+    public HttpResult fileDubboUpload(@Validated @RequestBody FileInfo fileInfo) {
+        try {
+            return fileApiDubboService.fileInfoInsert(fileInfo);
+        } catch (Exception e) {
+            throw new RuntimeException(e);
+        }
+    }
 }

+ 43 - 36
sckw-modules/sckw-example/src/main/java/com/sckw/example/dubbo/FileApiServiceImpl.java

@@ -1,36 +1,43 @@
-package com.sckw.example.dubbo;
-
-import com.sckw.core.web.response.HttpResult;
-import com.sckw.excel.common.NumberConstant;
-import com.sckw.file.api.dubbo.FileApiDubboService;
-import org.apache.dubbo.config.annotation.DubboService;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.math.BigDecimal;
-
-/**
- * @author lfdc
- * @description fileDubbo调用
- * @date 2023/6/20 0020
- */
-@DubboService(group = "design", version = "2.0.0")
-public class FileApiServiceImpl implements FileApiDubboService {
-
-    @Override
-    public HttpResult fileUpload(String str, byte[] fileByte) {
-        return null;
-    }
-
-    @Override
-    public HttpResult fileUploadTodubbo(MultipartFile file) {
-        return null;
-    }
-
-    @Override
-    public HttpResult selectAll() {
-        BigDecimal bigDecimal = new BigDecimal(NumberConstant.ZERO);
-        BigDecimal bigDecimal1 = new BigDecimal(NumberConstant.SIX);
-        BigDecimal divide = bigDecimal1.divide(bigDecimal);
-        return null;
-    }
-}
+//package com.sckw.example.dubbo;
+//
+//import com.sckw.core.web.response.HttpResult;
+//import com.sckw.excel.common.NumberConstant;
+//import com.sckw.file.api.dto.FileInfoDTO;
+//import com.sckw.file.api.dubbo.FileApiDubboService;
+//import org.apache.dubbo.config.annotation.DubboService;
+//import org.springframework.web.multipart.MultipartFile;
+//
+//import java.io.InputStream;
+//import java.math.BigDecimal;
+//
+///**
+// * @author lfdc
+// * @description fileDubbo调用
+// * @date 2023/6/20 0020
+// */
+//@DubboService(group = "design", version = "2.0.0")
+//public class FileApiServiceImpl implements FileApiDubboService {
+//
+//    @Override
+//    public HttpResult fileUpload(String str, byte[] fileByte) {
+//        return null;
+//    }
+//
+//    @Override
+//    public HttpResult fileUploadTodubbo(MultipartFile file) {
+//        return null;
+//    }
+//
+//    @Override
+//    public HttpResult selectAll() {
+//        BigDecimal bigDecimal = new BigDecimal(NumberConstant.ZERO);
+//        BigDecimal bigDecimal1 = new BigDecimal(NumberConstant.SIX);
+//        BigDecimal divide = bigDecimal1.divide(bigDecimal);
+//        return null;
+//    }
+//
+//    @Override
+//    public HttpResult fileDubboUpload(InputStream inputStream, FileInfoDTO fileInfo) {
+//        return null;
+//    }
+//}

+ 55 - 0
sckw-modules/sckw-example/src/main/java/com/sckw/example/model/FileInfo.java

@@ -0,0 +1,55 @@
+//package com.sckw.example.model;
+//
+//import com.sckw.core.model.base.BaseModel;
+//import lombok.Data;
+//
+//import java.math.BigDecimal;
+//
+///**
+// * @author lfdc
+// * @version 1.0
+// * @className KwfFileInfo
+// * @description 文件do
+// * @company sckw
+// * @date 2023-06-08 15:06:24
+// */
+//
+//@Data
+//public class FileInfo extends BaseModel {
+//
+//    private static final long serialVersionUID = 8295075842951977226L;
+//
+//    /**
+//     * 文件存储方式(OSS)
+//     */
+//    private String type;
+//
+//    /**
+//     * 文件原名称
+//     */
+//    private String originalName;
+//
+//    /**
+//     * 文件新名称
+//     */
+//    private String fileName;
+//
+//    /**
+//     * 文件名md5加密
+//     */
+//    private String md5;
+//
+//    /**
+//     * 文件后缀
+//     */
+//    private String fileSuffix;
+//
+//    /**
+//     * 文件大小(kb)
+//     */
+//    private BigDecimal fileSize;
+//    /**
+//     * 文件服务器存储相对路径
+//     */
+//    private String filePath;
+//}

+ 2 - 2
sckw-modules/sckw-example/src/main/resources/bootstrap-dev.yml

@@ -5,7 +5,7 @@ spring:
         # 服务注册地址
         server-addr: 10.10.10.230:8848
         # 命名空间
-        namespace: sckw_zk
+        namespace: sckw_lfdc
         # 共享配置
         group: sckw-service-platform
       config:
@@ -14,7 +14,7 @@ spring:
         # 配置文件格式
         file-extension: yaml
         # 命名空间
-        namespace: sckw_zk
+        namespace: sckw_lfdc
         # 共享配置
         group: sckw-service-platform
         #可以读多个配置文件  需要在同一个命名空间下面可以是不同的组

+ 45 - 1
sckw-modules/sckw-file/src/main/java/com/sckw/file/controller/FileApiController.java

@@ -1,8 +1,12 @@
 package com.sckw.file.controller;
 
+import com.sckw.core.model.file.FileInfo;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.response.HttpResult;
+import com.sckw.file.api.dto.FileInfoDTO;
 import com.sckw.file.service.FileService;
+import com.sckw.file.service.dubbo.FileDubboApiService;
+import io.seata.spring.annotation.GlobalTransactional;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.constraints.NotBlank;
@@ -13,6 +17,8 @@ import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.io.IOException;
+import java.io.InputStream;
+import java.text.ParseException;
 import java.util.Map;
 
 /**
@@ -33,6 +39,9 @@ public class FileApiController {
     @Autowired
     private FileService fileService;
 
+    @Autowired
+    private FileDubboApiService fileDubboApiService;
+
     /**
      * 上传文件至OSS
      *
@@ -103,6 +112,42 @@ public class FileApiController {
         return fileService.downAllOssFile(fileAllName,request,response);
     }
 
+    /**
+     * 前端调用接口获取oss信息
+     * @param file
+     * @return
+     */
+    @RequestMapping(value = "/uploadFileInfo", method = RequestMethod.POST)
+    public HttpResult uploadFileInfo(@RequestParam("file") MultipartFile file) {
+        return fileService.uploadFileInfo(file);
+    }
+
+    /**
+     * dubbo接收文件信息保存至数据库
+     * @param fileInfo
+     * @return
+     */
+    @RequestMapping(value = "/fileInfoInsertByOSS", method = RequestMethod.POST)
+    @GlobalTransactional(rollbackFor = Exception.class)
+    public HttpResult fileInfoInsertByOSS(@RequestBody FileInfo fileInfo) {
+        try {
+            return fileDubboApiService.fileInfoInsert(fileInfo);
+        } catch (ParseException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    /**
+     * dubbo接收上传文件至OSS
+     * @param inputStream
+     * @param FileInfoDTO
+     * @return
+     */
+    @RequestMapping(value = "/fileDubboUpload", method = RequestMethod.POST)
+    public HttpResult fileDubboUpload(InputStream inputStream, FileInfoDTO FileInfoDTO) {
+        return fileService.fileDubboUpload(inputStream,FileInfoDTO);
+    }
+
     /**
      * feign接收上传文件至OSS
      *
@@ -111,7 +156,6 @@ public class FileApiController {
      */
     @RequestMapping(value = "/fileFeignUpload", method = RequestMethod.POST)
     public HttpResult fileFeignUpload(@RequestParam("file") MultipartFile file) {
-        //获取上传文件
         return fileService.uploadFile(file);
     }
 

+ 8 - 5
sckw-modules/sckw-file/src/main/java/com/sckw/file/dao/KwsFileInfoDao.java

@@ -1,7 +1,10 @@
 package com.sckw.file.dao;
 
-import com.sckw.file.model.FileInfo;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.sckw.file.model.kwfFileInfo;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.tomcat.jni.FileInfo;
 
 import java.util.List;
 import java.util.Map;
@@ -15,14 +18,14 @@ import java.util.Map;
  * @date 2023-06-12 17:06:00
  */
 @Mapper
-public interface KwsFileInfoDao {
+public interface KwsFileInfoDao extends BaseMapper<kwfFileInfo> {
 
     /**
      * 新增
      * @param record
      * @return
      */
-    int insert(FileInfo record);
+    int insert(kwfFileInfo record);
 
     /**
      * 更新
@@ -36,7 +39,7 @@ public interface KwsFileInfoDao {
      * @param id
      * @return
      */
-    FileInfo selectByKey(Long id);
+    kwfFileInfo selectByKey(Long id);
 
     /**
      * 查询
@@ -44,5 +47,5 @@ public interface KwsFileInfoDao {
      * @return
      * @throws Exception
      */
-    List<FileInfo> findList(Map<String, Object> params);
+    List<kwfFileInfo> findList(Map<String, Object> params);
 }

+ 1 - 1
sckw-modules/sckw-file/src/main/java/com/sckw/file/model/FileInfo.java → sckw-modules/sckw-file/src/main/java/com/sckw/file/model/kwfFileInfo.java

@@ -15,7 +15,7 @@ import java.math.BigDecimal;
  */
 
 @Data
-public class FileInfo extends BaseModel {
+public class kwfFileInfo extends BaseModel {
 
     private static final long serialVersionUID = 8295075842951977226L;
 

+ 33 - 18
sckw-modules/sckw-file/src/main/java/com/sckw/file/service/FileService.java

@@ -2,17 +2,19 @@ package com.sckw.file.service;
 
 
 import com.aliyun.oss.model.OSSObject;
+import com.sckw.core.common.enums.NumberConstant;
+import com.sckw.core.common.enums.StringConstant;
+import com.sckw.core.common.enums.enums.FileEnum;
+import com.sckw.core.model.file.FileInfo;
+import com.sckw.core.utils.FileUtils;
 import com.sckw.core.utils.IdWorker;
 import com.sckw.core.utils.StringUtils;
 import com.sckw.core.web.constant.HttpStatus;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.response.HttpResult;
-import com.sckw.excel.common.NumberConstant;
-import com.sckw.excel.common.StringConstant;
-import com.sckw.file.common.enums.FileEnum;
+import com.sckw.file.api.dto.FileInfoDTO;
 import com.sckw.file.dao.KwsFileInfoDao;
-import com.sckw.file.model.FileInfo;
-import com.sckw.file.utils.FileUtils;
+import com.sckw.file.model.kwfFileInfo;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 import lombok.extern.slf4j.Slf4j;
@@ -70,7 +72,7 @@ public class FileService {
         }
         String oFileName = file.getOriginalFilename();
         BigDecimal fileSize = FileUtils.getFileSize(file, StringConstant.KB);
-        FileInfo fileInfo = new FileInfo();
+        kwfFileInfo fileInfo = new kwfFileInfo();
         fileInfo.setOriginalName(oFileName);
         fileInfo.setFileSuffix(FilenameUtils.getExtension(oFileName));
         fileInfo.setFileSize(StringUtils.isBlank(fileSize) ? new BigDecimal(NumberConstant.ZERO) : fileSize);
@@ -123,22 +125,22 @@ public class FileService {
                 map.put("code", HttpStatus.SUCCESS_CODE);
                 map.put("fileName", originalFilename);
                 map.put("message", HttpStatus.SUCCESS_MESSAGE);
-                String url = null;
+                String oosUrl = null;
                 //上传文件是否成功
                 try {
-                    url = FileUtils.uploadFile(multipartFile, FileEnum.DOCUMENT_ADDRESS);
+                    oosUrl = FileUtils.uploadFile(multipartFile, FileEnum.DOCUMENT_ADDRESS);
                 } catch (Exception e) {
                     map.put("code", HttpStatus.GLOBAL_EXCEPTION_CODE);
                     map.put("fileName", originalFilename);
                     map.put("message", e);
                 }
-                if (StringUtils.isBlank(url)) {
+                if (StringUtils.isBlank(oosUrl)) {
                     map.put("code", HttpStatus.GLOBAL_EXCEPTION_CODE);
                     map.put("fileName", originalFilename);
                     map.put("message", HttpStatus.SUCCESS_MESSAGE);
                 }
                 //上传至oss文件地址
-                String oosUrl = url;
+                map.put("oosUrl",oosUrl);
                 resultList.add(map);
             }
         } else {
@@ -174,7 +176,7 @@ public class FileService {
         return HttpResult.ok("", multiply);
     }
 
-    public HttpResult downAllOssFile(String fileAllName,HttpServletRequest request, HttpServletResponse response) {
+    public HttpResult downAllOssFile(String fileAllName, HttpServletRequest request, HttpServletResponse response) {
         try {
             String momentFileName = "全部资源下载.zip";
             // 创建临时文件
@@ -186,16 +188,16 @@ public class FileService {
             String[] files = fileAllName.split(",");
             for (String string : files) {
                 String fName = string.trim();
-                String eachFileName = fName.substring(fName.lastIndexOf("/")+1);
-                String tmp = fName.substring(0,fName.lastIndexOf("/"));
-                tmp = tmp.substring(tmp.lastIndexOf("/")+1);
+                String eachFileName = fName.substring(fName.lastIndexOf("/") + 1);
+                String tmp = fName.substring(0, fName.lastIndexOf("/"));
+                tmp = tmp.substring(tmp.lastIndexOf("/") + 1);
                 String fileName = tmp + "/" + eachFileName;
-                OSSObject ossObject =  FileUtils.downloadOssFile(response.getOutputStream(), fileName);
+                OSSObject ossObject = FileUtils.downloadOssFile(response.getOutputStream(), fileName);
                 InputStream inputStream = ossObject.getObjectContent();
                 zos.putNextEntry(new ZipEntry(eachFileName));
                 int bytesRead;
                 // 向压缩文件中输出数据
-                while((bytesRead = inputStream.read())!=-1){
+                while ((bytesRead = inputStream.read()) != -1) {
                     zos.write(bytesRead);
                 }
                 inputStream.close();
@@ -220,7 +222,7 @@ public class FileService {
             BufferedInputStream buff = new BufferedInputStream(fis);
             BufferedOutputStream out = new BufferedOutputStream(response.getOutputStream());
             byte[] car = new byte[1024];
-            int l=0;
+            int l = 0;
             while (l < zipFile.length()) {
                 int j = buff.read(car, 0, 1024);
                 l += j;
@@ -234,8 +236,21 @@ public class FileService {
             zipFile.delete();
         } catch (Exception e) {
             e.printStackTrace();
-            log.info("batch list down file error :{}",e.getMessage(),e);
+            log.info("batch list down file error :{}", e.getMessage(), e);
         }
         return null;
     }
+
+    public HttpResult uploadFileInfo(MultipartFile file) {
+        FileInfo fileInfo = FileUtils.getFileDataList(file);
+        fileInfo.setType(FileEnum.FILE_STORE_TYPE_OSS.getFileType());
+        FileInfo returnFileInfo = FileUtils.uploadFileInfo(file, fileInfo, FileEnum.FILE_STORE_TYPE_OSS);
+        return HttpResult.ok(returnFileInfo);
+    }
+
+
+    public HttpResult fileDubboUpload(InputStream inputStream, FileInfoDTO fileInfo) {
+        Map<String, String> map = FileUtils.uploadFileByInfo(inputStream, fileInfo.getOriginalName(), FileEnum.Local_Address);
+        return HttpResult.ok(map);
+    }
 }

+ 0 - 36
sckw-modules/sckw-file/src/main/java/com/sckw/file/service/dubbo/FileApiServiceImpl.java

@@ -1,36 +0,0 @@
-package com.sckw.file.service.dubbo;
-
-import com.sckw.core.web.response.HttpResult;
-import com.sckw.excel.common.NumberConstant;
-import com.sckw.file.api.dubbo.FileApiDubboService;
-import org.apache.dubbo.config.annotation.DubboService;
-import org.springframework.web.multipart.MultipartFile;
-
-import java.math.BigDecimal;
-
-/**
- * @author lfdc
- * @description fileDubbo调用
- * @date 2023/6/20 0020
- */
-@DubboService(group = "design", version = "2.0.0")
-public class FileApiServiceImpl implements FileApiDubboService {
-
-    @Override
-    public HttpResult fileUpload(String str, byte[] fileByte) {
-        return null;
-    }
-
-    @Override
-    public HttpResult fileUploadTodubbo(MultipartFile file) {
-        return null;
-    }
-
-    @Override
-    public HttpResult selectAll() {
-        BigDecimal bigDecimal = new BigDecimal(NumberConstant.ZERO);
-        BigDecimal bigDecimal1 = new BigDecimal(NumberConstant.SIX);
-        BigDecimal divide = bigDecimal1.divide(bigDecimal);
-        return null;
-    }
-}

+ 83 - 0
sckw-modules/sckw-file/src/main/java/com/sckw/file/service/dubbo/FileDubboApiService.java

@@ -0,0 +1,83 @@
+package com.sckw.file.service.dubbo;
+
+import com.sckw.core.common.enums.NumberConstant;
+import com.sckw.core.common.enums.enums.FileEnum;
+import com.sckw.core.model.file.FileInfo;
+import com.sckw.core.utils.FileUtils;
+import com.sckw.core.utils.IdWorker;
+import com.sckw.core.utils.StringUtils;
+import com.sckw.core.web.response.HttpResult;
+import com.sckw.excel.utils.DateUtil;
+import com.sckw.file.api.dto.FileInfoDTO;
+import com.sckw.file.api.dubbo.FileApiDubboService;
+import com.sckw.file.dao.KwsFileInfoDao;
+import com.sckw.file.model.kwfFileInfo;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.io.FilenameUtils;
+import org.apache.dubbo.config.annotation.DubboService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.InputStream;
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.util.Map;
+
+/**
+ * @author lfdc
+ * @description fileDubbo调用
+ * @date 2023/6/20 0020
+ */
+
+@Slf4j
+@DubboService(group = "design", version = "2.0.0",timeout = 50000)
+public class FileDubboApiService implements FileApiDubboService {
+
+    @Autowired
+    KwsFileInfoDao fileInfoDao;
+
+    @Override
+    public HttpResult fileUpload(String str, byte[] fileByte) {
+        return null;
+    }
+
+    @Override
+    public HttpResult fileUploadTodubbo(MultipartFile file) {
+        return null;
+    }
+
+    @Override
+    public HttpResult selectAll() {
+        BigDecimal bigDecimal = new BigDecimal(NumberConstant.ZERO);
+        BigDecimal bigDecimal1 = new BigDecimal(NumberConstant.SIX);
+        BigDecimal divide = bigDecimal1.divide(bigDecimal);
+        return null;
+    }
+
+    @Override
+    public HttpResult fileDubboUpload(InputStream inputStream, FileInfoDTO fileInfo) {
+        Map<String, String> map = FileUtils.uploadFileByInfo(inputStream, fileInfo.getOriginalName(), FileEnum.Local_Address);
+        return HttpResult.ok(map);
+    }
+
+    @Override
+    public HttpResult fileInfoInsert(FileInfo fileInfo) throws ParseException {
+        kwfFileInfo kwfFileInfo = new kwfFileInfo();
+        kwfFileInfo.setOriginalName(fileInfo.getFileOriginalName());
+        kwfFileInfo.setFileSuffix(FilenameUtils.getExtension(fileInfo.getFileOriginalName()));
+        kwfFileInfo.setFileSize(StringUtils.isBlank(fileInfo.getFileSize()) ? new BigDecimal(NumberConstant.ZERO) : fileInfo.getFileSize());
+        kwfFileInfo.setId(new IdWorker(1).nextId());
+        kwfFileInfo.setType(fileInfo.getType());
+        kwfFileInfo.setFileName(fileInfo.getFileName());
+        kwfFileInfo.setMd5(fileInfo.getFileMd5());
+        kwfFileInfo.setFilePath(fileInfo.getFilePath());
+        kwfFileInfo.setCreateTime(DateUtil.strToDate(fileInfo.getCreateTime(),"yyyy-MM-dd HH:mm:ss"));
+        kwfFileInfo.setUpdateTime(DateUtil.strToDate(fileInfo.getUpdateTime(),"yyyy-MM-dd HH:mm:ss"));
+        kwfFileInfo.setStatus(fileInfo.getStatus());
+        kwfFileInfo.setDelFlag(fileInfo.getDelFlag());
+        kwfFileInfo.setCreateBy(fileInfo.getCreateBy());
+        kwfFileInfo.setUpdateBy(fileInfo.getUpdateBy());
+        fileInfoDao.insert(kwfFileInfo);
+        return HttpResult.ok();
+    }
+}

+ 2 - 2
sckw-modules/sckw-file/src/main/resources/bootstrap-dev.yml

@@ -5,7 +5,7 @@ spring:
         # 服务注册地址
         server-addr: 10.10.10.230:8848
         # 命名空间
-        namespace: sckw_zk
+        namespace: sckw_lfdc
         # 共享配置
         group: sckw-service-platform
       config:
@@ -14,7 +14,7 @@ spring:
         # 配置文件格式
         file-extension: yaml
         # 命名空间
-        namespace: sckw_zk
+        namespace: sckw_lfdc
         # 共享配置
         group: sckw-service-platform
         #可以读多个配置文件  需要在同一个命名空间下面可以是不同的组

+ 3 - 3
sckw-modules/sckw-file/src/main/resources/mapper/KwsFileInfoDao.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.sckw.file.dao.KwsFileInfoDao">
-    <resultMap id="BaseResultMap" type="com.sckw.file.model.FileInfo">
+    <resultMap id="BaseResultMap" type="com.sckw.file.model.kwfFileInfo">
         <id column="id" jdbcType="BIGINT" property="id" />
         <result column="type" jdbcType="VARCHAR" property="type" />
         <result column="original_name" jdbcType="VARCHAR" property="originalName" />
@@ -31,11 +31,11 @@
         from kwf_file_info
         where id = #{id,jdbcType=BIGINT}
     </select>
-    <select id="findList" resultType="com.sckw.file.model.FileInfo">
+    <select id="findList" resultType="com.sckw.file.model.kwfFileInfo">
 
     </select>
 
-    <insert id="insert" parameterType="com.sckw.file.model.FileInfo">
+    <insert id="insert" parameterType="com.sckw.file.model.kwfFileInfo">
         insert into sckw_file.kwf_file_info
         <trim prefix="(" suffix=")" suffixOverrides=",">
             <if test="id != null">

+ 2 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/TransPortApplication.java

@@ -3,6 +3,7 @@ package com.sckw.transport;
 import com.sckw.remote.annotation.SckwRemoteApplication;
 import com.sckw.startup.annotation.SckwCloudApplication;
 import io.seata.spring.annotation.datasource.EnableAutoDataSourceProxy;
+import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 
 /**
@@ -13,6 +14,7 @@ import org.springframework.boot.SpringApplication;
 @EnableAutoDataSourceProxy
 @SckwRemoteApplication
 @SckwCloudApplication
+@MapperScan("com.sckw.transport.dao")
 public class TransPortApplication {
     public static void main(String[] args) {
         SpringApplication.run(TransPortApplication.class, args);

+ 24 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/controller/ConsignOrderController.java

@@ -1,8 +1,14 @@
 package com.sckw.transport.controller;
 
+import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.response.HttpResult;
+import com.sckw.transport.model.param.ConsignOrderQuery;
+import com.sckw.transport.service.ConsignOrderService;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RestController;
 
 /**
@@ -16,4 +22,22 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping(value = "/consignOrder")
 public class ConsignOrderController {
 
+    @Autowired
+    ConsignOrderService consignOrderService;
+
+    /**
+     * 托运订单首页条件查询
+     * @param query 查询参数
+     * @return
+     */
+    @RequestMapping(value = "/list", method = RequestMethod.GET)
+    public HttpResult acceptCarriageOrderList(ConsignOrderQuery query) {
+        try {
+            return consignOrderService.list(query);
+        } catch (Exception e) {
+            log.error("承运订单查询失败:{}", e.getMessage(), e);
+            return HttpResult.error(HttpStatus.GLOBAL_EXCEPTION_CODE, e.getMessage());
+        }
+    }
+
 }

+ 13 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/dao/repository/KwtLogisticsOrderAddressRepository.java

@@ -0,0 +1,13 @@
+package com.sckw.transport.dao.repository;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.sckw.transport.dao.KwtLogisticsOrderAddressDao;
+
+/**
+ * @author lfdc
+ * @description 地址管理repository
+ * @date 2023-07-04 08:07:39
+ */
+public interface KwtLogisticsOrderAddressRepository extends IService<KwtLogisticsOrderAddressDao> {
+
+}

+ 1 - 1
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/SubcontractConsignmentDTO.java → sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/dto/SubcontractConsignmentDTO.java

@@ -1,4 +1,4 @@
-package com.sckw.transport.model.param;
+package com.sckw.transport.model.dto;
 
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;

+ 16 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/model/param/ConsignOrderQuery.java

@@ -0,0 +1,16 @@
+package com.sckw.transport.model.param;
+
+import com.sckw.core.model.page.PageRequest;
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author lfdc
+ * @description 托运订单查询query
+ * @date 2023-06-30 09:06:43
+ */
+@Data
+public class ConsignOrderQuery extends PageRequest implements Serializable {
+
+}

+ 14 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/ConsignOrderService.java

@@ -1,6 +1,11 @@
 package com.sckw.transport.service;
 
+import com.sckw.core.web.response.HttpResult;
+import com.sckw.transport.dao.KwtLogisticsOrderAddressDao;
+import com.sckw.transport.dao.repository.KwtLogisticsOrderAddressRepository;
+import com.sckw.transport.model.param.ConsignOrderQuery;
 import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 /**
@@ -12,4 +17,13 @@ import org.springframework.stereotype.Service;
 @Service
 public class ConsignOrderService {
 
+    @Autowired
+    KwtLogisticsOrderAddressRepository kwtLogisticsOrderAddressRepository;
+
+    @Autowired
+    public KwtLogisticsOrderAddressDao kwtLogisticsOrderAddressDao;
+
+    public HttpResult list(ConsignOrderQuery query) {
+        return null;
+    }
 }

+ 52 - 0
sckw-modules/sckw-transport/src/main/java/com/sckw/transport/service/TransportCommonService.java

@@ -0,0 +1,52 @@
+package com.sckw.transport.service;
+
+import com.sckw.core.web.response.HttpResult;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author lfdc
+ * @description 运输服务公共service接口
+ * @date 2023-06-29 15:06:45
+ */
+@Slf4j
+@Service
+public class TransportCommonService {
+
+    /**
+     * 获取托运企业名称
+     * @param param
+     * @return
+     */
+    public HttpResult getConsignCompanyName(String param) {
+        return HttpResult.ok();
+    }
+
+    /**
+     * 获取车牌号
+     * @param param
+     * @return
+     */
+    public HttpResult getPlateNumber(String param) {
+        return HttpResult.ok();
+    }
+
+    /**
+     * 获取联系人
+     * @param param
+     * @return
+     */
+    public HttpResult getContactPerson(String param) {
+        return HttpResult.ok();
+    }
+
+    /**
+     * 获取司机
+     * @param param
+     * @return
+     */
+    public HttpResult getDriverName(String param) {
+        return HttpResult.ok();
+    }
+
+}