package com.moon.server.service.data;
|
|
import com.moon.server.entity.all.SettingData;
|
import com.moon.server.entity.sys.AttachEntity;
|
import com.moon.server.entity.sys.UserEntity;
|
import com.moon.server.helper.FileHelper;
|
import com.moon.server.helper.PathHelper;
|
import com.moon.server.service.sys.AttachService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import javax.servlet.http.HttpServletRequest;
|
import java.io.File;
|
import java.io.IOException;
|
import java.util.ArrayList;
|
import java.util.List;
|
|
@Service
|
@SuppressWarnings("ALL")
|
public class DataQueryService {
|
@Autowired
|
PathHelper pathHelper;
|
|
@Autowired
|
AttachService attachService;
|
|
public Integer uploadFiles(UserEntity ue, String tabName, String eventid, MultipartFile[] files, HttpServletRequest req) throws IOException {
|
List<AttachEntity> list = new ArrayList<AttachEntity>();
|
for (MultipartFile file : files) {
|
if (file.getSize() > SettingData.MAX_FILE_SIZE) {
|
continue;
|
}
|
|
String fileName = file.getOriginalFilename();
|
String filePath = pathHelper.getTempPath() + File.separator + fileName;
|
File newFile = new File(filePath);
|
file.transferTo(newFile);
|
double sizes = FileHelper.sizeToMb(file.getSize());
|
|
String md5 = FileHelper.getFileMd5(filePath);
|
AttachEntity entity = attachService.selectByGuid(md5);
|
|
AttachEntity ae = getAttachEntity(ue, tabName, eventid, fileName, md5, sizes);
|
if (entity != null) {
|
ae.setPath(entity.getPath());
|
|
String oldPath = pathHelper.getConfig().getUploadPath() + File.separator + ae.getPath();
|
File f = new File(oldPath);
|
if (!f.exists() || f.isDirectory()) {
|
newFile.renameTo(new File(oldPath));
|
} else {
|
newFile.delete();
|
}
|
} else {
|
String targetPath = pathHelper.getConfig().getUploadPath() + File.separator + ae.getPath();
|
newFile.renameTo(new File(targetPath));
|
}
|
|
list.add(ae);
|
}
|
|
return attachService.inserts(list);
|
}
|
|
protected AttachEntity getAttachEntity(UserEntity ue, String tabName, String eventid, String fileName, String md5, double sizes) {
|
AttachEntity entity = new AttachEntity();
|
entity.setTab(tabName);
|
entity.setTabGuid(eventid);
|
entity.setName(fileName);
|
entity.setGuid(md5);
|
String subPath = PathHelper.getUploadPath() + File.separator + md5 + FileHelper.getExtension(fileName);
|
entity.setPath(subPath);
|
entity.setSizes(sizes);
|
if (ue != null) {
|
entity.setCreateUser(ue.getId());
|
}
|
|
return entity;
|
}
|
}
|