reghao 1 mēnesi atpakaļ
vecāks
revīzija
32d5aa4792

+ 2 - 2
oss-mgr/src/main/java/cn/reghao/oss/mgr/controller/UploadChannelController.java

@@ -8,9 +8,9 @@ import cn.reghao.oss.api.constant.ObjectType;
 import cn.reghao.oss.api.dto.SelectOption;
 import cn.reghao.oss.mgr.config.UserContext;
 import cn.reghao.oss.mgr.model.dto.UploadChannelDto;
-import cn.reghao.oss.mgr.model.po.UploadChannel;
 import cn.reghao.oss.mgr.model.po.UserNode;
 import cn.reghao.oss.mgr.model.vo.AddChannelAttr;
+import cn.reghao.oss.mgr.model.vo.UploadChannelInfo;
 import cn.reghao.oss.mgr.service.UploadChannelService;
 import cn.reghao.oss.mgr.service.UserNodeService;
 import io.swagger.v3.oas.annotations.Operation;
@@ -52,7 +52,7 @@ public class UploadChannelController {
             WebResult.failWithMsg(errMsg);
         }
 
-        List<UploadChannel> list = uploadChannelService.getChannelsByUserNode(userNodeId);
+        List<UploadChannelInfo> list = uploadChannelService.getChannelsByUserNode(userNodeId);
         return WebResult.success(list);
     }
 

+ 3 - 1
oss-mgr/src/main/java/cn/reghao/oss/mgr/db/mapper/DataBlockMapper.java

@@ -17,6 +17,8 @@ public interface DataBlockMapper extends BaseMapper<DataBlock> {
     DataBlock findBySha256sum(String sha256sum);
     DataBlock findByObjectId(String objectId);
 
-    void updateDataBlock(@Param("id") int id, @Param("hostPort") String hostPort);
+    void updateDataBlock(@Param("id") int id,
+                         @Param("path") String path,
+                         @Param("hostPort") String hostPort);
     List<DataBlock> findAllById(@Param("pageSize") int pageSize, @Param("nextId") int nextId);
 }

+ 0 - 4
oss-mgr/src/main/java/cn/reghao/oss/mgr/model/po/UploadChannel.java

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

+ 37 - 0
oss-mgr/src/main/java/cn/reghao/oss/mgr/model/vo/UploadChannelInfo.java

@@ -0,0 +1,37 @@
+package cn.reghao.oss.mgr.model.vo;
+
+import cn.reghao.oss.api.constant.ObjectScope;
+import cn.reghao.oss.api.constant.ObjectType;
+import cn.reghao.oss.mgr.model.po.UploadChannel;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+
+/**
+ * @author reghao
+ * @date 2026-06-16 13:05:30
+ */
+@NoArgsConstructor
+@Getter
+@Setter
+public class UploadChannelInfo {
+    private Integer userNodeId;
+    private Integer channelCode;
+    private String name;
+    private String prefix;
+    private String maxSize;
+    private String fileType;
+    private String scope;
+    private Boolean enabled;
+
+    public UploadChannelInfo(UploadChannel uploadChannel, String maxSizeStr) {
+        this.userNodeId = uploadChannel.getUserNodeId();
+        this.channelCode = uploadChannel.getChannelCode();
+        this.name = uploadChannel.getName();
+        this.prefix = uploadChannel.getPrefix();
+        this.maxSize = maxSizeStr;
+        this.fileType = ObjectType.getDescByCode(uploadChannel.getFileType());
+        this.scope = ObjectScope.getByCode(uploadChannel.getScope()).getName();
+        this.enabled = uploadChannel.getEnabled();
+    }
+}

+ 2 - 2
oss-mgr/src/main/java/cn/reghao/oss/mgr/service/OssClientService.java

