Browse Source

表单OSS重新上传后,删除原OSS路径

cr 1 week ago
parent
commit
89b9fbeb32

+ 7 - 2
blade-service/blade-manager/src/main/java/org/springblade/manager/controller/ExcelTabController.java

@@ -4311,15 +4311,20 @@ public class ExcelTabController extends BladeController {
     @PostMapping("/add-buss-imginfo")
     @ApiOperationSupport(order = 32)
     @ApiOperation(value = "表单填写图片上传", notes = "表单填写图片上传")
-    public R addBussFile(@RequestParam MultipartFile file, @RequestParam String oldOSSUrl) {
+    public R addBussFile(@RequestParam MultipartFile file, @RequestParam Long pkeyId,@RequestParam String key) {
         BladeFile bladeFile = this.newIOSSClient.uploadFileByInputStream(file);
-        if(bladeFile!=null&&StringUtils.isNotEmpty(bladeFile.getLink())){
+        String oldOSSUrl = isExistOssUrl(pkeyId,key);
+        if(bladeFile!=null&&StringUtils.isNotEmpty(oldOSSUrl)){
             String fileName=oldOSSUrl.substring(oldOSSUrl.lastIndexOf("/")+1);
             newIOSSClient.removeFile(fileName);
         }
         return R.data(bladeFile);
     }
 
+    private String isExistOssUrl(Long pkeyId,String key) {
+        return wbsTreeContractService.isExistOssUrl(pkeyId,key);
+    }
+
     /**
      * 项目元素 关联表
      */

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

@@ -118,4 +118,6 @@ public interface IWbsTreeContractService extends BaseService<WbsTreeContract> {
     Object getWbsContractSubdivisionMeasurable(String projectId, String sectionId, String pid, Boolean judgment);
 
     List<QualityData> qualityDataAcquisition(String projectId, String sectionId, String codesId);
+
+    String isExistOssUrl(Long pkeyId,String key);
 }

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

@@ -6035,6 +6035,25 @@ public class WbsTreeContractServiceImpl extends BaseServiceImpl<WbsTreeContractM
         return qualityDatas;
     }
 
+    @Override
+    public String isExistOssUrl(Long pkeyId,String key) {
+        String[] keys = key.split("__");
+        WbsTreeContract wbsTreeContract = this.getById(pkeyId);
+        String querySql = "select * from " + wbsTreeContract.getInitTableName() + " where p_key_id=" + pkeyId;
+        List<Map<String, Object>> dataIn = jdbcTemplate.queryForList(querySql);
+        if(dataIn.isEmpty()){
+            return "";
+        }
+        Map<String, Object> map = dataIn.get(0);
+        Set<Map.Entry<String, Object>> entrySet = map.entrySet();
+        for (Map.Entry<String, Object> entry : entrySet) {
+            if(entry.getKey().equals(keys[0])){
+                return entry.getValue()==null ? "" : entry.getValue().toString();
+            }
+        }
+        return "";
+    }
+
     /**
      * 比较两个祖级路径
      */