Browse Source

在线收集

“zhifk” 2 years ago
parent
commit
34d9f09172

+ 6 - 1
blade-service-api/blade-business-api/src/main/java/org/springblade/business/feign/ArchiveFileClient.java

@@ -1,5 +1,7 @@
 package org.springblade.business.feign;
 
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.business.vo.ArchiveFileVO;
 import org.springblade.common.constant.BusinessConstant;
 import org.springframework.cloud.openfeign.FeignClient;
@@ -16,6 +18,9 @@ public interface ArchiveFileClient {
      * 接口前缀
      */
     String API_PREFIX = "/api/business";
-    @PostMapping(API_PREFIX + "/savePushUserMessageWarning")
+    @PostMapping(API_PREFIX + "/saveArchiveFile")
     void saveArchiveFile(@RequestBody ArchiveFileVO vo);
+
+    @PostMapping(API_PREFIX + "/selectArchiveFilePage")
+    JSONObject selectArchiveFilePage(@RequestBody ArchiveFileVO archiveFile);
 }

+ 24 - 0
blade-service-api/blade-manager-api/src/main/java/org/springblade/manager/feign/ArchiveTreeContractClient.java

@@ -0,0 +1,24 @@
+package org.springblade.manager.feign;
+
+import org.springblade.manager.entity.ArchiveTreeContract;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+
+import static org.springblade.core.launch.constant.AppConstant.APPLICATION_NAME_PREFIX;
+
+@FeignClient(value = APPLICATION_NAME_PREFIX + "manager")
+public interface ArchiveTreeContractClient {
+
+    /**
+     * 接口前缀
+     */
+    String API_PREFIX = "/api/manager/archiveContract";
+
+    @PostMapping(API_PREFIX + "/queryAllChildByAncestors")
+    List<ArchiveTreeContract> queryAllChildByAncestors(@RequestParam String id);
+
+
+}

+ 36 - 6
blade-service/blade-archive/src/main/java/org/springblade/archive/controller/ArchiveFileController.java

@@ -2,6 +2,7 @@ package org.springblade.archive.controller;
 
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
@@ -16,11 +17,15 @@ import org.springblade.core.boot.ctrl.BladeController;
 
 import org.springblade.core.oss.model.BladeFile;
 import org.springblade.core.tool.api.R;
+import org.springblade.manager.entity.ArchiveTree;
+import org.springblade.manager.entity.ArchiveTreeContract;
+import org.springblade.manager.feign.ArchiveTreeContractClient;
 import org.springblade.resource.feign.IOSSClient;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 /**
@@ -37,6 +42,7 @@ public class ArchiveFileController extends BladeController {
 
 	private final ArchiveFileClient archiveFileClient;
     private final IOSSClient iossClient;
+    private final ArchiveTreeContractClient archiveTreeContractClient;
     /**
      * 上传文件
      *
@@ -63,14 +69,38 @@ public class ArchiveFileController extends BladeController {
     @ApiOperationSupport(order = 3)
     @ApiOperation(value = "批量新增")
     public R<Boolean> batchSave(@RequestBody ArchiveFileVO vo){
-        List<ArchiveFileVO> saveList = vo.getList();
-        if(saveList != null && saveList.size() > 0){
-            for(ArchiveFileVO saveVo : saveList){
-                saveVo.setStatus(new Integer("0").equals(saveVo.getIsApproval()) ? 2 : 0);
-                saveVo.setIsCertification(new Integer("0").equals(saveVo.getIsNeedCertification()) ? 1 : 0);
+        try {
+            List<ArchiveFileVO> saveList = vo.getList();
+            if(saveList != null && saveList.size() > 0){
+                for(ArchiveFileVO saveVo : saveList){
+                    saveVo.setStatus(new Integer("0").equals(saveVo.getIsApproval()) ? 2 : 0);
+                    saveVo.setIsCertification(new Integer("0").equals(saveVo.getIsNeedCertification()) ? 1 : 0);
+                }
             }
+            this.archiveFileClient.saveArchiveFile(vo);
+        } catch (NumberFormatException e) {
+            e.printStackTrace();
+            return R.data(false);
         }
-        archiveFileClient.saveArchiveFile(vo);
         return R.data(true);
     }
+    /**
+     * 分页
+     */
+    @PostMapping("/page")
+    @ApiOperationSupport(order = 4)
+    @ApiOperation(value = "分页")
+    public R<Object> page(ArchiveFileVO queryVo){
+        if(queryVo.getNodeIds().isEmpty() || queryVo.getNodeIds().equals("")){
+            return  R.data(null);
+        }
+        List<ArchiveTreeContract> archiveTreeContracts = this.archiveTreeContractClient.queryAllChildByAncestors(queryVo.getNodeIds());
+        if(archiveTreeContracts != null && archiveTreeContracts.size() > 0){
+            List<String> ids = JSONArray.parseArray(JSONObject.toJSONString(archiveTreeContracts.stream().map(ArchiveTreeContract::getId).distinct().collect(Collectors.toList())), String.class);
+            ids.add(queryVo.getNodeIds());
+            queryVo.setNodeIdArray(ids);
+        }
+
+        return R.data(this.archiveFileClient.selectArchiveFilePage(queryVo));
+    }
 }

