Przeglądaj źródła

精简 file-service 中的数据模型

reghao 7 miesięcy temu
rodzic
commit
e4380b934f
21 zmienionych plików z 112 dodań i 246 usunięć
  1. 8 8
      file/file-service/src/main/java/cn/reghao/tnb/file/app/controller/StoreNodeController.java
  2. 6 6
      file/file-service/src/main/java/cn/reghao/tnb/file/app/controller/StoreObjectController.java
  3. 8 8
      file/file-service/src/main/java/cn/reghao/tnb/file/app/controller/UploadChannelController.java
  4. 2 2
      file/file-service/src/main/java/cn/reghao/tnb/file/app/controller/UserKeyController.java
  5. 10 17
      file/file-service/src/main/java/cn/reghao/tnb/file/app/controller/UserNodeController.java
  6. 2 2
      file/file-service/src/main/java/cn/reghao/tnb/file/app/db/mapper/UserNodeMapper.java
  7. 1 1
      file/file-service/src/main/java/cn/reghao/tnb/file/app/model/dto/NodeAddDto.java
  8. 1 8
      file/file-service/src/main/java/cn/reghao/tnb/file/app/model/dto/NodeUpdateDto.java
  9. 0 24
      file/file-service/src/main/java/cn/reghao/tnb/file/app/model/dto/UserNodeUpdateDto.java
  10. 5 0
      file/file-service/src/main/java/cn/reghao/tnb/file/app/model/po/StoreVolume.java
  11. 4 0
      file/file-service/src/main/java/cn/reghao/tnb/file/app/model/po/UploadChannel.java
  12. 14 4
      file/file-service/src/main/java/cn/reghao/tnb/file/app/model/po/UserNode.java
  13. 0 23
      file/file-service/src/main/java/cn/reghao/tnb/file/app/model/vo/StoreDiskInfo.java
  14. 0 25
      file/file-service/src/main/java/cn/reghao/tnb/file/app/model/vo/UploadChannelInfo.java
  15. 0 15
      file/file-service/src/main/java/cn/reghao/tnb/file/app/model/vo/UserKeyVo.java
  16. 0 23
      file/file-service/src/main/java/cn/reghao/tnb/file/app/model/vo/UserNodeInfo.java
  17. 3 3
      file/file-service/src/main/java/cn/reghao/tnb/file/app/service/OssFileService.java
  18. 20 24
      file/file-service/src/main/java/cn/reghao/tnb/file/app/service/StoreNodeService.java
  19. 10 17
      file/file-service/src/main/java/cn/reghao/tnb/file/app/service/UploadChannelService.java
  20. 2 7
      file/file-service/src/main/java/cn/reghao/tnb/file/app/service/UserKeyService.java
  21. 16 29
      file/file-service/src/main/java/cn/reghao/tnb/file/app/service/UserNodeService.java

+ 8 - 8
file/file-service/src/main/java/cn/reghao/tnb/file/app/controller/StoreNodeController.java

@@ -3,7 +3,7 @@ package cn.reghao.tnb.file.app.controller;
 import cn.reghao.jutil.jdk.result.Result;
 import cn.reghao.jutil.web.WebResult;
 import cn.reghao.tnb.common.db.SelectOption;
-import cn.reghao.tnb.file.app.model.vo.StoreDiskInfo;
+import cn.reghao.tnb.file.app.model.po.StoreVolume;
 import cn.reghao.tnb.file.app.model.vo.StoreNodeInfo;
 import cn.reghao.tnb.file.app.service.StoreNodeService;
 import io.swagger.v3.oas.annotations.Operation;
