Pārlūkot izejas kodu

```
refactor(service): 优化文件上传处理逻辑并添加@JsonIgnore注解

在`BasicInfo`, `NewsUpdates`, `ProductCenter`, `QualificationCertificate`, 和`Solution`类中,为不需要序列化的MultipartFile字段添加了@JsonIgnore注解。
修改了FileManageController中的uploadFiles方法,使其返回AjaxResult.success()而不是直接返回服务调用结果。
调整了FileManageService及其实现类的方法签名和实现逻辑,将原本返回的AjaxResult改为返回List<FileManage>,并在适当位置抛出ServiceException以替代直接返回错误信息。
对QualificationCertificateServiceImpl进行了重构,确保分页查询和列表查询时正确设置fileList属性,并且明确了@Transactional注解的回滚条件。
```

林仔 8 mēneši atpakaļ
vecāks
revīzija
03d93f7fdb

+ 1 - 1
zksy-admin/src/main/java/com/zksy/web/controller/base/FileManageController.java

@@ -63,7 +63,7 @@ public class FileManageController {
     public AjaxResult uploadFiles(@ApiParam(value = "文件",required = true) @RequestParam(value = "file") List<MultipartFile> multipartFiles,
                                   @ApiParam(value = "父id",required = false) @RequestParam(value = "fid",defaultValue = "0") String fid,
                                   @ApiParam(value = "模块名称",required = true) @RequestParam(value = "moduleName") String moduleName) {
-        return service.uploadListFile(multipartFiles,fid,moduleName);
+        return AjaxResult.success(service.uploadListFile(multipartFiles,fid,moduleName));
     }
     /**
      * 通用下载请求

+ 1 - 0
zksy-admin/src/main/java/com/zksy/web/controller/base/QualificationCertificateController.java

@@ -28,6 +28,7 @@ public class QualificationCertificateController {
 
     @GetMapping("/findByPage")
     @ApiOperation(value = "荣誉资质查询分页")
+    @Anonymous
     public AjaxResult findByPage(@ApiParam(value = "页码", required = true)long pageNum,
                                  @ApiParam(value = "页数", required = true)long pageSize){
         return AjaxResult.success(service.pageQualificationCertificate(pageNum, pageSize));

+ 3 - 0
zksy-system/src/main/java/com/zksy/base/domain/BasicInfo.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.Data;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -36,6 +37,7 @@ public class BasicInfo implements Serializable {
     private String companyProfileUrl;
 
     @TableField(exist = false)
+    @JsonIgnore
     private MultipartFile companyProMultipartFile;
 
     /**
@@ -87,6 +89,7 @@ public class BasicInfo implements Serializable {
     private String qrCodeUrl;
 
     @TableField(exist = false)
+    @JsonIgnore
     private MultipartFile qrCodeMultipartFile;
 
     /**

+ 2 - 0
zksy-system/src/main/java/com/zksy/base/domain/NewsUpdates.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.Data;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -42,6 +43,7 @@ public class NewsUpdates implements Serializable {
     private String newsUrl;
 
     @TableField(exist = false)
+    @JsonIgnore
     private MultipartFile newsMultipartFile;
 
     /**

+ 2 - 0
zksy-system/src/main/java/com/zksy/base/domain/ProductCenter.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.Data;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -54,6 +55,7 @@ public class ProductCenter implements Serializable {
     private String productUrl;
 
     @TableField(exist = false)
+    @JsonIgnore
     private MultipartFile productMultipartFile;
 
     /**

+ 2 - 0
zksy-system/src/main/java/com/zksy/base/domain/QualificationCertificate.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.Data;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -58,6 +59,7 @@ public class QualificationCertificate implements Serializable {
     private List<String> fileList;
 
     @TableField(exist = false)
+    @JsonIgnore
     private MultipartFile[] multipartFile;
 
     @TableField(exist = false)

+ 2 - 0
zksy-system/src/main/java/com/zksy/base/domain/Solution.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.Data;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -42,6 +43,7 @@ public class Solution implements Serializable {
     private String productUrl;
 
     @TableField(exist = false)
+    @JsonIgnore
     private MultipartFile solutionMultipartFile;
 
     /**

+ 1 - 1
zksy-system/src/main/java/com/zksy/base/service/FileManageService.java

@@ -39,7 +39,7 @@ public interface FileManageService extends IService<FileManage> {
      * @author Administrator
      * @date 2024/1/24 15:44:54
      */
-    AjaxResult uploadListFile(List<MultipartFile> multipartFiles, String fid, String moduleName);
+    List<FileManage> uploadListFile(List<MultipartFile> multipartFiles, String fid, String moduleName);
 
     /**
      * 删除文件

+ 5 - 5
zksy-system/src/main/java/com/zksy/base/service/impl/FileManageServiceImpl.java

@@ -140,7 +140,7 @@ public class FileManageServiceImpl extends ServiceImpl<FileManageMapper, FileMan
     }
 
     @Override
-    public AjaxResult uploadListFile(List<MultipartFile> multipartFiles, String fid, String moduleName) {
+    public List<FileManage> uploadListFile(List<MultipartFile> multipartFiles, String fid, String moduleName) {
         try {
             List<FileManage> FileManageList = new ArrayList<>();
             if (multipartFiles.size() > 0) {
@@ -160,7 +160,7 @@ public class FileManageServiceImpl extends ServiceImpl<FileManageMapper, FileMan
                     File dest = new File(path);
                     //判断文件是否已经存在
                     if (dest.exists()) {
-                        return AjaxResult.error("文件已存在");
+                        throw new ServiceException("文件已存在");
                     }
                     //判断文件父目录是否存在
                     if (!dest.getParentFile().exists()) {
@@ -187,14 +187,14 @@ public class FileManageServiceImpl extends ServiceImpl<FileManageMapper, FileMan
                     mapper.insert(uploadRes);
                     FileManageList.add(uploadRes);
                 }
-                return AjaxResult.success("文件上传成功",FileManageList);
+                return FileManageList;
             } else {
-                return AjaxResult.error("无文件上传");
+                throw new ServiceException("请选择文件");
             }
         }catch (IOException e) {
             log.error("文件上传异常!");
             log.error(ExceptionUtils.getStackTrace(e));
-            return AjaxResult.error("文件上传异常");
+            throw new ServiceException("文件上传失败");
         }
     }
 

+ 11 - 10
zksy-system/src/main/java/com/zksy/base/service/impl/QualificationCertificateServiceImpl.java

@@ -30,25 +30,26 @@ public class QualificationCertificateServiceImpl extends ServiceImpl<Qualificati
     @Override
     public Page<QualificationCertificate> pageQualificationCertificate(Long pageNum, Long pageSize) {
         Page<QualificationCertificate> page = new Page<>(pageNum, pageSize);
-        if(page.getRecords() != null){
-            page.getRecords().forEach(item -> {
+        LambdaQueryWrapper<QualificationCertificate> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.orderByDesc(QualificationCertificate::getUpdateTime);
+        Page<QualificationCertificate> pageList = page(page,queryWrapper);
+        if(pageList.getRecords() != null){
+            pageList.getRecords().forEach(item -> {
                 item.setFileList(fileManageService.listFileByFid(item.getId()));
             });
         }
-        LambdaQueryWrapper<QualificationCertificate> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.orderByDesc(QualificationCertificate::getUpdateTime);
-        return page(page,queryWrapper);
+        return pageList;
     }
 
     @Override
     public List<QualificationCertificate> listQualificationCertificate() {
-        List<QualificationCertificate> list = list();
+        LambdaQueryWrapper<QualificationCertificate> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.orderByDesc(QualificationCertificate::getUpdateTime);
+        List<QualificationCertificate> list = list(queryWrapper);
         list.forEach(item -> {
             item.setFileList(fileManageService.listFileByFid(item.getId()));
         });
-        LambdaQueryWrapper<QualificationCertificate> queryWrapper = new LambdaQueryWrapper<>();
-        queryWrapper.orderByDesc(QualificationCertificate::getUpdateTime);
-        return list(queryWrapper);
+        return list;
     }
 
     @Override
@@ -61,7 +62,7 @@ public class QualificationCertificateServiceImpl extends ServiceImpl<Qualificati
         return qualificationCertificate;
     }
 
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     @Override
     public QualificationCertificate saveQualificationCertificate(QualificationCertificate entity) {
         entity.setId(UUID.randomUUID().toString());