@@ -255,7 +255,7 @@ public class OssClientService {
                 host = uploadTask.getHost();
                 httpPort = uploadTask.getHttpPort();
             } else {
-                String errorMsg = String.format("object with id {} not exist", objectId);
+                String errorMsg = String.format("object with id %s not exist", objectId);
                 throw new RuntimeException(errorMsg);
             }
         } else {
@@ -291,7 +291,7 @@ public class OssClientService {
                 host = uploadTask.getHost();
                 httpPort = uploadTask.getHttpPort();
             } else {
-                String errorMsg = String.format("object with id {} not exist", objectId);
+                String errorMsg = String.format("object with id %s not exist", objectId);
                 throw new RuntimeException(errorMsg);
             }
         } else {

+ 6 - 12
oss-mgr/src/main/java/cn/reghao/oss/mgr/service/UploadChannelService.java

@@ -5,17 +5,17 @@ import cn.reghao.jutil.jdk.converter.ByteType;
 import cn.reghao.jutil.jdk.web.result.Result;
 import cn.reghao.jutil.jdk.web.result.ResultStatus;
 import cn.reghao.oss.api.dto.ObjectChannel;
-import cn.reghao.oss.api.constant.ObjectScope;
-import cn.reghao.oss.api.constant.ObjectType;
 import cn.reghao.oss.mgr.db.mapper.UploadChannelMapper;
 import cn.reghao.oss.mgr.db.repository.ChannelRepository;
 import cn.reghao.oss.api.constant.UploadChannelType;
 import cn.reghao.oss.mgr.model.dto.UploadChannelDto;
 import cn.reghao.oss.mgr.model.po.UploadChannel;
 import cn.reghao.oss.mgr.model.po.UserNode;
+import cn.reghao.oss.mgr.model.vo.UploadChannelInfo;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * @author reghao
@@ -113,19 +113,13 @@ public class UploadChannelService {
         return Result.result(ResultStatus.FAIL, errMsg);
     }
 
-    public List<UploadChannel> getChannelsByUserNode(int userNodeId) {
+    public List<UploadChannelInfo> getChannelsByUserNode(int userNodeId) {
         long createBy = storeConfigService.getLocalOssUser();
         List<UploadChannel> list = uploadChannelMapper.findByCreateByAndUserNodeId(createBy, userNodeId);
-        list.forEach(uploadChannel -> {
+        return list.stream().map(uploadChannel -> {
             String maxSizeStr = byteConverter.convert(ByteType.Bytes, uploadChannel.getMaxSize());
-            uploadChannel.setMaxSizeStr(maxSizeStr);
-            String fileTypeStr = ObjectType.getDescByCode(uploadChannel.getFileType());
-            uploadChannel.setFileTypeStr(fileTypeStr);
-            String scopeStr = ObjectScope.getByCode(uploadChannel.getScope()).name();
-            uploadChannel.setScopeStr(scopeStr);
-        });
-
-        return list;
+            return new UploadChannelInfo(uploadChannel, maxSizeStr);
+        }).toList();
     }
 
     public List<UploadChannel> getUploadChannelsByCreateBy(long createBy) {

+ 1 - 1
oss-mgr/src/main/resources/mapper/DataBlockMapper.xml

@@ -24,7 +24,7 @@
     </update>
     <update id="updateDataBlock">
         update data_block
-        set host_port=#{hostPort}
+        set absolute_path=#{path}, host_port=#{hostPort}
         where id=#{id}
     </update>
 

+ 5 - 0
oss-mgr/src/main/resources/mapper/FileMetaMapper.xml

@@ -38,6 +38,11 @@
         where object_id=#{objectId}
     </update>
 
+    <select id="findAll" resultType="cn.reghao.oss.mgr.model.po.FileMeta">
+        select *
+        from file_meta fm
+        where fm.object_name like 'video/cam/%'
+    </select>
     <select id="findBySha256sum" resultType="cn.reghao.oss.mgr.model.po.FileMeta">
         select *
         from file_meta

+ 15 - 3
oss-mgr/src/test/java/FileMetaTest.java

@@ -34,10 +34,18 @@ public class FileMetaTest {
     public void test() {
         //userKeyMapper.findByAccessKeyId();
         findAllById();
+        //test0();
     }
 
+    private void test0() {
+        //long total = dataBlockMapper.findAll().stream().mapToLong(DataBlock::getSize).sum();
+        long total = 2104698137872L;
+        String result = byteConverter.convert(total);
+        System.out.println(result);
+    }
+
+    ByteConverter byteConverter = new ByteConverter();
     private void findBySha256List() {
-        ByteConverter byteConverter = new ByteConverter();
         List<DataBlock> dataBlocks = dataBlockMapper.findAll();
         long total = dataBlocks.stream().mapToLong(DataBlock::getSize).sum();
         String result = byteConverter.convert(total);
@@ -77,8 +85,12 @@ public class FileMetaTest {
     }
 
     private void process(DataBlock dataBlock) {
-        String hostPort = "192.168.0.10:8020";
         int id = dataBlock.getId();
-        dataBlockMapper.updateDataBlock(id, hostPort);
+        String absolutePath = dataBlock.getAbsolutePath();
+        if (absolutePath.startsWith("/disk/a/data")) {
+            String hostPort = "192.168.0.10:8020";
+            String absolutePath1 = absolutePath.replace("/disk/a/data/", "/opt/disk/13f654c8-af87-4710-aac9-7aa086c99aec/data/");
+            dataBlockMapper.updateDataBlock(id, absolutePath1, hostPort);
+        }
     }
 }