Ver Fonte

完成文件分类接口

tsurumure há 4 meses atrás
pai
commit
93e23b881e

+ 20 - 0
src/main/java/com/backendsys/modules/upload/controller/SysFileCategoryController.java

@@ -37,5 +37,25 @@ public class SysFileCategoryController {
         return Result.success().put("data", sysFileCategoryService.selectUploadFileCategoryList(sysFileCategory));
     }
 
+    @Operation(summary = "创建文件分类")
+    @PostMapping("/api/upload/createFileCategory")
+    public Result createFileCategory(@Validated(SysFileCategory.Create.class) @RequestBody SysFileCategory sysFileCategory) {
+        sysFileCategory.setUser_id(SecurityUtil.getUserId());
+        return Result.success().put("data", sysFileCategoryService.insertFileCategory(sysFileCategory));
+    }
+
+    @Operation(summary = "编辑文件分类")
+    @PutMapping("/api/upload/updateFileCategory")
+    public Result updateFileCategory(@Validated(SysFileCategory.Update.class) @RequestBody SysFileCategory sysFileCategory) {
+        sysFileCategory.setUser_id(SecurityUtil.getUserId());
+        return Result.success().put("data", sysFileCategoryService.updateFileCategory(sysFileCategory));
+    }
+
+    @Operation(summary = "删除文件分类")
+    @DeleteMapping("/api/upload/deleteFileCategory")
+    public Result deleteFileCategory(@Validated(SysFileCategory.Delete.class) @RequestBody SysFileCategory sysFileCategory) {
+        sysFileCategory.setUser_id(SecurityUtil.getUserId());
+        return Result.success().put("data", sysFileCategoryService.deleteFileCategory(sysFileCategory));
+    }
 
 }

+ 0 - 2
src/main/java/com/backendsys/modules/upload/controller/SysFileController.java

@@ -114,6 +114,4 @@ public class SysFileController {
         return Result.success().put("data", sysFileService.removeUploadFileBatch(sysFile, querySysFileList));
     }
 
-
-
 }

+ 4 - 2
src/main/java/com/backendsys/modules/upload/entity/SysFileCategory.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.Size;
 import lombok.Data;
 import org.hibernate.validator.constraints.Range;
@@ -20,11 +21,12 @@ public class SysFileCategory {
     public static interface Delete{}
 
     @TableId(type = IdType.AUTO)
+    @NotNull(message="id 不能为空", groups = { Update.class, Delete.class })
     private Long id;
 
     private Long user_id;
-    @Size(max = 50, message = "资讯分类名称长度不超过 {max} 字符", groups = { Create.class, Update.class })
-    @NotBlank(message="资讯分类名称不能为空", groups = { Create.class, Update.class })
+    @Size(max = 50, message = "文件分类名称长度不超过 {max} 字符", groups = { Create.class, Update.class })
+    @NotBlank(message="文件分类名称不能为空", groups = { Create.class, Update.class })
     private String category_name;
 
     @TableField(exist = false)

+ 7 - 0
src/main/java/com/backendsys/modules/upload/service/SysFileCategoryService.java

@@ -5,10 +5,17 @@ import com.backendsys.modules.upload.entity.SysFileCategory;
 import com.backendsys.utils.response.PageEntity;
 
 import java.util.List;
+import java.util.Map;
 
 public interface SysFileCategoryService {
 
     // 获取文件分类列表
     List<SysFileCategory> selectUploadFileCategoryList(SysFileCategory sysFileCategory);
+    // 创建文件分类
+    Map<String, Object> insertFileCategory(SysFileCategory sysFileCategory);
+    // 编辑文件分类
+    Map<String, Object> updateFileCategory(SysFileCategory sysFileCategory);
+    // 删除文件分类
+    Map<String, Object> deleteFileCategory(SysFileCategory sysFileCategory);
 
 }

+ 45 - 0
src/main/java/com/backendsys/modules/upload/service/impl/SysFileCategoryServiceImpl.java

@@ -1,20 +1,26 @@
 package com.backendsys.modules.upload.service.impl;
 
+import com.backendsys.exception.CustException;
 import com.backendsys.modules.upload.dao.SysFileCategoryDao;
+import com.backendsys.modules.upload.dao.SysFileDao;
 import com.backendsys.modules.upload.entity.SysFile;
 import com.backendsys.modules.upload.entity.SysFileCategory;
 import com.backendsys.modules.upload.service.SysFileCategoryService;
 import com.backendsys.utils.response.PageEntity;
 import com.backendsys.utils.response.PageInfoResult;
 import com.backendsys.utils.v2.PageUtils;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
 
 @Service
 public class SysFileCategoryServiceImpl implements SysFileCategoryService {
 
+    @Autowired
+    private SysFileDao sysFileDao;
     @Autowired
     private SysFileCategoryDao sysFileCategoryDao;
 
@@ -25,4 +31,43 @@ public class SysFileCategoryServiceImpl implements SysFileCategoryService {
     public List<SysFileCategory> selectUploadFileCategoryList(SysFileCategory sysFileCategory) {
         return sysFileCategoryDao.selectUploadFileCategoryList(sysFileCategory);
     }
+
+    /**
+     * 创建文件分类
+     */
+    @Override
+    public Map<String, Object> insertFileCategory(SysFileCategory sysFileCategory) {
+        sysFileCategoryDao.insert(sysFileCategory);
+        return Map.of("id", sysFileCategory.getId());
+    }
+
+    /**
+     * 编辑文件分类
+     */
+    @Override
+    public Map<String, Object> updateFileCategory(SysFileCategory sysFileCategory) {
+        sysFileCategoryDao.updateById(sysFileCategory);
+        return Map.of("id", sysFileCategory.getId());
+    }
+
+    /**
+     * 删除文件分类
+     */
+    @Override
+    public Map<String, Object> deleteFileCategory(SysFileCategory sysFileCategory) {
+
+        // 判断分类下是否有文件,有则不能删除
+        Long count = sysFileDao.selectCount(new LambdaQueryWrapper<SysFile>().eq(SysFile::getCategory_id, sysFileCategory.getId()));
+        if (count > 0) {
+            throw new CustException("该分类下存在文件,请先移动或删除文件后操作");
+        }
+
+        LambdaQueryWrapper<SysFileCategory> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(SysFileCategory::getId, sysFileCategory.getId());
+        wrapper.eq(SysFileCategory::getUser_id, sysFileCategory.getUser_id());
+        sysFileCategoryDao.delete(wrapper);
+        return Map.of("id", sysFileCategory.getId());
+    }
+
+
 }