whycxzp
2022-09-07 a7ca0f9df58733e6c8822fbf29962352d668871c
src/main/java/com/whyc/service/SoftwareService.java
@@ -9,6 +9,8 @@
import com.whyc.pojo.DocUser;
import com.whyc.pojo.Software;
import com.whyc.util.ActionUtil;
import com.whyc.util.CommonUtil;
import com.whyc.util.DateUtil;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Sheet;
@@ -17,6 +19,7 @@
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -142,4 +145,35 @@
        logService.recordOperationLog(docUser.getId(),docUser.getName(), UserOperation.TYPE_DOWNLOAD.getType(),new Date(),terminalIp,opreationMsg,operationDetail);
    }
    public Response upload(MultipartFile file1, MultipartFile file2, List<Software> softwareList) throws IOException {
        String file1Name = file1.getOriginalFilename();
        String file2Name = file2.getOriginalFilename();
        Software software = softwareList.get(0);
        Date date = new Date();
        String dateUnion = DateUtil.YYYY_MM_DD_HH_MM_SS_UNION.format(date);
        //文件重命名
        file1Name = file1Name.substring(0,file1Name.lastIndexOf(".")) + "_" + dateUnion +file1Name.substring(file1Name.lastIndexOf("."));
        file2Name = file2Name.substring(0,file2Name.lastIndexOf(".")) + "_" + dateUnion +file2Name.substring(file2Name.lastIndexOf("."));
        //存储路径
        String rootFile = CommonUtil.getRootFile();
        String softwareDir = rootFile + software.getOwner() + File.separator + dateUnion;
        File softwareDirFile = new File(softwareDir);
        if(!softwareDirFile.exists()){
            softwareDirFile.mkdirs();
        }
        file1.transferTo(new File(softwareDir+File.separator+file1Name));
        file2.transferTo(new File(softwareDir+File.separator+file2Name));
        //设置路径
        softwareList.forEach(software1 -> {
            software1.setFileUrl(softwareDir);
            software1.setCreateTime(date);
        });
        //写入数据库
        insertBatch(softwareList);
        return new Response().setII(1,"上传完成");
    }
    private void insertBatch(List<Software> softwareList){
        mapper.insertBatchSomeColumn(softwareList);
    }
}