| | |
| | | package com.vci.web.service.impl; |
| | | |
| | | import com.vci.constant.VciFileDefaultValueConstant; |
| | | import com.vci.constant.VciFileLangCodeConstant; |
| | | import com.vci.corba.common.PLException; |
| | | import com.vci.corba.volume.VolumeServicePrx; |
| | | import com.vci.file.constant.VciFileDefaultValueConstant; |
| | | import com.vci.file.constant.VciFileLangCodeConstant; |
| | | import com.vci.file.dto.VciFileObjectDTO; |
| | | import com.vci.file.enumpck.VciFileTransProtocolEnum; |
| | | import com.vci.file.lcstatuspck.FileLCStatus; |
| | | import com.vci.file.pagemodel.VciFileObjectVO; |
| | | import com.vci.frameworkcore.constant.FrameWorkLangCodeConstant; |
| | | import com.vci.dto.VciFileObjectDTO; |
| | | import com.vci.enumpck.VciFileTransProtocolEnum; |
| | | import com.vci.lcstatuspck.FileLCStatus; |
| | | import com.vci.constant.FrameWorkLangCodeConstant; |
| | | 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.DataSecretEnum; |
| | |
| | | import com.vci.starter.web.util.LocalFileUtil; |
| | | import com.vci.starter.web.util.VciBaseUtil; |
| | | import com.vci.starter.web.wrapper.VciQueryWrapperForDO; |
| | | import com.vci.web.constant.WebLangCodeConstant; |
| | | import com.vci.constant.WebLangCodeConstant; |
| | | import com.vci.web.dao.VciFileDocClassifyDaoI; |
| | | import com.vci.web.dao.VciFileObjectDaoI; |
| | | import com.vci.web.dao.VciFileVolumeDaoI; |
| | | import com.vci.web.model.VciFileDocClassifyDO; |
| | | import com.vci.web.model.VciFileObjectDO; |
| | | import com.vci.web.model.VciFileVolumeDO; |
| | | import com.vci.model.VciFileDocClassifyDO; |
| | | import com.vci.model.VciFileObjectDO; |
| | | import com.vci.model.VciFileVolumeDO; |
| | | import com.vci.web.properties.WebProperties; |
| | | import com.vci.web.service.VciFileUploadServiceI; |
| | | import com.vci.web.service.VciFileVolumeServiceI; |
| | |
| | | import java.util.*; |
| | | import java.util.concurrent.ConcurrentHashMap; |
| | | |
| | | import static com.vci.file.constant.VciFileLangCodeConstant.*; |
| | | import static com.vci.frameworkcore.constant.FrameWorkLangCodeConstant.UPLOAD_FAIL; |
| | | import static com.vci.frameworkcore.constant.FrameWorkLangCodeConstant.UPLOAD_SUCCESS; |
| | | import static com.vci.constant.VciFileLangCodeConstant.*; |
| | | import static com.vci.constant.FrameWorkLangCodeConstant.*; |
| | | |
| | | @Service |
| | | @VciChangeDocument(btmType = "fileUpload") |
| | |
| | | */ |
| | | @Override |
| | | public BaseResult uploadFile(MultipartFile multipartFile, VciFileObjectDTO fileObjectDTO) throws VciBaseException { |
| | | VciBaseUtil.alertNotNull(fileObjectDTO.getFileDocClassify(), "文档类型编号"); |
| | | |
| | | String sourceFileName = multipartFile.getOriginalFilename(); |
| | | String fileExtension = getFileExtension(sourceFileName); |
| | | String fileNameNoExtension = getFileNameNoExtension(sourceFileName); |
| | |
| | | if(vciFileObjectDO.getSecretGrade() == null) { |
| | | vciFileObjectDO.setSecretGrade(DataSecretEnum.NONE.getValue()); |
| | | } |
| | | //todo 登录还未弄好需要修改 |
| | | vciFileObjectDO.setCreator("1"); |
| | | vciFileObjectDO.setLastModifier("1"); |
| | | revisionModelUtil.wrapperForAdd(vciFileObjectDO); |
| | | //随机路径 |
| | | String randomPath = VciBaseUtil.getPk(); |
| | |
| | | long currentTime = volumnCorbaService.getCurrrentTimeMillions(); |
| | | in = multipartFile.getInputStream(); |
| | | long fileSize = multipartFile.getSize(); |
| | | int blockSize = (int)webProperties.getBlockLength()*1024; |
| | | int blockSize = webProperties.getBlockLength()*1024; |
| | | byte[] buffer = new byte[blockSize]; |
| | | long temp =0L; |
| | | for(temp = 0L; temp < fileSize - (long)blockSize; temp += (long)blockSize) { |
| | |
| | | sourceFileObject.setFileSize(vciFileObjectDO.getFileSize()); |
| | | vciFileObjectMapper.updateByPrimaryKey(sourceFileObject); |
| | | //没办法删除之前的文件, |
| | | |
| | | String volumeName = vciFileVolumeDO.getName(); |
| | | VolumeServicePrx volumnCorbaService = platformClientUtil.getVolumeService(volumeName); |
| | | if(volumnCorbaService == null){ |
| | | throw new VciBaseException("没有获取到卷服务"); |
| | | } |
| | | try { |
| | | volumnCorbaService.deleteFile(sourceFileObject.getFilePath()); |
| | | } catch (PLException e) { |
| | | e.printStackTrace(); |
| | | System.out.println("删除仓库中的文件失败:"+e.getMessage()); |
| | | } |
| | | }else { |
| | | vciFileObjectMapper.insert(vciFileObjectDO); |
| | | } |