管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2023-04-03 b885fe8d0c0f7c7053b998758f84da054e8cfc6a
1
已修改3个文件
57 ■■■■ 文件已修改
data/db_cx.sql 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/data/DownloadService.java 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/show/DataLibService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
data/db_cx.sql
@@ -17,11 +17,8 @@
select * from lf.sys_meta where name='勘探点地层表.xlsx' or type='fbx'
--delete from bs.s_explorationpointstratum where parentid in (select eventid from lf.sys_meta where name='勘探点地层表.xlsx');
--delete from lf.sys_meta where name='勘探点地层表.xlsx';
select * from lf.sys_attach where tab = 'bs.s_explorationpoint' and tab_guid in (select eventid from bs.s_explorationpoint where gid > 1)
select * from lf.sys_attach where tab != 'bd.b_borehole'
select * from lf.sys_publish
select * from lf.sys_meta where
type = 'tif' or type = 'tiff' or lower(name) in ('平面图索引文件.xlsx', '穿跨越地形图.dwg', '中线成果表.xlsx', '离散点.xlsx', '控制点.xlsx', '地面线.xlsx')
src/main/java/com/lf/server/service/data/DownloadService.java
@@ -5,10 +5,12 @@
import com.lf.server.entity.data.DownloadEntity;
import com.lf.server.entity.data.MetaEntity;
import com.lf.server.entity.show.PipelineEntity;
import com.lf.server.entity.sys.AttachEntity;
import com.lf.server.entity.sys.MetaDownEntity;
import com.lf.server.entity.sys.UserEntity;
import com.lf.server.helper.*;
import com.lf.server.mapper.data.DownloadMapper;
import com.lf.server.service.show.DataLibService;
import com.lf.server.service.sys.MetaDownService;
import net.lingala.zip4j.ZipFile;
import net.lingala.zip4j.model.FileHeader;
@@ -32,6 +34,9 @@
    @Autowired
    DownloadMapper downloadMapper;
    @Autowired
    DataLibService dataLibService;
    @Autowired
    MetaDownService metaDownService;
@@ -188,21 +193,39 @@
     * @param pwd  密码
     * @return 下载文件GUID
     */
    public String zipFiles(UserEntity ue, List<MetaEntity> list, String pwd) {
    public String zipFiles(UserEntity ue, List<MetaEntity> list, String pwd) throws Exception {
        Map<String, List<String>> tabs = getTabs(list);
        rmRepeatMetas(list);
        String downloadPath = pathHelper.getDownloadFullPath();
        String zipName = StringHelper.YMDHMS2_FORMAT.format(new Date()) + ".zip";
        String zipFile = downloadPath + File.separator + zipName;
        Map<String, List<?>> dataMap = new HashMap<>(2);
        Map<String, List<AttachEntity>> annexMap = new HashMap<>(2);
        queryData(tabs, dataMap, annexMap);
        //String downloadPath = pathHelper.getDownloadFullPath();
        //String zipName = StringHelper.YMDHMS2_FORMAT.format(new Date()) + ".zip";
        //String zipFile = downloadPath + File.separator + zipName;
        String tempName = StringHelper.YMDHMS2_FORMAT.format(new Date());
        String tempPath = pathHelper.getTempPath(tempName);
        String gdbPath = tempPath + File.separator + "tabs.gdb";
        File gdbFile = new File(gdbPath);
        if (gdbFile.exists() && gdbFile.isDirectory()) {
            FileHelper.deleteDir(gdbPath);
        }
        if (dataMap.size() > 0) {
            GdbHelper.createGdb(gdbPath, dataMap);
        }
        String zipFile = pathHelper.getDownloadFullPath() + File.separator + tempName + ".gdb.zip";
        ZipFile zip = Zip4jHelper.createZipFile(zipFile, pwd);
        ZipParameters params = Zip4jHelper.getZipParams(true);
        addMetaFiles(zip, params, list);
        //addMetaFiles(zip, params, list);
        zip.addFolder(new File(gdbPath), params);
        dataLibService.addAnnex(zip, params, annexMap);
        String dbPwd = Md5Helper.reverse(Md5Helper.generate(pwd));
        DownloadEntity de = getDownloadEntity(ue, zipFile, dbPwd);
        int rows = downloadMapper.insert(de);
        if (de.getId() > 0) {
            insertMetaDown(ue, list, de);
@@ -254,6 +277,13 @@
    }
    /**
     * 查询数据
     */
    private void queryData(Map<String, List<String>> tabs, Map<String, List<?>> dataMap, Map<String, List<AttachEntity>> annexMap) {
        //
    }
    /**
     * 添加元数据文件至Zip包
     */
    private void addMetaFiles(ZipFile zip, ZipParameters params, List<MetaEntity> list) {
src/main/java/com/lf/server/service/show/DataLibService.java
@@ -168,10 +168,10 @@
        addAnnex(zip, params, annexMap);
        String dbPwd = Md5Helper.reverse(Md5Helper.generate(dr.getPwd()));
        DownloadEntity downloadEntity = getDownloadEntity(ue, zipFile, dbPwd);
        int rows = downloadMapper.insert(downloadEntity);
        DownloadEntity de = getDownloadEntity(ue, zipFile, dbPwd);
        int rows = downloadMapper.insert(de);
        return rows > 0 ? downloadEntity.getGuid() : null;
        return rows > 0 ? de.getGuid() : null;
    }
    /**
@@ -289,7 +289,7 @@
    /**
     * 添加附件
     */
    private void addAnnex(ZipFile zip, ZipParameters params, Map<String, List<AttachEntity>> annexMap) {
    public void addAnnex(ZipFile zip, ZipParameters params, Map<String, List<AttachEntity>> annexMap) {
        List<String> files = new ArrayList<>();
        String uploadPath = pathHelper.getConfig().getUploadPath();
        for (String key : annexMap.keySet()) {