package com.lf.server.service.data;
|
|
import com.lf.server.entity.data.MetaEntity;
|
import com.lf.server.entity.data.MetaFileEntity;
|
import com.lf.server.helper.FileHelper;
|
import com.lf.server.service.all.BaseUploadService;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
|
import java.io.File;
|
import java.util.List;
|
|
/**
|
* 数据入库
|
* @author WWW
|
*/
|
@Service
|
public class DataLoaderService extends BaseUploadService {
|
@Autowired
|
MetaService metaService;
|
|
@Autowired
|
MetaFileService metaFileService;
|
|
/**
|
* 插入文件
|
*/
|
public int insertFiles(MetaEntity entity, List<MetaFileEntity> list) {
|
int count = 0;
|
try {
|
String temp = pathHelper.getConfig().getTempPath();
|
String root = pathHelper.getUploadFullPath();
|
|
for (MetaFileEntity mf : list) {
|
// 移动文件
|
File file = new File(temp + File.separator + mf.getPath());
|
File newFile = new File(root + File.separator + mf.getGuid());
|
|
MetaFileEntity old = metaFileService.selectByGuid(mf.getGuid());
|
String filePath = null;
|
if (null == old) {
|
filePath = newFile.getPath();
|
file.renameTo(newFile);
|
} else {
|
filePath = old.getPath();
|
file.delete();
|
}
|
|
// 元数据
|
MetaEntity me = createMetaEntity(entity);
|
me.setName(mf.getName());
|
me.setSizes(mf.getSizes());
|
|
Integer rows = metaService.insert(me);
|
if (rows < 1) {
|
continue;
|
}
|
|
// 元数据文件
|
MetaFileEntity mef = createMetaFileEntity(mf, entity);
|
mef.setPath(FileHelper.getRelativePath(filePath));
|
|
rows = metaFileService.insert(mef);
|
if (rows > 0) {
|
count++;
|
}
|
}
|
} catch (Exception ex) {
|
log.error(ex.getMessage(), ex);
|
}
|
|
return count;
|
}
|
|
/**
|
* 创建元数据实体
|
*/
|
private MetaEntity createMetaEntity(MetaEntity entity) {
|
MetaEntity me = new MetaEntity();
|
me.setDepid(entity.getDepid());
|
me.setDirid(entity.getDirid());
|
me.setVerid(entity.getVerid());
|
me.setType("file");
|
me.setGather(entity.getGather());
|
me.setBatch(entity.getBatch());
|
me.setDescr(entity.getDescr());
|
me.setCreateTime(entity.getCreateTime());
|
me.setCreateUser(entity.getCreateUser());
|
|
return me;
|
}
|
|
/**
|
* 创建元数据文件实体
|
*/
|
private MetaFileEntity createMetaFileEntity(MetaFileEntity entity, MetaEntity metaEntity) {
|
MetaFileEntity mfe = new MetaFileEntity();
|
mfe.setName(entity.getName());
|
mfe.setMetaid(metaEntity.getId());
|
mfe.setGuid(entity.getGuid());
|
mfe.setSizes(entity.getSizes());
|
mfe.setCreateUser(metaEntity.getCreateUser());
|
mfe.setCreateTime(metaEntity.getCreateTime());
|
|
return mfe;
|
}
|
}
|