package com.lf.server.service.data; import com.lf.server.entity.data.MetaEntity; import com.lf.server.helper.FileHelper; import com.lf.server.helper.StringHelper; 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 DataUploadService extends BaseUploadService { @Autowired MetaService metaService; /** * 插入文件 */ public int insertFiles(MetaEntity entity, List list) { int count = 0; try { String temp = pathHelper.getConfig().getTempPath(); String root = pathHelper.getUploadFullPath(); for (MetaEntity mf : list) { String filePath = getFilePath(temp, root, mf); // 元数据 MetaEntity me = createMetaEntity(entity, mf, filePath); if (metaService.insert(me) > 0) { count++; } } } catch (Exception ex) { log.error(ex.getMessage(), ex); } return count; } /** * 获取文件路径 */ private String getFilePath(String temp, String root, MetaEntity mf) { // 移动文件 File file = new File(temp + File.separator + mf.getPath()); File newFile = new File(root + File.separator + mf.getGuid()); MetaEntity old = metaService.selectByGuid(mf.getGuid()); String filePath = null; if (null == old) { filePath = newFile.getPath(); file.renameTo(newFile); } else { filePath = old.getPath(); file.delete(); } return filePath; } /** * 创建元数据实体 */ private MetaEntity createMetaEntity(MetaEntity entity, MetaEntity mf, String filePath) { MetaEntity me = new MetaEntity(); me.setEventid(StringHelper.getGuid()); me.setDirid(entity.getDirid()); me.setDepid(entity.getDepid()); me.setVerid(entity.getVerid()); me.setName(mf.getName()); me.setType("file"); me.setGuid(entity.getGuid()); me.setPath(FileHelper.getRelativePath(filePath)); me.setSizes(mf.getSizes()); me.setCreateTime(entity.getCreateTime()); me.setCreateUser(entity.getCreateUser()); return me; } }