|
@@ -1,6 +1,8 @@
|
|
|
package com.simuwang.manage.service.impl;
|
|
|
|
|
|
+import com.simuwang.base.common.conts.FileSourceType;
|
|
|
import com.simuwang.base.common.support.MybatisPage;
|
|
|
+import com.simuwang.base.common.util.DateUtils;
|
|
|
import com.simuwang.base.mapper.daq.FileManageMapper;
|
|
|
import com.simuwang.base.pojo.dos.FileManageDO;
|
|
|
import com.simuwang.base.pojo.dto.query.FileManagePageQuery;
|
|
@@ -9,10 +11,17 @@ import com.simuwang.base.pojo.vo.SourceTypeVO;
|
|
|
import com.simuwang.manage.service.FileMangeService;
|
|
|
import com.simuwang.shiro.utils.UserUtils;
|
|
|
import com.smppw.common.pojo.ResultVo;
|
|
|
+import com.smppw.common.pojo.enums.status.ResultCode;
|
|
|
+import org.apache.commons.io.FileUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
+import java.io.File;
|
|
|
+import java.io.FileDescriptor;
|
|
|
+import java.io.FileOutputStream;
|
|
|
+import java.io.OutputStream;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -28,6 +37,8 @@ public class FileMangeServiceImpl implements FileMangeService {
|
|
|
@Autowired
|
|
|
private FileManageMapper fileManageMapper;
|
|
|
|
|
|
+ @Value("${email.file.path}")
|
|
|
+ private String path;
|
|
|
@Override
|
|
|
public MybatisPage<FileManageVO> searchFileManage(FileManagePageQuery fileManagePageQuery) {
|
|
|
List<FileManageDO> fileManageDOList = fileManageMapper.searchFileManage(fileManagePageQuery);
|
|
@@ -37,8 +48,42 @@ public class FileMangeServiceImpl implements FileMangeService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ResultVo uploadFile(MultipartFile file, String fundId, String fundName, String registerNumber, String fileType, String fileDate) {
|
|
|
- return null;
|
|
|
+ public ResultVo uploadFile(MultipartFile file, String fundId, String fundName, String registerNumber, Integer fileType, String fileDate) {
|
|
|
+ ResultVo vo = new ResultVo(true);
|
|
|
+ try{
|
|
|
+ Integer userId = UserUtils.getLoginUser().getUserId();
|
|
|
+ long fileId = System.currentTimeMillis();
|
|
|
+ String fileName = file.getName();
|
|
|
+ //路徑为固定存储目录加用户ID加时间戳
|
|
|
+ String filePath = (path.endsWith("/")?path:path+"/")+ userId + File.pathSeparator +fileId+File.pathSeparator;
|
|
|
+ File dir = new File(filePath);
|
|
|
+ if(!dir.exists()){
|
|
|
+ dir.mkdirs();
|
|
|
+ }
|
|
|
+ File dataFile = new File(filePath+fileName);
|
|
|
+ FileUtils.copyToFile(file.getInputStream(),dataFile);
|
|
|
+ FileManageDO fileManageDO = new FileManageDO();
|
|
|
+ fileManageDO.setFileName(fileName);
|
|
|
+ fileManageDO.setFundName(fundName);
|
|
|
+ fileManageDO.setFundId(fundId);
|
|
|
+ fileManageDO.setRegisterNumber(registerNumber);
|
|
|
+ fileManageDO.setFileType(fileType);
|
|
|
+ fileManageDO.setFileDate(DateUtils.parse(fileDate,DateUtils.YYYY_MM_DD));
|
|
|
+ fileManageDO.setSourceType(FileSourceType.CUSTOM_SOURCE);
|
|
|
+ fileManageDO.setFilePath(filePath+fileName);
|
|
|
+ //这里使用时间戳加用户ID作为自定义上传文件的ID
|
|
|
+ fileManageDO.setFileId(fileId+userId);
|
|
|
+ fileManageDO.setIsvalid(1);
|
|
|
+ fileManageDO.setCreateTime(DateUtils.getNowDate());
|
|
|
+ fileManageDO.setUpdateTime(DateUtils.getNowDate());
|
|
|
+ fileManageDO.setCreatorId(userId);
|
|
|
+ fileManageDO.setUpdaterId(userId);
|
|
|
+ fileManageMapper.saveFileManage(fileManageDO);
|
|
|
+ }catch (Exception e){
|
|
|
+ vo.setData(false);
|
|
|
+ vo.setCode(ResultCode.SAVE_FAILED.getCode());
|
|
|
+ }
|
|
|
+ return vo;
|
|
|
}
|
|
|
|
|
|
@Override
|