| | |
| | | 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; |
| | |
| | | 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; |
| | | |
| | |
| | | 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.*; |
| | | |
| | | /** |
| | | * 文件对象服务 |
| | |
| | | /** |
| | | * 版本和数据对象工具类 |
| | | */ |
| | | @Autowired |
| | | @Resource |
| | | private RevisionModelUtil revisionModelUtil; |
| | | |
| | | /** |
| | | * 文件的卷服务 |
| | | */ |
| | | @Resource |
| | | private VciFileVolumeServiceI vciFileVolumeServiceI; |
| | | |
| | | /** |
| | | * 平台的客户端 |
| | | */ |
| | | @Resource |
| | | private PlatformClientUtil platformClientUtil; |
| | | |
| | | /** |
| | | * 查询所有的文件对象 |
| | |
| | | * @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); |
| | |
| | | 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(); |
| | | } |