package com.ld.igds.file.impl;
|
|
import com.ld.igds.data.ConfigData;
|
import com.ld.igds.file.CoreFileService;
|
import com.ld.igds.file.dto.FileData;
|
import com.ld.igds.file.mapper.FileServiceMapper;
|
import com.ld.igds.models.FileInfo;
|
import com.ld.igds.util.Base64Util;
|
import com.ld.igds.util.ContextUtil;
|
|
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.time.DateFormatUtils;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
import java.io.File;
|
import java.sql.SQLException;
|
import java.util.Date;
|
import java.util.List;
|
|
@Component
|
public class CoreFileServiceImpl implements CoreFileService {
|
|
@Autowired
|
private FileServiceMapper fileServiceMapper;
|
|
@Autowired
|
private ConfigData configData;
|
|
@Override
|
public String getInoutFilePath(Date date) {
|
if (null == date) date = new Date();
|
String basePath = configData.getFilePath() + "INOUT/" + DateFormatUtils.format(date, "yyyyMM") + "/";
|
File file = new File(basePath);
|
if (!file.exists()) {
|
file.mkdirs();
|
}
|
return basePath;
|
}
|
|
@Override
|
public String getSnapFilePath(Date date) {
|
if (null == date) date = new Date();
|
String basePath = configData.getFilePath() + "SNAP/" + DateFormatUtils.format(date, "yyyyMM") + "/";
|
File file = new File(basePath);
|
if (!file.exists()) {
|
file.mkdirs();
|
}
|
return basePath;
|
}
|
|
@Override
|
public String getSnapFilePath(String dateStr) {
|
if (null == dateStr) return null;
|
|
if(dateStr.length()>6) dateStr = dateStr.substring(0, 6);
|
|
String basePath = configData.getFilePath() + "SNAP/" + dateStr+ "/";
|
File file = new File(basePath);
|
if (!file.exists()) {
|
file.mkdirs();
|
}
|
return basePath;
|
}
|
|
@Override
|
public String getCommonFilePath(Date date) {
|
if (null == date)
|
date = new Date();
|
|
String basePath = configData.getFilePath() + "COMMON/" + DateFormatUtils.format(date, "yyyyMM") + "/";
|
|
File file = new File(basePath);
|
if (!file.exists()) {
|
file.mkdirs();
|
}
|
return basePath;
|
}
|
|
@Override
|
public String getTempFilePath() {
|
|
String basePath = configData.getFilePath() + "TEMP/";
|
File file = new File(basePath);
|
if (!file.exists()) {
|
file.mkdirs();
|
}
|
return basePath;
|
}
|
|
@Override
|
public void baseImg2Disk(String basePath, String fileName, String imgData) {
|
Base64Util.generateImage(imgData, basePath + fileName);
|
}
|
|
@Override
|
public void addRecord(FileData fileData) {
|
fileServiceMapper.addFile(fileData);
|
}
|
|
@Override
|
public void saveInoutFiles(List<FileData> files, String companyId,
|
String bizId, String bizTag) throws Exception, SQLException {
|
|
if (null == files || files.size() == 0) return;
|
|
for (FileData data : files) {
|
// 如果没有附件名称,则不保存附件信息
|
if (StringUtils.isEmpty(data.getFileName())) {
|
continue;
|
}
|
data.setCreateTime(new Date());
|
data.setBizId(bizId);
|
if (StringUtils.isNotEmpty(bizTag)) {
|
data.setBizTag(bizTag);
|
}
|
data.setCompanyId(companyId);
|
data.setFileId(ContextUtil.getUUID());
|
fileServiceMapper.addFile(data);
|
}
|
}
|
|
@Override
|
public List<FileData> listFile(String companyId, String bizId) {
|
if (StringUtils.isEmpty(companyId)) {
|
companyId = ContextUtil.getDefaultCompanyId();
|
}
|
|
if (StringUtils.isEmpty(bizId))
|
return null;
|
|
List<FileData> listFile = fileServiceMapper.listFile(companyId, bizId);
|
|
if (null == listFile || listFile.isEmpty())
|
return null;
|
|
return listFile;
|
}
|
|
@Override
|
public void delFile(String fileId) {
|
fileServiceMapper.delFile(fileId);
|
}
|
|
|
@Override
|
public void saveFiles(List<FileInfo> files, String bizId, String bizTag) {
|
if (null == files || files.size() == 0) {
|
return;
|
}
|
FileData fileData = null;
|
for (FileInfo data : files) {
|
if (StringUtils.isEmpty(data.getFileName())) {
|
continue;
|
}
|
if (StringUtils.isNotEmpty(data.getBizId())) {
|
continue;
|
}
|
if (null == data.getCreateTime()) {
|
data.setCreateTime(new Date());
|
}
|
if (null == data.getBizTag()) {
|
data.setBizTag(bizTag);
|
}
|
|
data.setBizId(bizId);
|
data.setCompanyId(ContextUtil.getCompanyId());
|
|
if (null == data.getFileId()) {
|
data.setFileId(ContextUtil.getUUID());
|
}
|
|
fileData = new FileData();
|
fileData.setFileId(data.getFileId());
|
fileData.setBizId(data.getBizId());
|
fileData.setBizTag(data.getBizTag());
|
fileData.setCompanyId(data.getCompanyId());
|
fileData.setFileName(data.getFileName());
|
fileData.setCreateTime(data.getCreateTime());
|
fileServiceMapper.addFile(fileData);
|
}
|
}
|
}
|