+ 8 - 0
blade-service/blade-business/src/main/java/org/springblade/business/feignClient/ArchiveFileClientImpl.java

@@ -1,5 +1,7 @@
 package org.springblade.business.feignClient;
 
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import lombok.AllArgsConstructor;
 import org.springblade.business.feign.ArchiveFileClient;
 import org.springblade.business.service.IArchiveFileService;
@@ -18,4 +20,10 @@ public class ArchiveFileClientImpl implements ArchiveFileClient {
     public void saveArchiveFile(ArchiveFileVO vo) {
         this.iArchiveFileService.saveArchiveFile(vo.getList());
     }
+
+    @Override
+    public JSONObject selectArchiveFilePage(ArchiveFileVO archiveFile) {
+        IPage<ArchiveFileVO> archiveFileVOIPage = this.iArchiveFileService.selectArchiveFilePage(archiveFile);
+        return JSONObject.parseObject(JSONObject.toJSONString(archiveFileVOIPage));
+    }
 }

+ 1 - 1
blade-service/blade-business/src/main/java/org/springblade/business/mapper/ArchiveFileMapper.xml

@@ -55,7 +55,7 @@
         </foreach>
     </update>
 
-    <select id="selectArchiveFileCount" resultMap="archiveFileResultMap">
+    <select id="selectArchiveFileCount" resultType="java.lang.Integer">
         select count(id) from u_archive_file where is_deleted = 0
         <if test="vo.isApprovalValue != null and vo.isApprovalValue != ''">
             and status = #{vo.isApprovalValue}

+ 32 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/feign/ArchiveTreeContractImpl.java

@@ -0,0 +1,32 @@
+package org.springblade.manager.feign;
+
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import lombok.AllArgsConstructor;
+import org.springblade.manager.entity.ArchiveTreeContract;
+import org.springblade.manager.service.IArchiveTreeContractService;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@RestController
+@AllArgsConstructor
+public class ArchiveTreeContractImpl implements ArchiveTreeContractClient {
+
+    private final IArchiveTreeContractService archiveTreeContractService;
+
+    @Override
+    public List<ArchiveTreeContract> queryAllChildByAncestors(String id) {
+        List<ArchiveTreeContract> archiveTreeList = this.archiveTreeContractService.list(Wrappers.<ArchiveTreeContract>lambdaQuery().like(ArchiveTreeContract::getAncestors, id));
+        if(archiveTreeList == null || archiveTreeList.size() <= 0){
+            //有可能已经是最底节点
+            archiveTreeList = new ArrayList<>();
+            ArchiveTreeContract archiveTree = this.archiveTreeContractService.getById(id);
+            if(archiveTree != null){
+                archiveTreeList.add(archiveTree);
+            }
+        }
+
+        return archiveTreeList;
+    }
+}