Bläddra i källkod

Merge branch 'master' of http://47.110.251.215:3000/java_org/bladex

huangtf 2 år sedan
förälder
incheckning
4396c5daa8

+ 5 - 0
blade-service-api/blade-business-api/src/main/java/org/springblade/business/vo/ArchiveFileVO.java

@@ -85,4 +85,9 @@ public class ArchiveFileVO extends ArchiveFile {
      */
     private String contractType;
 
+    /**
+     * 是否更改文件地址 0 未更改,1已更改
+     */
+    private Integer isUpdateUrl;
+
 }

+ 25 - 0
blade-service/blade-business/src/main/java/org/springblade/business/service/impl/ArchiveFileServiceImpl.java

@@ -12,12 +12,15 @@ import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springblade.core.mp.support.Condition;
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.resource.feign.NewIOSSClient;
 import org.springblade.system.entity.DictBiz;
 import org.springblade.system.feign.IDictBizClient;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 
 import java.util.*;
+import java.util.concurrent.ExecutorService;
 
 /**
  * 服务实现类
@@ -30,6 +33,9 @@ import java.util.*;
 public class ArchiveFileServiceImpl extends BaseServiceImpl<ArchiveFileMapper, ArchiveFile> implements IArchiveFileService {
 
     private final IDictBizClient dictBizClient;
+    private final NewIOSSClient iossClient;
+
+    private ExecutorService executorService;
 
     @Override
     public IPage<ArchiveFileVO> selectArchiveFilePage(ArchiveFileVO vo) {
@@ -107,10 +113,29 @@ public class ArchiveFileServiceImpl extends BaseServiceImpl<ArchiveFileMapper, A
 //				return integer-t1;
 //			}
 //		});
+        StringBuffer ids = new StringBuffer();
         Collections.sort(listInt);
         for (int i = 0; i < list.size(); i++) {
             list.get(i).setSort(listInt.get(i));
+            if(list.get(i).getIsUpdateUrl() == 1) {
+                ids.append(list.get(i).getId() + ",");
+            }
         }
+        if(ids != null && ids.length()>0){
+        List<String> removeFiles = new ArrayList<>();
+        List<ArchiveFile> archiveFileByFileIds = baseMapper.getArchiveFileByFileIds(Func.toLongList(ids.toString()));
+        if(archiveFileByFileIds!=null && archiveFileByFileIds.size()>0){
+            for(ArchiveFile archiveFile:archiveFileByFileIds){
+                if(StringUtils.isNotEmpty(archiveFile.getFileUrl().trim())){
+                    removeFiles.add(archiveFile.getFileUrl());
+                }
+            }
+            executorService.execute(()->{
+                iossClient.removeFiles(removeFiles);
+            });
+        }
+        }
+
         this.updateBatchById(JSONArray.parseArray(JSONObject.toJSONString(list), ArchiveFile.class));
     }
 

+ 14 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/WbsTreeContractController.java

@@ -157,4 +157,18 @@ public class WbsTreeContractController extends BladeController {
                 .eq(WbsTreeContract::getPKeyId, id).eq(WbsTreeContract::getIsDeleted, 0)));
     }
 
+    /**
+     * 同步项目下当前表的所有htmlUrl
+     */
+    @GetMapping("/syncCurrentFormInProject")
+    @ApiOperationSupport(order = 8)
+    @ApiOperation(value = "同步项目下当前表的所有htmlUrl", notes = "同步项目下当前表的所有htmlUrl")
+    @ApiImplicitParams(value = {
+            @ApiImplicitParam(name = "pKeyId", value = "主键id", required = true),
+    })
+    public R syncCurrentFormInProject(@RequestParam("pKeyId") Long pKeyId) {
+        iWbsTreeContractService.syncCurrentFormInProject(pKeyId);
+        return R.success("同步成功");
+    }
+
 }

+ 1 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.java

@@ -86,4 +86,5 @@ public interface WbsTreeContractMapper extends EasyBaseMapper<WbsTreeContract> {
 
     Long getAllTableFileSize(@Param("projectId") Long projectId);
 
+    void syncCurrentFormInProject(@Param("node") WbsTreeContract node);
 }

+ 5 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/mapper/WbsTreeContractMapper.xml

@@ -608,6 +608,11 @@
             #{ids}
         </foreach>
     </update>
+    <update id="syncCurrentFormInProject">
+        UPDATE m_wbs_tree_contract
+        SET html_url = #{node.htmlUrl}
+        WHERE project_id = #{node.projectId} and excel_id = #{node.excelId}
+    </update>
 
     <select id="selectQueryValueLikeNodeName" resultMap="ResultMap">
         select *

+ 2 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/IWbsTreeContractService.java

@@ -56,4 +56,6 @@ public interface IWbsTreeContractService extends BaseService<WbsTreeContract> {
 
     // 频率设计值  添加表单
     boolean addTabInfoByRan(RangeInfo info, List<Object> moreData, String[] excLenght) throws FileNotFoundException;
+
+    void syncCurrentFormInProject(Long pKeyId);
 }

+ 7 - 0
blade-service/blade-manager/src/main/java/org/springblade/manager/service/impl/WbsTreeContractServiceImpl.java

@@ -3,6 +3,7 @@ package org.springblade.manager.service.impl;
 import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -534,6 +535,12 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
         return false;
     }
 
+    @Override
+    public void syncCurrentFormInProject(Long pKeyId) {
+        WbsTreeContract node = this.getOne(new LambdaQueryWrapper<WbsTreeContract>().eq(WbsTreeContract::getPKeyId,pKeyId));
+        baseMapper.syncCurrentFormInProject(node);
+    }
+
     @Override
     public List<WbsTreeContract> updateAllNodeTabById(WbsTreePrivate aPrivate) {
         return baseMapper.updateAllNodeTabById(aPrivate);