3 次代码提交 80657970a7 ... e09ab4147f

作者 SHA1 备注 提交日期
  tanbin e09ab4147f ADD 设备事件短信推送 2 月之前
  tanbin 583cbc0126 feat(sys): 增加文件上传功能并配置文件大小限制 2 月之前
  tanbin 71750985f8 feat: 新增文件信息封装类和列出指定目录下文件的功能 2 月之前

+ 50 - 0
sys-api-service/src/main/java/com/xy/service/OssServiceImpl.java

@@ -1,15 +1,30 @@
 package com.xy.service;
 
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.github.yitter.idgen.YitIdHelper;
+import com.xy.utils.AliOssUtil;
 import com.xy.utils.R;
 import com.xy.vo.PolicyVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
 import lombok.RequiredArgsConstructor;
+import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.ss.usermodel.*;
 import org.springframework.stereotype.Service;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.time.LocalDateTime;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
 
 /***
  * 对象存储实现类
@@ -29,4 +44,39 @@ public class OssServiceImpl implements OssService {
     public R<PolicyVo> getPolicy(@ApiParam(name = "dir", value = "上传目录", required = false) @RequestParam(value = "dir", required = false) String dir) {
         return aliOssService.getPolicy(dir);
     }
+
+    @ApiOperation(value = "获取指定目录下的文件列表", notes = "获取指定目录下的文件列表")
+    @GetMapping("aliOSS/listFilesInDir")
+    public R<List<AliOssUtil.FileInfo>> listFilesInDir(@ApiParam(name = "dir", value = "目录", required = false) @RequestParam(value = "dir", required = false) String dir) {
+         List<AliOssUtil.FileInfo> files = AliOssUtil.listFilesInDir(dir, null);
+        files.forEach(file -> {
+            System.out.println(String.format("%s | 大小: %dB | 修改时间: %tF",
+                    file.getFileName(),
+                    file.getSize(),
+                    file.getUpdateTime()));
+        });
+
+        return R.ok(files);
+    }
+
+    /**
+     *指定目录上传文件
+     * @param fileUrl   /存放目录/文件名.后缀
+     * @param file
+     * @return
+     */
+    @ApiOperation("指定目录上传文件")
+    @PostMapping("aliOSS/uploadFile")
+    public R<String> uploadFile( @RequestParam("fileUrl") String fileUrl, @RequestParam("file") MultipartFile file) {
+        try (InputStream inputStream = file.getInputStream()) {
+
+            String url = AliOssUtil.upload(inputStream, fileUrl);
+            return R.ok(url);
+        } catch (IOException e) {
+            log.error("文件处理时发生错误: {}", e.getMessage());
+            return R.fail("文件处理时发生错误");
+        }
+    }
+
+
 }

+ 1 - 0
sys-api/src/main/java/com/xy/enums/MsgConfigId.java

@@ -27,6 +27,7 @@ public enum MsgConfigId {
     SMS_NOTIFY_C2(21L, "喵星人C端短信通知-补单"),
     SMS_NOTIFY_CM22(22L, "创米C端短信通知-补单"),
     SMS_NOTIFY_CM23(23L, "创米C端短信通知-未支付"),
+    SMS_NOTIFY_DEVICE(29L, "喵星人商家设备告警推送"),
 
     CM_RISK_ORDER(24L, "创米-异常订单通知"),
     CM_DEVICE_EXCEPTION(25L, "创米-设备故障提醒"),

+ 1 - 0
sys-api/src/main/java/com/xy/enums/SmsSceneEnum.java

@@ -20,6 +20,7 @@ public enum SmsSceneEnum {
     B_PAY_ACCOUNT_WX_CONFIG(4, "商户信息修改 - 微信收款号配置"),
     B_PAY_ACCOUNT_ALIPAY_SCAN_CONFIG(5, "商户信息修改 - 支付宝扫码收款号配置"),
     B_PAY_ACCOUNT_ALIPAY_FACE_CONFIG(6, "商户信息修改 - 支付刷脸收款号配置"),
+    B_DEVICE_ALARM_NOTIFY(13, "B端-商户设备告警短信通知"),
     C_UN_PAY_NOTIFY(7, "C端订单 - 余额不足-未支付"),
     C_FILL_ORDER_NOTIFY(8, "C端订单 - 补单"),
     B_CHANGE_TEL(9, "B端个人中心 - 修改手机号"),

+ 6 - 1
sys-start/src/main/resources/bootstrap.yml

@@ -1,9 +1,14 @@
 spring:
   profiles:
     include: cloud
-
+  servlet:
+    multipart:
+      max-file-size: 500MB
+      max-request-size: 500MB
 server:
   port: 9053
+  tomcat:
+    max-swallow-size: 500MB
 
 #微服务相关配置
 cloud: