src/main/java/com/lf/server/controller/show/ApplyController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/entity/all/StaticData.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/service/data/DownloadService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/lf/server/service/show/DataLibService.java | ●●●●● 补丁 | 查看 | 原始文档 | 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); }