Forráskód Böngészése

扫描仓库上传文件

cr 19 órája
szülő
commit
5c4f1e475f

+ 15 - 0
blade-service-api/blade-archive-api/src/main/java/org/springblade/archive/dto/AddScanFileDto.java

@@ -0,0 +1,15 @@
+package org.springblade.archive.dto;
+
+import lombok.Data;
+
+@Data
+public class AddScanFileDto {
+    private Long projectId;
+    private Long contractId;
+    private String fileName;
+    private Long forderId;
+    private Integer fileSize;
+    private String ossUrl;
+    private String responsible;
+    private String fileDate;
+}

+ 11 - 4
blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ScanFileController.java

@@ -11,6 +11,7 @@ import lombok.AllArgsConstructor;
 import org.apache.pdfbox.io.MemoryUsageSetting;
 import org.apache.pdfbox.pdmodel.PDDocument;
 import org.apache.pdfbox.pdmodel.PDPage;
+import org.springblade.archive.dto.AddScanFileDto;
 import org.springblade.archive.dto.ScanFileMoveDTO;
 import org.springblade.archive.entity.ScanFile;
 import org.springblade.archive.entity.ScanFolder;
@@ -137,13 +138,19 @@ public class ScanFileController {
     }
     @PostMapping("/addScanFolder")
     @ApiOperation("新增节点扫描文件夹")
-    public R addScanFolder(Long projectId,Long contractId,String forderName,Long parentId){
-        return R.status(scanFileService.addScanFolder(projectId,contractId,forderName,parentId));
+    public R addScanFolder(Long projectId,Long contractId,Long parentId,String forderName){
+        return R.status(scanFileService.addScanFolder(projectId,contractId,parentId,forderName));
     }
     @PostMapping("/addScanFile")
     @ApiOperation("新增节点扫描文件")
-    public R addScanFile(Long projectId,Long contractId,String forderName,Long forderId){
-        return R.status(scanFileService.addScanFile(projectId,contractId,forderName,forderId));
+    public R addScanFile(List<AddScanFileDto>list){
+        return R.status(scanFileService.addScanFile(list));
+    }
+    @GetMapping("/deleteScanFolder")
+    @ApiOperation("删除扫描文件夹")
+    @ApiImplicitParam(name = "id", value = "文件夹ID")
+    public R deleteScanFolder(Long id){
+        return R.status(scanFileService.deleteScanFolder(id));
     }
     @GetMapping("/getDetil")
     @ApiOperation("获取扫描文件详情")

+ 5 - 2
blade-service/blade-archive/src/main/java/org/springblade/archive/service/ScanFileService.java

@@ -2,6 +2,7 @@ package org.springblade.archive.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.springblade.archive.dto.AddScanFileDto;
 import org.springblade.archive.entity.ScanFile;
 import org.springblade.archive.vo.ScanFolderVO;
 import org.springblade.core.mp.support.Query;
@@ -29,7 +30,9 @@ public interface ScanFileService extends IService<ScanFile> {
 
     boolean moveScanFile(List<Long> ids, Long nodeId);
 
-    boolean addScanFolder(Long projectId, Long contractId, String forderName, Long parentId);
+    boolean addScanFolder(Long projectId, Long contractId ,Long parentId, String forderName);
 
-    boolean addScanFile(Long projectId, Long contractId, String forderName, Long forderId);
+    boolean addScanFile(List<AddScanFileDto>list);
+
+    boolean deleteScanFolder(Long id);
 }

+ 33 - 3
blade-service/blade-archive/src/main/java/org/springblade/archive/service/impl/ScanFileServiceImpl.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.AllArgsConstructor;
+import org.springblade.archive.dto.AddScanFileDto;
 import org.springblade.archive.entity.ArchivesAuto;
 import org.springblade.archive.entity.ScanFile;
 import org.springblade.archive.entity.ScanFolder;
@@ -187,7 +188,7 @@ public class ScanFileServiceImpl  extends ServiceImpl<ScanFileMapper, ScanFile>
     }
 
     @Override
-    public boolean addScanFolder(Long projectId, Long contractId, String forderName, Long parentId) {
+    public boolean addScanFolder(Long projectId, Long contractId, Long parentId, String forderName) {
             ScanFolder scanFolder = new ScanFolder();
             scanFolder.setId(SnowFlakeUtil.getId());
             scanFolder.setProjectId(projectId);
@@ -218,8 +219,37 @@ public class ScanFileServiceImpl  extends ServiceImpl<ScanFileMapper, ScanFile>
     }
 
     @Override
-    public boolean addScanFile(Long projectId, Long contractId, String forderName, Long forderId) {
-        return false;
+    public boolean addScanFile(List<AddScanFileDto>list) {
+        List<ScanFile>fileList=new ArrayList<>();
+        Integer digitalNum = baseMapper.selectMaxDigitalNum(list.get(0).getContractId(), list.get(0).getProjectId());
+        if(digitalNum==null||digitalNum<1){
+            digitalNum=0;
+        }
+        Integer sort = baseMapper.selectMaxSort(list.get(0).getContractId(), list.get(0).getProjectId(), list.get(0).getForderId());
+        if(sort==null||sort<1){
+            sort=0;
+        }
+        for (AddScanFileDto dto : list) {
+            ScanFile file = new ScanFile();
+            BeanUtils.copyProperties(dto,file);
+            file.setId(SnowFlakeUtil.getId());
+            file.setDigitalNum(++digitalNum);
+            file.setSort(++sort);
+            file.setIsDeleted(0);
+            file.setIsMove(0);
+            fileList.add(file);
+        }
+        return this.saveBatch(fileList);
+    }
+
+    @Override
+    public boolean deleteScanFolder(Long id) {
+        List<ScanFile> scanFiles = baseMapper.selectList(new LambdaQueryWrapper<>(ScanFile.class).eq(ScanFile::getFolderId, id));
+        if(scanFiles.size()>0){
+            throw new ServiceException("当前节点存在文件,无法删除");
+        }
+        scanFolderMapper.deleteById(id);
+        return true;
     }
 
     /**