From fdf45f690fa4eca9191aa0fb6abf077e7b36ce06 Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期五, 23 四月 2021 10:11:59 +0800
Subject: [PATCH] 优化代码

---
 service-api/src/main/java/com/java110/api/bmo/resourceStore/impl/ResourceStoreBMOImpl.java |  121 +++++++++++++++++++++++++++++++++++++---
 1 files changed, 112 insertions(+), 9 deletions(-)

diff --git a/service-api/src/main/java/com/java110/api/bmo/resourceStore/impl/ResourceStoreBMOImpl.java b/service-api/src/main/java/com/java110/api/bmo/resourceStore/impl/ResourceStoreBMOImpl.java
index 128848f..5c1008e 100755
--- a/service-api/src/main/java/com/java110/api/bmo/resourceStore/impl/ResourceStoreBMOImpl.java
+++ b/service-api/src/main/java/com/java110/api/bmo/resourceStore/impl/ResourceStoreBMOImpl.java
@@ -4,8 +4,14 @@
 import com.java110.api.bmo.ApiBaseBMO;
 import com.java110.api.bmo.resourceStore.IResourceStoreBMO;
 import com.java110.core.context.DataFlowContext;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.file.FileDto;
+import com.java110.dto.file.FileRelDto;
+import com.java110.intf.common.IFileInnerServiceSMO;
+import com.java110.intf.common.IFileRelInnerServiceSMO;
 import com.java110.intf.store.IResourceStoreInnerServiceSMO;
 import com.java110.dto.resourceStore.ResourceStoreDto;
+import com.java110.po.file.FileRelPo;
 import com.java110.po.purchase.ResourceStorePo;
 import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.util.Assert;
