Browse Source

update content-service/disk

reghao 6 tháng trước cách đây
mục cha
commit
ee9115de1b

+ 7 - 16
content/content-service/src/main/java/cn/reghao/tnb/content/app/disk/controller/NetDiskController.java

@@ -40,11 +40,10 @@ public class NetDiskController {
     @Operation(summary = "网盘文件列表页面", description = "N")
     @GetMapping("/file")
     public String diskPage(SearchForm searchForm) {
-        Integer pageNumber = searchForm.getPageNo();
+        Integer pageNumber = searchForm.getPn();
         String filename = searchForm.getFilename();
         String path = searchForm.getPath();
         Integer fileType = searchForm.getFileType();
-
         if (pageNumber == null) {
             pageNumber = 1;
         }
@@ -66,22 +65,14 @@ public class NetDiskController {
 
         PageList<FileInfo> pageList = netDiskQuery.findByPid(pageSize, pageNumber, pid);
         List<NamePath> pathList = netDiskService.getPathList(path);
-
-        int showTitle = 3;
-        String uploadPage = String.format("/bg/file/upload?channelCode=%s", showTitle);
-
-        /*model.addAttribute("parentDirs", pathList);
-        model.addAttribute("page", page);
-        model.addAttribute("uploadPage", uploadPage);
-        model.addAttribute("showTitle", showTitle);
-        model.addAttribute("query", queryParams);*/
-        return WebResult.success(pageList);
+        DiskInfo diskInfo = new DiskInfo(pageList, pathList);
+        return WebResult.success(diskInfo);
     }
 
     @Operation(summary = "图片文件列表页面", description = "N")
     @GetMapping("/image")
     public String getPhotoPage(SearchForm searchForm) {
-        Integer pageNumber = searchForm.getPageNo();
+        Integer pageNumber = searchForm.getPn();
         if (pageNumber == null) {
             pageNumber = 1;
         }
@@ -94,7 +85,7 @@ public class NetDiskController {
     @Operation(summary = "视频文件列表页面", description = "N")
     @GetMapping("/video")
     public String diskVideoPage(SearchForm searchForm) {
-        Integer pageNumber = searchForm.getPageNo();
+        Integer pageNumber = searchForm.getPn();
         if (pageNumber == null) {
             pageNumber = 1;
         }
@@ -107,7 +98,7 @@ public class NetDiskController {
     @Operation(summary = "音频文件列表页面", description = "N")
     @GetMapping("/audio")
     public String diskAudioPage(SearchForm searchForm) {
-        Integer pageNumber = searchForm.getPageNo();
+        Integer pageNumber = searchForm.getPn();
         if (pageNumber == null) {
             pageNumber = 1;
         }
@@ -120,7 +111,7 @@ public class NetDiskController {
     @Operation(summary = "文档文件列表页面", description = "N")
     @GetMapping("/doc")
     public String diskDocPage(SearchForm searchForm) {
-        Integer pageNumber = searchForm.getPageNo();
+        Integer pageNumber = searchForm.getPn();
         if (pageNumber == null) {
             pageNumber = 1;
         }

+ 2 - 2
content/content-service/src/main/java/cn/reghao/tnb/content/app/disk/db/mapper/CamDeviceMapper.java

@@ -16,6 +16,6 @@ import java.util.List;
 @Mapper
 public interface CamDeviceMapper extends BaseMapper<CamDevice> {
     int countByCamDeviceQuery(CamDeviceQuery camDeviceQuery);
-    List<CamDevice> findCamDeviceQueryByPage(@Param("camDeviceQuery") CamDeviceQuery camDeviceQuery,
-                                             @Param("page") Page page);
+    List<CamDevice> findCamDeviceQueryByPage(@Param("page") Page page,
+                                             @Param("camDeviceQuery") CamDeviceQuery camDeviceQuery);
 }

+ 1 - 1
content/content-service/src/main/java/cn/reghao/tnb/content/app/disk/model/dto/SearchForm.java

@@ -10,7 +10,7 @@ import lombok.Setter;
 @Setter
 @Getter
 public class SearchForm {
-    private Integer pageNo;
+    private Integer pn;
     private String path;
     private Integer fileType;
     private String filename;

+ 16 - 0
content/content-service/src/main/java/cn/reghao/tnb/content/app/disk/model/vo/DiskInfo.java

@@ -0,0 +1,16 @@
+package cn.reghao.tnb.content.app.disk.model.vo;
+
+import cn.reghao.jutil.jdk.db.PageList;
+import lombok.AllArgsConstructor;
+
+import java.util.List;
+
+/**
+ * @author reghao
+ * @date 2025-08-31 22:57:46
+ */
+@AllArgsConstructor
+public class DiskInfo {
+    private PageList<FileInfo> pageList;
+    private List<NamePath> pathList;
+}

+ 8 - 9
content/content-service/src/main/java/cn/reghao/tnb/content/app/disk/model/vo/FileUrl.java

@@ -1,5 +1,6 @@
 package cn.reghao.tnb.content.app.disk.model.vo;
 
+import cn.reghao.oss.sdk.model.dto.ObjectInfo;
 import cn.reghao.tnb.content.app.disk.model.po.NetDisk;
 import lombok.Getter;
 import lombok.NoArgsConstructor;
@@ -20,15 +21,13 @@ public class FileUrl {
     private String url;
     private String filename;
     private String objectName;
-    private Integer channelCode;
 
-    public FileUrl(NetDisk netDisk) {
-        this.fileId = netDisk.getFileId();
-        this.fileType = netDisk.getFileType();
-        this.originalUrl = netDisk.getFileId();
-        this.url = netDisk.getFileId();
-        this.filename = netDisk.getFilename();
-        this.objectName = netDisk.getFilename();
-        this.channelCode = netDisk.getChannelCode();
+    public FileUrl(ObjectInfo objectInfo, String signedUrl) {
+        this.fileId = objectInfo.getObjectId();
+        this.fileType = objectInfo.getFileType();
+        this.originalUrl = objectInfo.getUrl();
+        this.url = signedUrl;
+        this.filename = objectInfo.getFilename();
+        this.objectName = objectInfo.getFilename();
     }
 }

+ 3 - 3
content/content-service/src/main/java/cn/reghao/tnb/content/app/disk/service/CamRecordService.java

@@ -60,7 +60,7 @@ public class CamRecordService {
                     .camName(camName)
                     .build();
             Page page = new Page(1, 10);
-            List<CamDevice> camDeviceList = camDeviceMapper.findCamDeviceQueryByPage(camDeviceQuery, page);
+            List<CamDevice> camDeviceList = camDeviceMapper.findCamDeviceQueryByPage(page, camDeviceQuery);
             long camId = camDeviceList.get(0).getCamId();
             int duration = videoInfo.getDuration();
             long recordId = idGenerator.nextId();
@@ -83,7 +83,7 @@ public class CamRecordService {
                 .camName(camName)
                 .build();
         Page page = new Page(1, 10);
-        List<CamDevice> camDeviceList = camDeviceMapper.findCamDeviceQueryByPage(camDeviceQuery, page);
+        List<CamDevice> camDeviceList = camDeviceMapper.findCamDeviceQueryByPage(page, camDeviceQuery);
         long camId = camDeviceList.get(0).getCamId();
         int duration = camRecordDto.getDuration();
         long recordId = idGenerator.nextId();
@@ -163,7 +163,7 @@ public class CamRecordService {
                 .camId(camId)
                 .build();
         Page page = new Page(1, 10);
-        List<CamDevice> camDeviceList = camDeviceMapper.findCamDeviceQueryByPage(camDeviceQuery, page);
+        List<CamDevice> camDeviceList = camDeviceMapper.findCamDeviceQueryByPage(page, camDeviceQuery);
         CamDevice camDevice = camDeviceList.get(0);
         if (camDevice.getState()) {
             String videoUrl = camDevice.getPullUrl();

+ 2 - 2
content/content-service/src/main/java/cn/reghao/tnb/content/app/disk/service/CamService.java

@@ -56,7 +56,7 @@ public class CamService {
                 .owner(loginUser)
                 .build();
         Page page = new Page(1, 100);
-        List<CamDevice> camDeviceList = camDeviceMapper.findCamDeviceQueryByPage(camDeviceQuery, page);
+        List<CamDevice> camDeviceList = camDeviceMapper.findCamDeviceQueryByPage(page, camDeviceQuery);
         int total = camDeviceList.size();
 
         return camDeviceList.stream().map(camDevice -> {
@@ -73,7 +73,7 @@ public class CamService {
                 .owner(loginUser)
                 .build();
         Page page = new Page(pageNumber, pageSize);
-        List<CamDevice> camDeviceList = camDeviceMapper.findCamDeviceQueryByPage(camDeviceQuery, page);
+        List<CamDevice> camDeviceList = camDeviceMapper.findCamDeviceQueryByPage(page, camDeviceQuery);
         int total = camDeviceList.size();
         return PageList.pageList(pageNumber, pageSize, total, camDeviceList);
     }

+ 15 - 2
content/content-service/src/main/java/cn/reghao/tnb/content/app/disk/service/NetDiskQuery.java

@@ -1,15 +1,18 @@
 package cn.reghao.tnb.content.app.disk.service;
 
+import cn.reghao.file.api.iface.OssService;
 import cn.reghao.jutil.jdk.converter.ByteConverter;
 import cn.reghao.jutil.jdk.converter.ByteType;
 import cn.reghao.jutil.jdk.db.Page;
 import cn.reghao.jutil.jdk.db.PageList;
 import cn.reghao.oss.sdk.model.constant.ObjectType;
+import cn.reghao.oss.sdk.model.dto.ObjectInfo;
 import cn.reghao.tnb.common.auth.UserContext;
 import cn.reghao.tnb.content.app.disk.db.mapper.NetDiskMapper;
 import cn.reghao.tnb.content.app.disk.model.po.NetDisk;
 import cn.reghao.tnb.content.app.disk.model.query.DiskQuery;
 import cn.reghao.tnb.content.app.disk.model.vo.*;
+import org.apache.dubbo.config.annotation.DubboReference;
 import org.springframework.cache.annotation.Cacheable;
 import org.springframework.stereotype.Service;
 
@@ -25,6 +28,8 @@ import java.util.stream.Collectors;
  */
 @Service
 public class NetDiskQuery {
+    @DubboReference(check = false, timeout = 60_000)
+    private OssService ossService;
     private final NetDiskMapper netDiskMapper;
     private final ByteConverter byteConverter;
 
@@ -78,7 +83,6 @@ public class NetDiskQuery {
 
     public PageList<FileInfo> findByPid(int pageSize, int pageNumber, String pid) {
         String[] sortProps = {"fileType", "filename"};
-
         long loginUser = UserContext.getUserId();
         DiskQuery diskQuery = new DiskQuery.Builder()
                 .pid(pid)
@@ -86,6 +90,7 @@ public class NetDiskQuery {
                 .build();
 
         Page page = new Page(pageNumber, pageSize);
+        int total = netDiskMapper.countByDiskQuery(diskQuery);
         List<NetDisk> netDiskList = netDiskMapper.findDiskQueryByPage(page, diskQuery);
 
         List<FileInfo> list = netDiskList.stream().map(netDisk -> {
@@ -93,7 +98,6 @@ public class NetDiskQuery {
             return new FileInfo(netDisk, sizeStr);
         }).collect(Collectors.toList());
 
-        int total = list.size();
         return PageList.pageList(pageNumber, pageSize, total, list);
     }
 
@@ -161,7 +165,16 @@ public class NetDiskQuery {
                 return null;
             }
 
+            int channelCode = 111;
             String objectId = netDisk.getFileId();
+            try {
+                ObjectInfo objectInfo = ossService.getObjectInfo(channelCode, objectId);
+                String signedUrl = ossService.getSignedUrl(channelCode, objectId);
+                return new FileUrl(objectInfo, signedUrl);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+
             /*DiskFile diskFile = fileService.getDiskFile(objectId);
             if (diskFile != null) {
                 return new FileUrl(diskFile);