管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2023-04-03 3cdd0dd684052517ee0e90daf4b03ad41b8f2771
1
已修改4个文件
131 ■■■■■ 文件已修改
src/main/java/com/lf/server/controller/show/ApplyController.java 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/entity/all/StaticData.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/data/DownloadService.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/service/show/DataLibService.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/lf/server/controller/show/ApplyController.java
@@ -10,6 +10,7 @@
import com.lf.server.entity.sys.UserEntity;
import com.lf.server.helper.AesHelper;
import com.lf.server.helper.StringHelper;
import com.lf.server.service.data.DownloadService;
import com.lf.server.service.show.ApplyService;
import com.lf.server.service.show.FlowService;
import com.lf.server.service.sys.TokenService;
@@ -48,34 +49,36 @@
    @SysLog()
    @ApiOperation(value = "插入数据申请")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "reqEntity", value = "请求下载实体", dataType = "DownloadReqEntity", paramType = "body")
            @ApiImplicitParam(name = "dr", value = "请求下载实体", dataType = "DownloadReqEntity", paramType = "body")
    })
    @ResponseBody
    @PostMapping(value = "/insertApply")
    public ResponseMsg<Object> insertApply(@RequestBody DownloadReqEntity reqEntity, HttpServletRequest req) {
    public ResponseMsg<Object> insertApply(@RequestBody DownloadReqEntity dr, HttpServletRequest req) {
        try {
            if (null == reqEntity || StringHelper.isEmpty(reqEntity.getPwd())) {
                return fail("密码不能为空");
            }
            if (null == reqEntity.getTabs() || null == reqEntity.getEntities() || reqEntity.getTabs().size() != reqEntity.getEntities().size()) {
            if (null == dr || null == dr.getEntities() || dr.getEntities().isEmpty()) {
                return fail("请选择要下载的实体名");
            }
            if (null == reqEntity.getDepcodes() || reqEntity.getDepcodes().isEmpty()) {
                return fail("请选择单位编码");
            if (StringHelper.isEmpty(dr.getPwd())) {
                return fail("密码不能为空");
            }
            reqEntity.setWkt(AesHelper.decrypt(reqEntity.getWkt()));
            if (StringHelper.isEmpty(reqEntity.getWkt())) {
                return fail("请选择要下载的WKT范围");
            if (!DownloadService.decryptPwd(dr)) {
                return fail("密码解密失败", null);
            }
            reqEntity.setPwd(AesHelper.decrypt(reqEntity.getPwd()));
            if (StringHelper.isPwdInvalid(reqEntity.getPwd())) {
            if (StringHelper.isPwdInvalid(dr.getPwd())) {
                return fail("密码不符合要求");
            }
            if (!StringHelper.isEmpty(dr.getWkt())) {
                dr.setWkt(AesHelper.decrypt(dr.getWkt()));
            }
            if (null == dr.getTabs() || dr.getTabs().isEmpty()) {
                return fail("请选择要下载的表名");
            }
            if (null == dr.getDepcodes() || dr.getDepcodes().isEmpty()) {
                return fail("请选择待申请的单位编码(多个以逗号隔开)");
            }
            UserEntity ue = tokenService.getCurrentUser(req);
            int rows = applyService.insertApply(ue, reqEntity);
            int rows = applyService.insertApply(ue, dr);
            return success(rows);
        } catch (Exception ex) {
src/main/java/com/lf/server/entity/all/StaticData.java
@@ -90,6 +90,8 @@
     */
    public final static String COMMA = ",";
    public final static String BBOREHOLE = "bborehole";
    /**
     * 正斜杠
     */
src/main/java/com/lf/server/service/data/DownloadService.java
@@ -1,5 +1,6 @@
package com.lf.server.service.data;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.lf.server.entity.all.StaticData;
import com.lf.server.entity.ctrl.DownloadReqEntity;
import com.lf.server.entity.data.DownloadEntity;
@@ -9,7 +10,9 @@
import com.lf.server.entity.sys.MetaDownEntity;
import com.lf.server.entity.sys.UserEntity;
import com.lf.server.helper.*;
import com.lf.server.mapper.all.BasicMapper;
import com.lf.server.mapper.data.DownloadMapper;
import com.lf.server.service.all.BaseQueryService;
import com.lf.server.service.sys.MetaDownService;
import net.lingala.zip4j.ZipFile;
import net.lingala.zip4j.model.FileHeader;
@@ -273,7 +276,64 @@
     * 查询数据
     */
    private void queryData(Map<String, List<String>> tabs, Map<String, List<?>> dataMap, Map<String, List<AttachEntity>> annexMap) {
        //
        for (String tab : tabs.keySet()) {
            try {
                String entity = tab.split(StaticData.POINT)[1].replace("_", "");
                BasicMapper baseMapper = ClassHelper.getBasicMapper(entity);
                if (null == baseMapper) {
                    continue;
                }
                QueryWrapper wrapper = createQueryWrapper(baseMapper, tabs.get(tab));
                addData(entity, baseMapper, wrapper, dataMap, annexMap);
            } catch (Exception ex) {
                log.error(ex.getMessage(), ex);
            }
        }
    }
    /**
     * 添加数据
     */
    public void addData(String entity, BasicMapper baseMapper, QueryWrapper wrapper, Map<String, List<?>> dataMap, Map<String, List<AttachEntity>> annexMap) {
        List list = baseMapper.selectList(wrapper);
        if (null == list || list.size() == 0) {
            return;
        }
        if (!dataMap.containsKey(entity)) {
            dataMap.put(entity, list);
        } else {
            dataMap.get(entity).addAll(list);
        }
        if (wrapper.isEmptyOfWhere()) {
            wrapper.apply("1 = 1");
        }
        if (StaticData.BBOREHOLE.equals(entity)) {
            wrapper.last("limit 100");
        }
        String tab = BaseQueryService.getTabName(baseMapper);
        List<AttachEntity> annex = baseMapper.selectAnnex(tab, wrapper);
        if (null == annex || annex.isEmpty()) {
            return;
        }
        if (!annexMap.containsKey(entity)) {
            annexMap.put(tab.replace(StaticData.POINT, "_"), annex);
        } else {
            annexMap.get(tab.replace(StaticData.POINT, "_")).addAll(annex);
        }
    }
    /**
     * 创建查询包装器
     */
    private <T> QueryWrapper<T> createQueryWrapper(BasicMapper baseMapper, List<String> ids) {
        QueryWrapper<T> wrapper = new QueryWrapper<T>();
        return wrapper;
    }
    /**
@@ -389,6 +449,9 @@
     */
    private void addSingleFile(String uploadPath, MetaEntity mf, ZipFile zip, ZipParameters params) throws Exception {
        File file = new File(uploadPath + File.separator + mf.getPath());
        if (!file.exists() || file.isDirectory()) {
            return;
        }
        zip.addFile(file, params);
        String fileName = FileHelper.getFileName(file.getPath());
src/main/java/com/lf/server/service/show/DataLibService.java
@@ -184,34 +184,7 @@
                }
                QueryWrapper wrapper = createQueryWrapper(baseMapper, dr);
                List list = baseMapper.selectList(wrapper);
                if (null == list || list.size() == 0) {
                    continue;
                }
                if (!dataMap.containsKey(entity)) {
                    dataMap.put(entity, list);
                } else {
                    dataMap.get(entity).addAll(list);
                }
                if (wrapper.isEmptyOfWhere()) {
                    wrapper.apply("1 = 1");
                }
                if ("bborehole".equals(entity)) {
                    wrapper.last("limit 100");
                }
                String tab = BaseQueryService.getTabName(baseMapper);
                List<AttachEntity> annex = baseMapper.selectAnnex(tab, wrapper);
                if (null == annex || annex.isEmpty()) {
                    continue;
                }
                if (!annexMap.containsKey(entity)) {
                    annexMap.put(tab.replace(".", "_"), annex);
                } else {
                    annexMap.get(tab.replace(".", "_")).addAll(annex);
                }
                downloadService.addData(entity, baseMapper, wrapper, dataMap, annexMap);
            } catch (Exception ex) {
                log.error(ex.getMessage(), ex);
            }