@@ -13,6 +19,7 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
 import java.util.List;
 
 /**
@@ -29,18 +36,36 @@
     @Autowired
     private IResourceStoreInnerServiceSMO resourceStoreInnerServiceSMOImpl;
 
+    @Autowired
+    private IFileRelInnerServiceSMO fileRelInnerServiceSMOImpl;
+
+    @Autowired
+    private IFileInnerServiceSMO fileInnerServiceSMOImpl;
+
     /**
-     * 娣诲姞灏忓尯淇℃伅
+     * 鍒犻櫎璧勬簮淇℃伅
      *
      * @param paramInJson     鎺ュ彛璋冪敤鏀句紶鍏ュ叆鍙�
      * @param dataFlowContext 鏁版嵁涓婁笅鏂�
      * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
      */
     public void deleteResourceStore(JSONObject paramInJson, DataFlowContext dataFlowContext) {
-
-
+        paramInJson.put("statusCd", "1");
         ResourceStorePo resourceStorePo = BeanConvertUtil.covertBean(paramInJson, ResourceStorePo.class);
         super.delete(dataFlowContext, resourceStorePo, BusinessTypeConstant.BUSINESS_TYPE_DELETE_RESOURCE_STORE);
+        //鑾峰彇璧勬簮id
+        String resId = paramInJson.getString("resId");
+        FileRelDto fileRelDto = new FileRelDto();
+        fileRelDto.setObjId(resId);
+        List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
+        if (fileRelDtos != null && fileRelDtos.size() > 0) {
+            //鍒犻櫎鏂囦欢琛ㄥ浘鐗�
+            for (FileRelDto fileRel : fileRelDtos) {
+                FileRelPo fileRelpo = new FileRelPo();
+                fileRelpo.setFileRelId(fileRel.getFileRelId());
+                super.delete(dataFlowContext, fileRelpo, BusinessTypeConstant.BUSINESS_TYPE_DELETE_FILE_REL);
+            }
+        }
     }
 
     /**
@@ -51,13 +76,37 @@
      * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
      */
     public void addResourceStore(JSONObject paramInJson, DataFlowContext dataFlowContext) {
-
         JSONObject businessResourceStore = new JSONObject();
         businessResourceStore.putAll(paramInJson);
-        businessResourceStore.put("resId", "-1");
+        businessResourceStore.put("resId", GenerateCodeFactory.getResId(GenerateCodeFactory.CODE_PREFIX_resId));
         businessResourceStore.put("stock", "0");
+        businessResourceStore.put("createTime", new Date());
         ResourceStorePo resourceStorePo = BeanConvertUtil.covertBean(businessResourceStore, ResourceStorePo.class);
         super.insert(dataFlowContext, resourceStorePo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_RESOURCE_STORE);
+        //灏嗗浘鐗囨彃鍏ユ枃浠惰〃閲�
+        FileRelPo fileRelPo = new FileRelPo();
+        fileRelPo.setObjId(resourceStorePo.getResId());
+        //table琛ㄧず琛ㄥ瓨鍌� ftp琛ㄧずftp鏂囦欢瀛樺偍
+        fileRelPo.setSaveWay("ftp");
+        fileRelPo.setCreateTime(new Date());
+        //鍥剧墖
+        List<String> photos = resourceStorePo.getPhotos();
+        if (photos != null && photos.size() > 0) {
+            //22000琛ㄧず鐗╁搧鍥剧墖
+            fileRelPo.setRelTypeCd("22000");
+            for (String photo : photos) {
+                fileRelPo.setFileRelId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_relId));
+                FileDto fileDto = new FileDto();
+                fileDto.setCommunityId("-1");
+                fileDto.setContext(photo);
+                fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
+                fileDto.setFileName(fileDto.getFileId());
+                String fileName = fileInnerServiceSMOImpl.saveFile(fileDto);
+                fileRelPo.setFileRealName(fileName);
+                fileRelPo.setFileSaveName(fileName);
+                super.insert(dataFlowContext, fileRelPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FILE_REL);
+            }
+        }
     }
 
     /**
@@ -68,19 +117,73 @@
      * @return 璁㈠崟鏈嶅姟鑳藉鎺ュ彈鐨勬姤鏂�
      */
     public void updateResourceStore(JSONObject paramInJson, DataFlowContext dataFlowContext) {
-
         ResourceStoreDto resourceStoreDto = new ResourceStoreDto();
         resourceStoreDto.setResId(paramInJson.getString("resId"));
         resourceStoreDto.setStoreId(paramInJson.getString("storeId"));
-
         List<ResourceStoreDto> resourceStoreDtos = resourceStoreInnerServiceSMOImpl.queryResourceStores(resourceStoreDto);
-
         Assert.isOne(resourceStoreDtos, "鏌ヨ鍒板鏉$墿鍝� 鎴栨湭鏌ュ埌鐗╁搧锛宺esId=" + resourceStoreDto.getResId());
-
         JSONObject businessResourceStore = new JSONObject();
         businessResourceStore.putAll(paramInJson);
         businessResourceStore.put("stock", resourceStoreDtos.get(0).getStock());
         ResourceStorePo resourceStorePo = BeanConvertUtil.covertBean(businessResourceStore, ResourceStorePo.class);
         super.update(dataFlowContext, resourceStorePo, BusinessTypeConstant.BUSINESS_TYPE_UPDATE_RESOURCE_STORE);
+        //鑾峰彇鍥剧墖淇℃伅
+        List<String> photos = resourceStorePo.getFileUrls();
+        //鍥剧墖鏇存柊
+        FileRelDto fileRelDto = new FileRelDto();
+        fileRelDto.setObjId(paramInJson.getString("resId"));
+        //鏌ヨ鏂囦欢琛�
+        List<FileRelDto> fileRelDtos = fileRelInnerServiceSMOImpl.queryFileRels(fileRelDto);
+        //濡傛灉鏂囦欢琛ㄩ噷鏈夎繖涓祫婧愮殑璁板綍锛屽氨鍏堝垹鎺夊師鍏堢殑
+        if (fileRelDtos != null && fileRelDtos.size() > 0) {
+            //鍏堟妸鍒犻櫎鏂囦欢琛ㄥ浘鐗�
+            for (FileRelDto fileRel : fileRelDtos) {
+                FileRelPo fileRelPo = new FileRelPo();
+                fileRelPo.setFileRelId(fileRel.getFileRelId());
+                super.delete(dataFlowContext, fileRelPo, BusinessTypeConstant.BUSINESS_TYPE_DELETE_FILE_REL);
+            }
+            FileRelPo fileRel = new FileRelPo();
+            fileRel.setObjId(resourceStorePo.getResId());
+            //table琛ㄧず琛ㄥ瓨鍌� ftp琛ㄧずftp鏂囦欢瀛樺偍
+            fileRel.setSaveWay("ftp");
+            fileRel.setCreateTime(new Date());
+            if (photos != null && photos.size() > 0) {
+                //22000琛ㄧず鐗╁搧鍥剧墖
+                fileRel.setRelTypeCd("22000");
+                for (String photo : photos) {
+                    fileRel.setFileRelId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_relId));
+                    FileDto fileDto = new FileDto();
+                    fileDto.setCommunityId("-1");
+                    fileDto.setContext(photo);
+                    fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
+                    fileDto.setFileName(fileDto.getFileId());
+                    String fileName = fileInnerServiceSMOImpl.saveFile(fileDto);
+                    fileRel.setFileRealName(fileName);
+                    fileRel.setFileSaveName(fileName);
+                    /*fileRelInnerServiceSMOImpl.saveFileRel(fileRel);*/
+                    super.insert(dataFlowContext, fileRel, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FILE_REL);
+                }
+            }
+        } else if (photos != null && photos.size() > 0) {  //濡傛灉鏂囦欢琛ㄩ噷娌℃湁杩欎釜璧勬簮鐨勮褰曪紝灏卞垽鏂槸鍚︽湁鍥剧墖浼犺繃鏉ワ紝鏈夊氨鎻掑叆鍒版枃浠惰〃閲�
+            FileRelPo fileRel = new FileRelPo();
+            fileRel.setObjId(resourceStorePo.getResId());
+            //table琛ㄧず琛ㄥ瓨鍌� ftp琛ㄧずftp鏂囦欢瀛樺偍
+            fileRel.setSaveWay("ftp");
+            fileRel.setCreateTime(new Date());
+            //22000琛ㄧず鐗╁搧鍥剧墖
+            fileRel.setRelTypeCd("22000");
+            for (String photo : photos) {
+                fileRel.setFileRelId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_relId));
+                FileDto fileDto = new FileDto();
+                fileDto.setCommunityId("-1");
+                fileDto.setContext(photo);
+                fileDto.setFileId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_file_id));
+                fileDto.setFileName(fileDto.getFileId());
+                String fileName = fileInnerServiceSMOImpl.saveFile(fileDto);
+                fileRel.setFileRealName(fileName);
+                fileRel.setFileSaveName(fileName);
+                super.insert(dataFlowContext, fileRel, BusinessTypeConstant.BUSINESS_TYPE_SAVE_FILE_REL);
+            }
+        }
     }
 }

--
Gitblit v1.8.0