yuxc
2024-07-02 dd678ba29a3631558ab0c0c90b5be73ae489324b
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/VciFileUploadServiceImpl.java
@@ -1,5 +1,6 @@
package com.vci.web.service.impl;
import com.vci.corba.common.PLException;
import com.vci.corba.volume.VolumeServicePrx;
import com.vci.file.constant.VciFileDefaultValueConstant;
import com.vci.file.constant.VciFileLangCodeConstant;
@@ -145,8 +146,6 @@
     */
    @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);
@@ -206,9 +205,6 @@
        if(vciFileObjectDO.getSecretGrade() == null) {
            vciFileObjectDO.setSecretGrade(DataSecretEnum.NONE.getValue());
        }
        //todo 登录还未弄好需要修改
        vciFileObjectDO.setCreator("1");
        vciFileObjectDO.setLastModifier("1");
        revisionModelUtil.wrapperForAdd(vciFileObjectDO);
        //随机路径
        String randomPath = VciBaseUtil.getPk();
@@ -265,7 +261,7 @@
                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) {
@@ -306,6 +302,18 @@
            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);
        }