Explorar el Código

添加文件记录日志接口

pans hace 8 meses
padre
commit
6e2f5968bf

+ 30 - 13
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/FileController.java

@@ -35,7 +35,6 @@ import vip.xiaonuo.disk.domain.UserFile;
 import vip.xiaonuo.disk.dto.file.*;
 import vip.xiaonuo.disk.io.QiwenFile;
 import vip.xiaonuo.disk.service.IFileService;
-import vip.xiaonuo.disk.service.IOperationLogService;
 import vip.xiaonuo.disk.service.IUserFileService;
 import vip.xiaonuo.disk.util.OperationLogUtil;
 import vip.xiaonuo.disk.util.QiwenFileUtil;
@@ -45,6 +44,7 @@ import vip.xiaonuo.disk.vo.file.FileListVO;
 import vip.xiaonuo.disk.vo.file.SearchFileVO;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
 import java.io.ByteArrayInputStream;
 import java.io.FileInputStream;
@@ -73,8 +73,6 @@ public class FileController {
     AsyncTaskComp asyncTaskComp;
     @Resource
     OperationLogUtil operationLogUtil;
-    @Resource
-    IOperationLogService iOperationLogService;
 
     @Autowired
     private ElasticsearchClient elasticsearchClient;
@@ -88,10 +86,13 @@ public class FileController {
 
     public static final String CURRENT_MODULE = "文件接口";
 
+    public static final String SUCCESS = "操作成功";
+
+    public static final String FAIL = "操作失败";
     @Operation(summary = "创建文件", description = "创建文件", tags = {"file"})
     @ResponseBody
     @RequestMapping(value = "/createFile", method = RequestMethod.POST)
-    public RestResult<Object> createFile(@Valid @RequestBody CreateFileDTO createFileDTO) {
+    public RestResult<Object> createFile(HttpServletRequest httpServletRequest,@Valid @RequestBody CreateFileDTO createFileDTO) {
 
         try {
 
@@ -150,9 +151,13 @@ public class FileController {
                 userFile.setCreateUserId(SessionUtil.getUserId());
                 userFileService.save(userFile);
             }
+
+            operationLogUtil.getOperationLogObj(httpServletRequest,StpLoginUserUtil.getLoginUser().getId(),RestResult.success().getMessage(),CURRENT_MODULE,"创建文件",SUCCESS);
+
             return RestResult.success().message("文件创建成功");
         } catch (Exception e) {
             log.error(e.getMessage());
+            operationLogUtil.getOperationLogObj(httpServletRequest,StpLoginUserUtil.getLoginUser().getId(),RestResult.fail().getMessage(),CURRENT_MODULE,"创建文件失败",FAIL);
             return RestResult.fail().message(e.getMessage());
         }
     }
@@ -166,7 +171,7 @@ public class FileController {
     @Operation(summary = "创建文件", description = "创建文件", tags = {"file"})
     @ResponseBody
     @RequestMapping(value = "/createCommonFile", method = RequestMethod.POST)
-    public RestResult<Object> createCommonFile(@Valid @RequestBody CreateFileDTO createFileDTO) {
+    public RestResult<Object> createCommonFile(HttpServletRequest httpServletRequest,@Valid @RequestBody CreateFileDTO createFileDTO) {
 
         try {
 
@@ -225,9 +230,12 @@ public class FileController {
                 userFile.setCreateUserId(SessionUtil.getUserId());
                 userFileService.save(userFile);
             }
+
+            operationLogUtil.getOperationLogObj(httpServletRequest,StpLoginUserUtil.getLoginUser().getId(),RestResult.success().getMessage(),CURRENT_MODULE,"创建文件",SUCCESS);
             return RestResult.success().message("文件创建成功");
         } catch (Exception e) {
             log.error(e.getMessage());
+            operationLogUtil.getOperationLogObj(httpServletRequest,StpLoginUserUtil.getLoginUser().getId(),RestResult.fail().getMessage(),CURRENT_MODULE,"创建文件失败",FAIL);
             return RestResult.fail().message(e.getMessage());
         }
     }
@@ -240,9 +248,8 @@ public class FileController {
     @RequestMapping(value = "/createFold", method = RequestMethod.POST)
     @MyLog(operation = "创建文件夹", module = CURRENT_MODULE)
     @ResponseBody
-    public RestResult<String> createFold(@Valid @RequestBody CreateFoldDTO createFoldDto) {
+    public RestResult<String> createFold(HttpServletRequest httpServletRequest,@Valid @RequestBody CreateFoldDTO createFoldDto) {
 
-//        String userId = SessionUtil.getSession().getUserId();
         String userId = StpLoginUserUtil.getLoginUser().getId();
         String filePath = createFoldDto.getFilePath();
 
@@ -250,6 +257,7 @@ public class FileController {
         boolean isDirExist = fileDealComp.isDirExist(createFoldDto.getFileName(), createFoldDto.getFilePath(), userId);
 
         if (isDirExist) {
+            operationLogUtil.getOperationLogObj(httpServletRequest,StpLoginUserUtil.getLoginUser().getId(),RestResult.fail().getMessage(),CURRENT_MODULE,"同名文件夹已存在",FAIL);
             return RestResult.fail().message("同名文件夹已存在");
         }
 
@@ -257,6 +265,7 @@ public class FileController {
 
         userFileService.save(userFile);
         fileDealComp.uploadESByUserFileId(userFile.getUserFileId());
+        operationLogUtil.getOperationLogObj(httpServletRequest,StpLoginUserUtil.getLoginUser().getId(),RestResult.success().getMessage(),CURRENT_MODULE,"创建文件夹",SUCCESS);
         return RestResult.success();
     }
 
@@ -266,7 +275,7 @@ public class FileController {
     @RequestMapping(value = "/createCommonFold", method = RequestMethod.POST)
     @MyLog(operation = "创建文件夹", module = CURRENT_MODULE)
     @ResponseBody
-    public RestResult<String> createCommonFold(@Valid @RequestBody CreateFoldDTO createFoldDto) {
+    public RestResult<String> createCommonFold(HttpServletRequest httpServletRequest,@Valid @RequestBody CreateFoldDTO createFoldDto) {
 
 //        String userId = SessionUtil.getSession().getUserId();
         String userId = commonUserId;
@@ -276,6 +285,7 @@ public class FileController {
         boolean isDirExist = fileDealComp.isDirExist(createFoldDto.getFileName(), createFoldDto.getFilePath(), userId);
 
         if (isDirExist) {
+            operationLogUtil.getOperationLogObj(httpServletRequest,commonUserId,RestResult.fail().getMessage(),CURRENT_MODULE,"同名文件夹已存在",FAIL);
             return RestResult.fail().message("同名文件夹已存在");
         }
 
@@ -283,6 +293,7 @@ public class FileController {
 
         userFileService.save(userFile);
         fileDealComp.uploadESByUserFileId(userFile.getUserFileId());
+        operationLogUtil.getOperationLogObj(httpServletRequest,commonUserId,RestResult.success().getMessage(),CURRENT_MODULE,"创建文件夹",SUCCESS);
         return RestResult.success();
     }
 
@@ -296,7 +307,7 @@ public class FileController {
     @GetMapping(value = "/search")
     @MyLog(operation = "文件搜索", module = CURRENT_MODULE)
     @ResponseBody
-    public RestResult<SearchFileVO> searchFile(SearchFileDTO searchFileDTO) {
+    public RestResult<SearchFileVO> searchFile(HttpServletRequest httpServletRequest,SearchFileDTO searchFileDTO) {
 //        JwtUser sessionUserBean =  SessionUtil.getSession();
         String userId = StpLoginUserUtil.getLoginUser().getId();
 
@@ -353,6 +364,8 @@ public class FileController {
             searchFileVOList.add(searchFileVO);
             asyncTaskComp.checkESUserFileId(searchFileVO.getUserFileId());
         }
+        operationLogUtil.getOperationLogObj(httpServletRequest,userId,RestResult.success().getMessage(),CURRENT_MODULE,"文件搜索",SUCCESS);
+
         return RestResult.success().dataList(searchFileVOList, searchFileVOList.size());
     }
 
@@ -366,7 +379,7 @@ public class FileController {
     @GetMapping(value = "/searchCommon")
     @MyLog(operation = "文件搜索", module = CURRENT_MODULE)
     @ResponseBody
-    public RestResult<SearchFileVO> searchCommon(SearchFileDTO searchFileDTO) {
+    public RestResult<SearchFileVO> searchCommon(HttpServletRequest httpServletRequest,SearchFileDTO searchFileDTO) {
         String userId = commonUserId;
 
         int currentPage = (int)searchFileDTO.getCurrentPage() - 1;
@@ -422,6 +435,7 @@ public class FileController {
             searchFileVOList.add(searchFileVO);
             asyncTaskComp.checkESUserFileId(searchFileVO.getUserFileId());
         }
+        operationLogUtil.getOperationLogObj(httpServletRequest,commonUserId,RestResult.success().getMessage(),CURRENT_MODULE,"文件搜索",SUCCESS);
         return RestResult.success().dataList(searchFileVOList, searchFileVOList.size());
     }
 
@@ -434,14 +448,14 @@ public class FileController {
     @RequestMapping(value = "/renamefile", method = RequestMethod.POST)
     @MyLog(operation = "文件重命名", module = CURRENT_MODULE)
     @ResponseBody
-    public RestResult<String> renameFile(@RequestBody RenameFileDTO renameFileDto) {
+    public RestResult<String> renameFile(HttpServletRequest httpServletRequest,@RequestBody RenameFileDTO renameFileDto) {
 
-//        JwtUser sessionUserBean =  SessionUtil.getSession();
         String userId = StpLoginUserUtil.getLoginUser().getId();
         UserFile userFile = userFileService.getById(renameFileDto.getUserFileId());
 
         List<UserFile> userFiles = userFileService.selectUserFileByNameAndPath(renameFileDto.getFileName(), userFile.getFilePath(), userId);
         if (userFiles != null && !userFiles.isEmpty()) {
+            operationLogUtil.getOperationLogObj(httpServletRequest,StpLoginUserUtil.getLoginUser().getId(),RestResult.fail().getMessage(),CURRENT_MODULE,"文件重命名同名文件已存在",FAIL);
             return RestResult.fail().message("同名文件已存在");
         }
 
@@ -461,6 +475,7 @@ public class FileController {
             }
         }
         fileDealComp.uploadESByUserFileId(renameFileDto.getUserFileId());
+        operationLogUtil.getOperationLogObj(httpServletRequest,StpLoginUserUtil.getLoginUser().getId(),RestResult.success().getMessage(),CURRENT_MODULE,"文件重命名",SUCCESS);
         return RestResult.success();
     }
 
@@ -474,13 +489,14 @@ public class FileController {
     @RequestMapping(value = "/renameCommonfile", method = RequestMethod.POST)
     @MyLog(operation = "文件重命名", module = CURRENT_MODULE)
     @ResponseBody
-    public RestResult<String> renameCommonfile(@RequestBody RenameFileDTO renameFileDto) {
+    public RestResult<String> renameCommonfile(HttpServletRequest httpServletRequest,@RequestBody RenameFileDTO renameFileDto) {
 
         String userId =commonUserId;
         UserFile userFile = userFileService.getById(renameFileDto.getUserFileId());
 
         List<UserFile> userFiles = userFileService.selectUserFileByNameAndPath(renameFileDto.getFileName(), userFile.getFilePath(), userId);
         if (userFiles != null && !userFiles.isEmpty()) {
+            operationLogUtil.getOperationLogObj(httpServletRequest,commonUserId,RestResult.fail().getMessage(),CURRENT_MODULE,"文件重命名同名文件已存在",FAIL);
             return RestResult.fail().message("同名文件已存在");
         }
 
@@ -500,6 +516,7 @@ public class FileController {
             }
         }
         fileDealComp.uploadESByUserFileId(renameFileDto.getUserFileId());
+        operationLogUtil.getOperationLogObj(httpServletRequest,commonUserId,RestResult.success().getMessage(),CURRENT_MODULE,"文件重命名",SUCCESS);
         return RestResult.success();
     }
 

+ 7 - 0
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/controller/FiletransferController.java

@@ -260,6 +260,8 @@ public class FiletransferController {
                 batchDownloadFileDTO.getUserFileIds(), null);
         if (!authResult) {
             log.error("没有权限下载!!!");
+            operationLogUtil.getOperationLogObj(httpServletRequest,StpLoginUserUtil.getLoginUser().getId(),RestResult.fail().getMessage(),CURRENT_MODULE,"没有权限下载!!!",SUCCESS);
+
             return;
         }
 
@@ -311,6 +313,7 @@ public class FiletransferController {
                 batchDownloadFileDTO.getUserFileIds(), null);
         if (!authResult) {
             log.error("没有权限下载!!!");
+            operationLogUtil.getOperationLogObj(httpServletRequest,commonUserId,RestResult.fail().getMessage(),CURRENT_MODULE,"没有权限下载!!!",FAIL);
             return;
         }
 
@@ -365,6 +368,7 @@ public class FiletransferController {
 
         if (!authResult) {
             log.error("没有权限预览!!!");
+            operationLogUtil.getOperationLogObj(httpServletRequest,StpLoginUserUtil.getLoginUser().getId(),RestResult.fail().getMessage(),CURRENT_MODULE,"没有权限预览!!!",FAIL);
             return;
         }
 
@@ -430,6 +434,7 @@ public class FiletransferController {
 
         } else {
             filetransferService.previewFile(httpServletResponse, previewDTO);
+            operationLogUtil.getOperationLogObj(httpServletRequest,StpLoginUserUtil.getLoginUser().getId(),RestResult.success().getMessage(),CURRENT_MODULE,"预览文件",SUCCESS);
         }
 
     }
@@ -467,6 +472,7 @@ public class FiletransferController {
 
         if (!authResult) {
             log.error("没有权限预览!!!");
+            operationLogUtil.getOperationLogObj(httpServletRequest,commonUserId,RestResult.fail().getMessage(),CURRENT_MODULE,"没有权限预览",FAIL);
             return;
         }
 
@@ -532,6 +538,7 @@ public class FiletransferController {
 
         } else {
             filetransferService.previewFile(httpServletResponse, previewDTO);
+            operationLogUtil.getOperationLogObj(httpServletRequest,commonUserId,RestResult.success().getMessage(),CURRENT_MODULE,"预览文件",SUCCESS);
         }
 
     }

+ 7 - 4
snowy-plugin/snowy-plugin-disk/snowy-plugin-disk-func/src/main/java/vip/xiaonuo/disk/util/OperationLogUtil.java

@@ -5,11 +5,16 @@ import com.qiwenshare.common.util.CollectUtil;
 import com.qiwenshare.common.util.DateUtil;
 import org.springframework.stereotype.Component;
 import vip.xiaonuo.disk.domain.OperationLogBean;
+import vip.xiaonuo.disk.service.IOperationLogService;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 @Component
 public class OperationLogUtil {
 
+    @Resource
+    private IOperationLogService iOperationLogService;
+
     /**
      * 构造操作日志参数
      *
@@ -20,8 +25,7 @@ public class OperationLogUtil {
      * @param detail    详细信息
      * @return 操作日志参数
      */
-    public  OperationLogBean getOperationLogObj(HttpServletRequest request, String userId, String isSuccess, String source, String operation, String detail) {
-
+    public  void getOperationLogObj(HttpServletRequest request, String userId, String isSuccess, String source, String operation, String detail) {
         //用户需要登录才能进行的操作,需要记录操作日志
         OperationLogBean operationLogBean = new OperationLogBean();
         operationLogBean.setUserId(userId);
@@ -34,8 +38,7 @@ public class OperationLogUtil {
         operationLogBean.setPlatform(PlatformEnum.PAN.getCode());
         operationLogBean.setRequestURI(request.getRequestURI());
         operationLogBean.setRequestMethod(request.getMethod());
-
-        return operationLogBean;
+        iOperationLogService.insertOperationLog(operationLogBean);
     }
 
 }