From 28ca3d9f9e6e7eeeb7a7f2a7f50012350f3934c3 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 13 十一月 2024 18:07:11 +0800
Subject: [PATCH] 优化业务数据的查询接口;修改业务数据保存和编辑接口没有保存基础默认属性问题。

---
 Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/VciFileObjectServiceImpl.java |   54 ++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 44 insertions(+), 10 deletions(-)

diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/VciFileObjectServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/VciFileObjectServiceImpl.java
index f283e24..9a2867b 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/VciFileObjectServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/VciFileObjectServiceImpl.java
@@ -1,8 +1,10 @@
 package com.vci.web.service.impl;
 
-import com.vci.file.dto.VciFileObjectDTO;
-import com.vci.file.lcstatuspck.FileLCStatus;
-import com.vci.file.pagemodel.VciFileObjectVO;
+import com.vci.corba.common.PLException;
+import com.vci.corba.volume.VolumeServicePrx;
+import com.vci.dto.VciFileObjectDTO;
+import com.vci.lcstatuspck.FileLCStatus;
+import com.vci.pagemodel.VciFileObjectVO;
 import com.vci.starter.revision.service.RevisionModelUtil;
 import com.vci.starter.web.annotation.bus.VciChangeDocument;
 import com.vci.starter.web.enumpck.VciChangeDocumentTypeEnum;
@@ -14,12 +16,15 @@
 import com.vci.starter.web.util.VciBaseUtil;
 import com.vci.starter.web.wrapper.VciQueryWrapperForDO;
 import com.vci.web.dao.VciFileObjectDaoI;
-import com.vci.web.model.VciFileObjectDO;
+import com.vci.model.VciFileObjectDO;
+import com.vci.model.VciFileVolumeDO;
 import com.vci.web.service.VciFileObjectServiceI;
+import com.vci.web.service.VciFileVolumeServiceI;
+import com.vci.web.util.PlatformClientUtil;
+import com.vci.web.util.WebUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
@@ -28,8 +33,8 @@
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.stream.Collectors;
 
-import static com.vci.file.constant.VciFileLangCodeConstant.FILE_RELEASED;
-import static com.vci.frameworkcore.constant.FrameWorkLangCodeConstant.*;
+import static com.vci.constant.VciFileLangCodeConstant.FILE_RELEASED;
+import static com.vci.constant.FrameWorkLangCodeConstant.*;
 
 /**
  * 鏂囦欢瀵硅薄鏈嶅姟
@@ -60,8 +65,20 @@
     /**
     * 鐗堟湰鍜屾暟鎹璞″伐鍏风被
     */
-    @Autowired
+    @Resource
     private RevisionModelUtil revisionModelUtil;
+
+    /**
+     * 鏂囦欢鐨勫嵎鏈嶅姟
+     */
+    @Resource
+    private VciFileVolumeServiceI vciFileVolumeServiceI;
+
+    /**
+     * 骞冲彴鐨勫鎴风
+     */
+    @Resource
+    private PlatformClientUtil platformClientUtil;
 
     /**
      * 鏌ヨ鎵�鏈夌殑鏂囦欢瀵硅薄
@@ -113,7 +130,7 @@
      * @throws VciBaseException 鎷疯礉灞炴�у嚭閿欑殑鏃跺�欎細鎶涘嚭寮傚父
      */
     @Override
-    public  VciFileObjectVO vciFileObjectDO2VO(VciFileObjectDO vciFileObjectDO) throws VciBaseException {
+    public VciFileObjectVO vciFileObjectDO2VO(VciFileObjectDO vciFileObjectDO) throws VciBaseException {
               VciFileObjectVO vo = new VciFileObjectVO();
         if(vciFileObjectDO != null){
           BeanUtil.convert(vciFileObjectDO,vo);
@@ -496,10 +513,27 @@
     public BaseResult deleteFiles(Collection<String> fileOids) throws VciBaseException {
         Collection<VciFileObjectVO> fileObjectVOS = listVciFileObjectByOids(fileOids);
         if(!CollectionUtils.isEmpty(fileObjectVOS)){
-            //鎴戜滑鏆傛椂涓嶅垹闄ゆ枃浠讹紝闃叉鍒犻櫎閿欎簡
             VciBaseUtil.switchCollectionForOracleIn(fileObjectVOS).stream().forEach(fileObjectVOList->{
                 vciFileObjectMapper.batchDeleteByOids(fileObjectVOList.stream().map(VciFileObjectVO::getOid).collect(Collectors.toList()));
             });
+
+            //鍒犻櫎浠撳簱涓殑鏂囦欢
+            //鑾峰彇鏂囦欢浠撲綅缃�
+            VciFileVolumeDO vciFileVolumeDO = vciFileVolumeServiceI.getUploadVolume();
+            String volumeName = vciFileVolumeDO.getName();
+            VolumeServicePrx volumnCorbaService = platformClientUtil.getVolumeService(volumeName);
+            if(volumnCorbaService == null){
+                throw new VciBaseException("娌℃湁鑾峰彇鍒板嵎鏈嶅姟");
+            }
+            Set<String> filePathSet = fileObjectVOS.stream().map(VciFileObjectVO::getFilePath).collect(Collectors.toSet());
+            String[] filePathArr = new String[filePathSet.size()];
+            filePathSet.toArray(filePathArr);
+            try {
+                volumnCorbaService.deleteAllFiles(filePathArr);
+            } catch (PLException e) {
+                logger.error("鍗锋湇鍔″垹闄や粨搴撲腑鐨勬枃浠跺け璐ワ細", e);
+                logger.error("鍗锋湇鍔″垹闄ゅけ璐ョ殑鏂囦欢锛�"+ WebUtil.getJSONStringWithDateFormat(filePathSet));
+            }
         }
         return BaseResult.success();
     }

--
Gitblit v1.9.3