@@ -37,7 +37,7 @@ public class StoreNodeController {
     @Operation(summary = "存储节点磁盘列表", description = "N")
     @GetMapping(value = "/disk", produces = MediaType.APPLICATION_JSON_VALUE)
     public String storeNodePage(@RequestParam("storeNodeId") Integer storeNodeId) {
-        List<StoreDiskInfo> list = storeNodeService.getStoreDetail(storeNodeId);
+        List<StoreVolume> list = storeNodeService.getStoreDisks(storeNodeId);
         return WebResult.success(list);
     }
 
@@ -49,16 +49,16 @@ public class StoreNodeController {
     }
 
     @Operation(summary = "设置存储节点的状态", description = "N")
-    @PostMapping(value = "/update_status", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String updateStoreNodeDomain(@RequestParam("id") int id) {
-        Result result = storeNodeService.updateStatus(id);
+    @PostMapping(value = "/update_status/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
+    public String updateStoreNodeStatus(@PathVariable("id") Integer storeNodeId) {
+        Result result = storeNodeService.updateStatus(storeNodeId);
         return WebResult.result(result);
     }
 
     @Operation(summary = "删除存储节点", description = "N")
-    @PostMapping(value = "/delete", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String deleteStoreNode(Integer nodeId) {
-        Result result = storeNodeService.delete(nodeId);
+    @PostMapping(value = "/delete/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
+    public String deleteStoreNode(@PathVariable("id") Integer storeNodeId) {
+        Result result = storeNodeService.delete(storeNodeId);
         return WebResult.result(result);
     }
 }

+ 6 - 6
file/file-service/src/main/java/cn/reghao/tnb/file/app/controller/StoreObjectController.java

@@ -7,8 +7,8 @@ import cn.reghao.oss.api.iface.ConsoleService;
 import cn.reghao.oss.api.dto.ObjectInfo;
 import cn.reghao.oss.api.dto.ServerInfo;
 import cn.reghao.tnb.common.auth.UserContext;
+import cn.reghao.tnb.file.app.model.po.UserNode;
 import cn.reghao.tnb.file.app.model.vo.FileInfo;
-import cn.reghao.tnb.file.app.model.vo.UserNodeInfo;
 import cn.reghao.tnb.file.app.service.OssFileService;
 import cn.reghao.tnb.file.app.service.UploadChannelService;
 import cn.reghao.tnb.file.app.service.UserNodeService;
@@ -52,20 +52,20 @@ public class StoreObjectController {
         }
 
         int loginUser = (int) UserContext.getUserId();
-        List<UserNodeInfo> userNodes = userNodeService.getUserNodes(loginUser);
+        List<UserNode> userNodes = userNodeService.getUserNodes(loginUser);
         if (userNodes.isEmpty()) {
             String errMsg = "没有可用节点";
             WebResult.failWithMsg(errMsg);
         }
 
-        UserNodeInfo userNode;
+        UserNode userNode;
         if (userNodeId != null) {
-            userNode = userNodeService.getUserNodeInfo(userNodeId);
+            userNode = userNodeService.getUserNode(userNodeId);
         } else {
             userNode = userNodes.get(0);
-            userNodeId = userNode.getUserNodeId();
+            userNodeId = userNode.getId();
         }
-        String nodeDomain = userNode.getUserNodeDomain();
+        String nodeDomain = userNode.getDomain();
 
         int pn = 1;
         int ps = 10;

+ 8 - 8
file/file-service/src/main/java/cn/reghao/tnb/file/app/controller/UploadChannelController.java

@@ -8,9 +8,9 @@ import cn.reghao.oss.api.constant.ObjectType;
 import cn.reghao.tnb.common.auth.UserContext;
 import cn.reghao.tnb.file.app.model.dto.UploadChannelDto;
 import cn.reghao.tnb.common.db.SelectOption;
+import cn.reghao.tnb.file.app.model.po.UploadChannel;
+import cn.reghao.tnb.file.app.model.po.UserNode;
 import cn.reghao.tnb.file.app.model.vo.AddChannelAttr;
-import cn.reghao.tnb.file.app.model.vo.UploadChannelInfo;
-import cn.reghao.tnb.file.app.model.vo.UserNodeInfo;
 import cn.reghao.tnb.file.app.service.UploadChannelService;
 import cn.reghao.tnb.file.app.service.UserNodeService;
 import io.swagger.v3.oas.annotations.Operation;
@@ -46,13 +46,13 @@ public class UploadChannelController {
     @GetMapping(value = "/list", produces = MediaType.APPLICATION_JSON_VALUE)
     public String index(@RequestParam("userNodeId") Integer userNodeId) {
         int loginUser = (int) UserContext.getUserId();
-        List<UserNodeInfo> userNodes = userNodeService.getUserNodes(loginUser);
+        List<UserNode> userNodes = userNodeService.getUserNodes(loginUser);
         if (userNodes.isEmpty()) {
             String errMsg = "没有可用节点";
             WebResult.failWithMsg(errMsg);
         }
 
-        List<UploadChannelInfo> list = uploadChannelService.getChannelsByUserNode(userNodeId);
+        List<UploadChannel> list = uploadChannelService.getChannelsByUserNode(userNodeId);
         return WebResult.success(list);
     }
 
@@ -95,15 +95,15 @@ public class UploadChannelController {
     }
 
     @Operation(summary = "设置通道状态", description = "N")
-    @PostMapping(value = "/channel_status", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String setChannelStatus(Integer id) {
+    @PostMapping(value = "/channel_status/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
+    public String setChannelStatus(@PathVariable("id") Integer id) {
         uploadChannelService.updateChannelStatus(id);
         return WebResult.success();
     }
 
     @Operation(summary = "删除通道", description = "N")
-    @PostMapping(value = "/delete", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String deleteUploadChannel(Integer id) throws Exception {
+    @PostMapping(value = "/delete/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
+    public String deleteUploadChannel(@PathVariable("id") Integer id) throws Exception {
         Result result = uploadChannelService.deleteChannel(id);
         return WebResult.result(result);
     }

+ 2 - 2
file/file-service/src/main/java/cn/reghao/tnb/file/app/controller/UserKeyController.java

@@ -1,7 +1,7 @@
 package cn.reghao.tnb.file.app.controller;
 
 import cn.reghao.jutil.web.WebResult;
-import cn.reghao.tnb.file.app.model.vo.UserKeyVo;
+import cn.reghao.tnb.file.app.model.po.UserKey;
 import cn.reghao.tnb.file.app.service.StoreConfigService;
 import cn.reghao.tnb.file.app.service.UserKeyService;
 import io.swagger.v3.oas.annotations.Operation;
@@ -31,7 +31,7 @@ public class UserKeyController {
     @GetMapping(value = "/list", produces = MediaType.APPLICATION_JSON_VALUE)
     public String userKeyPage() {
         int ossUser = storeConfigService.getLocalOssUser();
-        List<UserKeyVo> list = userKeyService.getUserKeys(ossUser);
+        List<UserKey> list = userKeyService.getUserKeys(ossUser);
         return WebResult.success(list);
     }
 

+ 10 - 17
file/file-service/src/main/java/cn/reghao/tnb/file/app/controller/UserNodeController.java

@@ -3,10 +3,10 @@ package cn.reghao.tnb.file.app.controller;
 import cn.reghao.jutil.jdk.result.Result;
 import cn.reghao.jutil.web.WebResult;
 import cn.reghao.tnb.common.auth.UserContext;
-import cn.reghao.tnb.file.app.model.dto.UserNodeDto;
+import cn.reghao.tnb.file.app.model.dto.NodeAddDto;
 import cn.reghao.tnb.common.db.SelectOption;
-import cn.reghao.tnb.file.app.model.dto.UserNodeUpdateDto;
-import cn.reghao.tnb.file.app.model.vo.UserNodeInfo;
+import cn.reghao.tnb.file.app.model.dto.NodeUpdateDto;
+import cn.reghao.tnb.file.app.model.po.UserNode;
 import cn.reghao.tnb.file.app.service.UserNodeService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -34,7 +34,7 @@ public class UserNodeController {
     @GetMapping(value = "/list", produces = MediaType.APPLICATION_JSON_VALUE)
     public String userNodesPage() {
         int loginUser = (int) UserContext.getUserId();
-        List<UserNodeInfo> list = userNodeService.getUserNodes(loginUser);
+        List<UserNode> list = userNodeService.getUserNodes(loginUser);
         return WebResult.success(list);
     }
 
@@ -48,29 +48,22 @@ public class UserNodeController {
 
     @Operation(summary = "添加用户节点", description = "N")
     @PostMapping(value = "/add", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String addUserNode(@RequestBody @Validated UserNodeDto userNodeDto) {
-        Result result = userNodeService.add(userNodeDto);
+    public String addUserNode(@RequestBody @Validated NodeAddDto nodeAddDto) {
+        Result result = userNodeService.add(nodeAddDto);
         return WebResult.result(result);
     }
 
     @Operation(summary = "更新用户节点", description = "N")
     @PostMapping(value = "/update", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String updateNode(@RequestBody @Validated UserNodeUpdateDto userNodeUpdateDto) {
-        userNodeService.updateUserNode(userNodeUpdateDto);
+    public String updateNode(@RequestBody @Validated NodeUpdateDto nodeUpdateDto) {
+        userNodeService.updateUserNode(nodeUpdateDto);
         return WebResult.success();
     }
 
     @Operation(summary = "删除用户节点", description = "N")
-    @PostMapping(value = "/delete", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String deleteUserNode(Integer userNodeId) {
+    @PostMapping(value = "/delete/{id}", produces = MediaType.APPLICATION_JSON_VALUE)
+    public String deleteUserNode(@PathVariable("id") Integer userNodeId) {
         Result result = userNodeService.delete(userNodeId);
         return WebResult.result(result);
     }
-
-    @Operation(summary = "用户节点详情", description = "N")
-    @GetMapping(value = "/detail", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String nodeDetailPage(@RequestParam(value = "userNodeId") Integer userNodeId) {
-        UserNodeInfo userNode = userNodeService.getUserNodeInfo(userNodeId);
-        return WebResult.success(userNode);
-    }
 }

+ 2 - 2
file/file-service/src/main/java/cn/reghao/tnb/file/app/db/mapper/UserNodeMapper.java

@@ -1,7 +1,7 @@
 package cn.reghao.tnb.file.app.db.mapper;
 
 import cn.reghao.jutil.jdk.db.BaseMapper;
-import cn.reghao.tnb.file.app.model.dto.UserNodeUpdateDto;
+import cn.reghao.tnb.file.app.model.dto.NodeUpdateDto;
 import cn.reghao.tnb.file.app.model.po.UserNode;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
@@ -18,7 +18,7 @@ public interface UserNodeMapper extends BaseMapper<UserNode> {
                         @Param("domain") int domain,
                         @Param("referer") int referer,
                         @Param("secretKey") int secretKey);*/
-    void updateUserNode(UserNodeUpdateDto userNodeUpdateDto);
+    void updateUserNode(NodeUpdateDto nodeUpdateDto);
 
     int countByStoreNodeId(int storeNodeId);
     UserNode findByCreateByAndStoreNodeId(@Param("createBy") long createBy, @Param("storeNodeId") int storeNodeId);

+ 1 - 1
file/file-service/src/main/java/cn/reghao/tnb/file/app/model/dto/UserNodeDto.java → file/file-service/src/main/java/cn/reghao/tnb/file/app/model/dto/NodeAddDto.java

@@ -13,7 +13,7 @@ import javax.validation.constraints.Size;
  */
 @Setter
 @Getter
-public class UserNodeDto {
+public class NodeAddDto {
     @NotNull
     private Integer storeNodeId;
     @Pattern(regexp = "^[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,6}$", message = "域名格式不正确")

+ 1 - 8
file/file-service/src/main/java/cn/reghao/tnb/file/app/model/dto/NodeUpdateDto.java

@@ -1,19 +1,16 @@
 package cn.reghao.tnb.file.app.model.dto;
 
 import lombok.Getter;
-import lombok.NoArgsConstructor;
 import lombok.Setter;
 
-import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import javax.validation.constraints.Pattern;
 import javax.validation.constraints.Size;
 
 /**
  * @author reghao
- * @date 2023-03-10 15:00:20
+ * @date 2025-10-20 16:42:44
  */
-@NoArgsConstructor
 @Setter
 @Getter
 public class NodeUpdateDto {
@@ -22,10 +19,6 @@ public class NodeUpdateDto {
     @Pattern(regexp = "^[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,6}$", message = "域名格式不正确")
     @Size(max = 128, message = "域名长度应小于 128 个字符")
     private String domain;
-    @Pattern(regexp = "^[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,6}$", message = "referer 域名格式不正确")
-    @Size(max = 128, message = "referer 域名长度应小于 128 个字符")
     private String referer;
-    @NotBlank(message = "必须设置 SecretKey")
-    @Size(min = 8, max = 32, message = "SecretKey 长度在 8 ~ 32 个字符之间")
     private String secretKey;
 }

+ 0 - 24
file/file-service/src/main/java/cn/reghao/tnb/file/app/model/dto/UserNodeUpdateDto.java

@@ -1,24 +0,0 @@
-package cn.reghao.tnb.file.app.model.dto;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.validation.constraints.NotNull;
-import javax.validation.constraints.Pattern;
-import javax.validation.constraints.Size;
-
-/**
- * @author reghao
- * @date 2025-10-20 16:42:44
- */
-@Setter
-@Getter
-public class UserNodeUpdateDto {
-    @NotNull
-    private Integer userNodeId;
-    @Pattern(regexp = "^[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,6}$", message = "域名格式不正确")
-    @Size(max = 128, message = "域名长度应小于 128 个字符")
-    private String domain;
-    private String referer;
-    private String secretKey;
-}

+ 5 - 0
file/file-service/src/main/java/cn/reghao/tnb/file/app/model/po/StoreVolume.java

@@ -42,6 +42,11 @@ public class StoreVolume extends BaseObject<Integer> {
     @NotNull
     private Long availInode;
 
+    private String usedSpaceStr;
+    private double percentSpace;
+    private long usedInode;
+    private double percentInode;
+
     public StoreVolume(int storeNodeId, DiskVolume diskVolume) {
         this.storeDir = diskVolume.getStoreDir();
         this.storeNodeId = storeNodeId;

+ 4 - 0
file/file-service/src/main/java/cn/reghao/tnb/file/app/model/po/UploadChannel.java

@@ -39,6 +39,10 @@ public class UploadChannel extends BaseObject<Integer> {
     @NotNull
     private Integer createBy;
 
+    private String maxSizeStr;
+    private String fileTypeStr;
+    private String scopeStr;
+
     public UploadChannel(int channelCode, UploadChannelDto uploadChannelDto, int ossUser) {
         this.userNodeId = uploadChannelDto.getUserNodeId();
         this.channelCode = channelCode;

+ 14 - 4
file/file-service/src/main/java/cn/reghao/tnb/file/app/model/po/UserNode.java

@@ -1,7 +1,7 @@
 package cn.reghao.tnb.file.app.model.po;
 
 import cn.reghao.jutil.jdk.db.BaseObject;
-import cn.reghao.tnb.file.app.model.dto.UserNodeDto;
+import cn.reghao.tnb.file.app.model.dto.NodeAddDto;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.NoArgsConstructor;
@@ -30,9 +30,19 @@ public class UserNode extends BaseObject<Integer> {
     @NotNull
     private Integer createBy;
 
-    public UserNode(UserNodeDto userNodeDto, int createBy) {
-        this.storeNodeId = userNodeDto.getStoreNodeId();
-        this.domain = userNodeDto.getDomain();
+    private String storeNodeAddr;
+
+    public UserNode(NodeAddDto nodeAddDto, int createBy) {
+        this.storeNodeId = nodeAddDto.getStoreNodeId();
+        this.domain = nodeAddDto.getDomain();
+        this.createBy = createBy;
+    }
+
+    public UserNode(int storeNodeId, String domain, String secretKey, String referer, int createBy) {
+        this.storeNodeId = storeNodeId;
+        this.domain = domain;
+        this.secretKey = secretKey;
+        this.referer = referer;
         this.createBy = createBy;
     }
 }

+ 0 - 23
file/file-service/src/main/java/cn/reghao/tnb/file/app/model/vo/StoreDiskInfo.java

@@ -1,23 +0,0 @@
-package cn.reghao.tnb.file.app.model.vo;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * @author reghao
- * @date 2024-03-07 14:25:07
- */
-@AllArgsConstructor
-@Getter
-public class StoreDiskInfo {
-    private String blockId;
-    private String fsType;
-    private String volume;
-    private String storeDir;
-    private String total;
-    private String used;
-    private double percent;
-    private String totalInode;
-    private String usedInode;
-    private double percentInode;
-}

+ 0 - 25
file/file-service/src/main/java/cn/reghao/tnb/file/app/model/vo/UploadChannelInfo.java

@@ -1,25 +0,0 @@
-package cn.reghao.tnb.file.app.model.vo;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-import java.io.Serializable;
-
-/**
- * @author reghao
- * @date 2024-02-28 13:16:02
- */
-@AllArgsConstructor
-@Getter
-public class UploadChannelInfo implements Serializable {
-    private static final long serialVersionUID = 1L;
-
-    private int id;
-    private int channelCode;
-    private String prefix;
-    private String maxSize;
-    private String fileType;
-    private boolean seturl;
-    private String scope;
-    private boolean enabled;
-}

+ 0 - 15
file/file-service/src/main/java/cn/reghao/tnb/file/app/model/vo/UserKeyVo.java

@@ -1,15 +0,0 @@
-package cn.reghao.tnb.file.app.model.vo;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-/**
- * @author reghao
- * @date 2024-03-05 17:17:16
- */
-@AllArgsConstructor
-@Getter
-public class UserKeyVo {
-    private String accessKeyId;
-    private String accessKeySecret;
-}

+ 0 - 23
file/file-service/src/main/java/cn/reghao/tnb/file/app/model/vo/UserNodeInfo.java

@@ -1,23 +0,0 @@
-package cn.reghao.tnb.file.app.model.vo;
-
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
-import java.io.Serializable;
-
-/**
- * @author reghao
- * @date 2024-07-02 16:18:14
- */
-@AllArgsConstructor
-@Getter
-public class UserNodeInfo implements Serializable {
-    private static final long serialVersionUID = 1L;
-
-    private int storeNodeId;
-    private String storeNodeAddr;
-    private int userNodeId;
-    private String userNodeDomain;
-    private String referer;
-    private String secretKey;
-}

+ 3 - 3
file/file-service/src/main/java/cn/reghao/tnb/file/app/service/OssFileService.java

@@ -9,8 +9,8 @@ import cn.reghao.oss.api.constant.ObjectType;
 import cn.reghao.oss.api.dto.ObjectInfo;
 import cn.reghao.tnb.common.auth.UserContext;
 import cn.reghao.tnb.file.app.model.po.StoreNode;
+import cn.reghao.tnb.file.app.model.po.UserNode;
 import cn.reghao.tnb.file.app.model.vo.FileInfo;
-import cn.reghao.tnb.file.app.model.vo.UserNodeInfo;
 import cn.reghao.tnb.file.app.rpc.RpcService;
 import org.apache.dubbo.rpc.RpcException;
 import org.springframework.stereotype.Service;
@@ -66,8 +66,8 @@ public class OssFileService {
     }
 
     public ObjectInfo getObjectInfo(int userNodeId, String objectId) throws Exception {
-        UserNodeInfo userNodeInfo = userNodeService.getUserNodeInfo(userNodeId);
-        String nodeDomain = userNodeInfo.getUserNodeDomain();
+        UserNode userNode = userNodeService.getUserNode(userNodeId);
+        String nodeDomain = userNode.getDomain();
         StoreNode storeNode = userNodeService.getStoreNodeByDomain(nodeDomain);
         if (storeNode == null) {
             return null;

+ 20 - 24
file/file-service/src/main/java/cn/reghao/tnb/file/app/service/StoreNodeService.java

@@ -13,7 +13,6 @@ import cn.reghao.tnb.file.app.db.repository.StoreRepository;
 import cn.reghao.tnb.file.app.model.po.StoreNode;
 import cn.reghao.tnb.file.app.model.po.StoreVolume;
 import cn.reghao.tnb.common.db.SelectOption;
-import cn.reghao.tnb.file.app.model.vo.StoreDiskInfo;
 import cn.reghao.tnb.file.app.model.vo.StoreNodeInfo;
 import cn.reghao.tnb.file.app.rpc.StoreServiceWrapper;
 import org.springframework.stereotype.Service;
@@ -131,7 +130,7 @@ public class StoreNodeService {
                 }).collect(Collectors.toList());
     }
 
-    public List<StoreDiskInfo> getStoreDetail(int storeNodeId) {
+    public List<StoreVolume> getStoreDisks(int storeNodeId) {
         StoreNode storeNode = storeNodeMapper.findById(storeNodeId);
         if (storeNode == null) {
             return null;
@@ -143,27 +142,24 @@ public class StoreNodeService {
                 .collect(Collectors.toList());
         //storeVolumeMapper.saveAll(storeVolumes);
 
-        return list.stream()
-                .map(diskVolume -> {
-                    String blockId = diskVolume.getBlockId();
-                    String fsType = diskVolume.getFsType();
-                    String volume = diskVolume.getVolume();
-                    String storeDir = diskVolume.getStoreDir();
-
-                    long total = diskVolume.getTotalSpace();
-                    long avail = diskVolume.getAvailSpace();
-                    long used = total - avail;
-                    double percent = Calculator.getPercentage(total, avail);
-                    String totalStr = byteConverter.convert(ByteType.Bytes, total);
-                    String usedStr = byteConverter.convert(ByteType.Bytes, used);
-
-                    long totalInode = diskVolume.getTotalInode();
-                    long availInode = diskVolume.getAvailInode();
-                    long usedInode = totalInode - availInode;
-                    double percentInode = Calculator.getPercentage(totalInode, availInode);
-
-                    return new StoreDiskInfo(blockId, fsType, volume, storeDir,
-                            totalStr, usedStr, percent, totalInode+"", usedInode+"", percentInode);
-                }).collect(Collectors.toList());
+        storeVolumes.forEach(storeVolume -> {
+            long total = storeVolume.getTotalSpace();
+            long avail = storeVolume.getAvailSpace();
+            long used = total - avail;
+            double percent = Calculator.getPercentage(total, avail);
+            String totalStr = byteConverter.convert(ByteType.Bytes, total);
+            String usedStr = byteConverter.convert(ByteType.Bytes, used);
+            storeVolume.setUsedSpaceStr(usedStr);
+            storeVolume.setPercentSpace(percent);
+
+            long totalInode = storeVolume.getTotalInode();
+            long availInode = storeVolume.getAvailInode();
+            long usedInode = totalInode - availInode;
+            double percentInode = Calculator.getPercentage(totalInode, availInode);
+            storeVolume.setUsedInode(usedInode);
+            storeVolume.setPercentInode(percentInode);
+        });
+
+        return storeVolumes;
     }
 }

+ 10 - 17
file/file-service/src/main/java/cn/reghao/tnb/file/app/service/UploadChannelService.java

@@ -14,13 +14,10 @@ import cn.reghao.file.api.constant.UploadChannelType;
 import cn.reghao.tnb.file.app.model.dto.UploadChannelDto;
 import cn.reghao.tnb.file.app.model.po.UploadChannel;
 import cn.reghao.tnb.file.app.model.po.UserNode;
-import cn.reghao.tnb.file.app.model.vo.UploadChannelInfo;
-import cn.reghao.tnb.file.app.model.vo.UserNodeInfo;
 import cn.reghao.tnb.file.app.rpc.StoreServiceWrapper;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * @author reghao
@@ -75,9 +72,9 @@ public class UploadChannelService {
      */
     public void initUploadChannel() throws Exception {
         int ossUser = storeConfigService.getLocalOssUser();
-        List<UserNodeInfo> list = userNodeService.getUserNodes(ossUser);
+        List<UserNode> list = userNodeService.getUserNodes(ossUser);
         if (list.size() == 1 && uploadChannelMapper.findByCreateBy(ossUser).isEmpty()) {
-            int userNodeId = list.get(0).getUserNodeId();
+            int userNodeId = list.get(0).getId();
             for (UploadChannelType uploadChannelType : UploadChannelType.values()) {
                 UploadChannel uploadChannel = new UploadChannel(userNodeId, uploadChannelType, ossUser);
                 channelRepository.createUploadChannel(uploadChannel);
@@ -120,21 +117,17 @@ public class UploadChannelService {
         return Result.result(ResultStatus.FAIL, errMsg);
     }
 
-    public List<UploadChannelInfo> getChannelsByUserNode(int userNodeId) {
+    public List<UploadChannel> getChannelsByUserNode(int userNodeId) {
         long createBy = storeConfigService.getLocalOssUser();
-        List<UploadChannel> page = uploadChannelMapper.findByCreateByAndUserNodeId(createBy, userNodeId);
-        List<UploadChannelInfo> list = page.stream().map(uploadChannel -> {
-            long maxSize = uploadChannel.getMaxSize();
-            String maxSizeStr = byteConverter.convert(ByteType.Bytes, maxSize);
-            int id = uploadChannel.getId();
-            int channelCode = uploadChannel.getChannelCode();
-            String prefix = uploadChannel.getPrefix();
+        List<UploadChannel> list = uploadChannelMapper.findByCreateByAndUserNodeId(createBy, userNodeId);
+        list.forEach(uploadChannel -> {
+            String maxSizeStr = byteConverter.convert(ByteType.Bytes, uploadChannel.getMaxSize());
+            uploadChannel.setMaxSizeStr(maxSizeStr);
             String fileTypeStr = ObjectType.getDescByCode(uploadChannel.getFileType());
-            boolean seturl = uploadChannel.getSeturl();
+            uploadChannel.setFileTypeStr(fileTypeStr);
             String scopeStr = ObjectScope.getByCode(uploadChannel.getScope()).name();
-            boolean enabled = uploadChannel.getEnabled();
-            return new UploadChannelInfo(id, channelCode, prefix, maxSizeStr, fileTypeStr, seturl, scopeStr, enabled);
-        }).collect(Collectors.toList());
+            uploadChannel.setScopeStr(scopeStr);
+        });
 
         return list;
     }

+ 2 - 7
file/file-service/src/main/java/cn/reghao/tnb/file/app/service/UserKeyService.java

@@ -6,12 +6,9 @@ import cn.reghao.oss.api.constant.ChannelAction;
 import cn.reghao.oss.api.dto.OssPayload;
 import cn.reghao.oss.api.util.JwtUtil;
 import cn.reghao.tnb.common.auth.LoginUser;
-import cn.reghao.tnb.common.auth.UserContext;
 import cn.reghao.tnb.file.app.db.mapper.UserKeyMapper;
-import cn.reghao.tnb.file.app.db.mapper.UserNodeMapper;
 import cn.reghao.tnb.file.app.model.dto.KeyAuthDto;
 import cn.reghao.tnb.file.app.model.po.UserKey;
-import cn.reghao.tnb.file.app.model.vo.UserKeyVo;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
@@ -78,15 +75,13 @@ public class UserKeyService {
         userKeyMapper.updateByCreateBy(userKey);
     }
 
-    public List<UserKeyVo> getUserKeys(int ossUser) {
+    public List<UserKey> getUserKeys(int ossUser) {
         UserKey userKey = userKeyMapper.findByCreateBy(ossUser);
         if (userKey == null) {
             userKey = create(ossUser);
         }
 
-        String accessKeyId = userKey.getAccessKeyId();
-        String accessKeySecret = userKey.getAccessKeySecret();
-        return List.of(new UserKeyVo(accessKeyId, accessKeySecret));
+        return List.of(userKey);
     }
 
     private UserKey create(int ossUser) {

+ 16 - 29
file/file-service/src/main/java/cn/reghao/tnb/file/app/service/UserNodeService.java

@@ -1,18 +1,16 @@
 package cn.reghao.tnb.file.app.service;
 
 import cn.reghao.jutil.jdk.result.Result;
-import cn.reghao.tnb.common.auth.UserContext;
 import cn.reghao.tnb.common.util.ConstantId;
 import cn.reghao.tnb.file.app.db.mapper.StoreNodeMapper;
 import cn.reghao.tnb.file.app.db.mapper.UploadChannelMapper;
 import cn.reghao.tnb.file.app.db.mapper.UserNodeMapper;
-import cn.reghao.tnb.file.app.model.dto.UserNodeDto;
-import cn.reghao.tnb.file.app.model.dto.UserNodeUpdateDto;
+import cn.reghao.tnb.file.app.model.dto.NodeAddDto;
+import cn.reghao.tnb.file.app.model.dto.NodeUpdateDto;
 import cn.reghao.tnb.file.app.model.po.StoreNode;
 import cn.reghao.tnb.file.app.model.po.UploadChannel;
 import cn.reghao.tnb.file.app.model.po.UserNode;
 import cn.reghao.tnb.common.db.SelectOption;
-import cn.reghao.tnb.file.app.model.vo.UserNodeInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
@@ -39,8 +37,8 @@ public class UserNodeService {
         this.storeConfigService = storeConfigService;
     }
 
-    public Result add(UserNodeDto userNodeDto) {
-        int storeNodeId = userNodeDto.getStoreNodeId();
+    public Result add(NodeAddDto nodeAddDto) {
+        int storeNodeId = nodeAddDto.getStoreNodeId();
         int ossUser = storeConfigService.getLocalOssUser();
         UserNode userNode = userNodeMapper.findByCreateByAndStoreNodeId(ossUser, storeNodeId);
         if (userNode != null) {
@@ -52,7 +50,7 @@ public class UserNodeService {
             return Result.success("StoreNode not exist");
         }
 
-        userNode = new UserNode(userNodeDto, ossUser);
+        userNode = new UserNode(nodeAddDto, ossUser);
         userNodeMapper.save(userNode);
         return Result.success("node added");
     }
@@ -78,8 +76,8 @@ public class UserNodeService {
         userNodeMapper.save(userNode);
     }
 
-    public void updateUserNode(UserNodeUpdateDto userNodeUpdateDto) {
-        userNodeMapper.updateUserNode(userNodeUpdateDto);
+    public void updateUserNode(NodeUpdateDto nodeUpdateDto) {
+        userNodeMapper.updateUserNode(nodeUpdateDto);
     }
 
     public Result delete(int id) {
@@ -99,33 +97,22 @@ public class UserNodeService {
         return Result.fail("UserNode not exists");
     }
 
-    public List<UserNodeInfo> getUserNodes(int loginUser) {
+    public List<UserNode> getUserNodes(int loginUser) {
         List<UserNode> list = userNodeMapper.findByCreateBy(loginUser);
-        return list.stream()
-                .map(this::getUserNodeInfo)
-                .collect(Collectors.toList());
-    }
-
-    private UserNodeInfo getUserNodeInfo(UserNode userNode) {
-        int userNodeId = userNode.getId();
-        int storeNodeId = userNode.getStoreNodeId();
-        StoreNode storeNode = storeNodeMapper.findById(storeNodeId);
-        String nodeAddr = storeNode.getNodeAddr();
-        String domain = userNode.getDomain();
-        String referer = userNode.getReferer();
-        String secretKey = userNode.getSecretKey();
-        return new UserNodeInfo(storeNodeId, nodeAddr, userNodeId, domain, referer, secretKey);
+        list.forEach(userNode -> {
+            int storeNodeId = userNode.getStoreNodeId();
+            StoreNode storeNode = storeNodeMapper.findById(storeNodeId);
+            String nodeAddr = storeNode.getNodeAddr();
+            userNode.setStoreNodeAddr(nodeAddr);
+        });
+
+        return list;
     }
 
     public UserNode getUserNode(int userNodeId) {
         return userNodeMapper.findById(userNodeId);
     }
 
-    public UserNodeInfo getUserNodeInfo(int userNodeId) {
-        UserNode userNode = userNodeMapper.findById(userNodeId);
-        return getUserNodeInfo(userNode);
-    }
-
     public UserNode getUserNodeByDomain(String domain) {
         return userNodeMapper.findByDomain(domain);
     }