| | |
| | | } |
| | | |
| | | /** |
| | | * 创建Zip包 |
| | | * 请求DB数据下载 |
| | | */ |
| | | public String createZipFile(UserEntity ue, List<String> entities, String depcode, String dirs, String wkt, String pwd) throws Exception { |
| | | Map<String, List<?>> map = queryData(entities, depcode, dirs, wkt); |
| | | public String downloadDbReq(UserEntity ue, DownloadReqEntity dr) throws Exception { |
| | | if (StringHelper.isEmpty(dr.getWkt())) { |
| | | return downloadDbReq4Wkt(ue, dr); |
| | | } |
| | | |
| | | return downloadDbReq4Prop(ue, dr); |
| | | } |
| | | |
| | | /** |
| | | * 请求DB数据下载-空间查询 |
| | | */ |
| | | public String downloadDbReq4Wkt(UserEntity ue, DownloadReqEntity dr) throws Exception { |
| | | String depcode = null == dr.getDepcodes() || dr.getDepcodes().isEmpty() ? null : dr.getDepcodes().get(0); |
| | | Map<String, List<?>> map = queryData(dr.getEntities(), depcode, dr.getDirs(), dr.getWkt()); |
| | | if (map.size() == 0) { |
| | | return null; |
| | | } |
| | |
| | | String zipName = tempName + ".gdb.zip"; |
| | | String zipFile = pathHelper.getDownloadFullPath() + File.separator + zipName; |
| | | |
| | | ZipFile zip = Zip4jHelper.createZipFile(zipFile, pwd); |
| | | ZipFile zip = Zip4jHelper.createZipFile(zipFile, dr.getPwd()); |
| | | ZipParameters params = Zip4jHelper.getZipParams(true); |
| | | addZipFiles(zip, params, file.listFiles()); |
| | | |
| | | String dbPwd = Md5Helper.reverse(Md5Helper.generate(pwd)); |
| | | String dbPwd = Md5Helper.reverse(Md5Helper.generate(dr.getPwd())); |
| | | DownloadEntity downloadEntity = getDownloadEntity(ue, zipFile, dbPwd); |
| | | int rows = downloadMapper.insert(downloadEntity); |
| | | |
| | |
| | | } |
| | | |
| | | /** |
| | | * 打包DB数据 |
| | | * 请求DB数据下载-属性查询 |
| | | */ |
| | | public String zipDbData(UserEntity ue, String name, String depcode, String dirs, String filter, String pwd) throws Exception { |
| | | BasicMapper baseMapper = ClassHelper.getBasicMapper(name); |
| | | public String downloadDbReq4Prop(UserEntity ue, DownloadReqEntity dr) throws Exception { |
| | | String dirs = dr.getDirs(); |
| | | String entity = dr.getEntities().get(0); |
| | | String depcode = null == dr.getDepcodes() || dr.getDepcodes().isEmpty() ? null : dr.getDepcodes().get(0); |
| | | |
| | | BasicMapper baseMapper = ClassHelper.getBasicMapper(entity); |
| | | if (baseMapper == null) { |
| | | return null; |
| | | } |
| | | |
| | | QueryWrapper wrapper = new QueryWrapper(); |
| | | baseQueryService.addFilterWrapper(wrapper, filter); |
| | | baseQueryService.addFilterWrapper(wrapper, dr.getFilter()); |
| | | if (baseMapper instanceof GeomBaseMapper) { |
| | | wrapper.select("ST_AsText(geom) as geom, *"); |
| | | } |
| | |
| | | } |
| | | |
| | | String tab = BaseQueryService.getTabName(baseMapper); |
| | | String ids = getAnnexFilter(StringHelper.isEmpty(depcode) && StringHelper.isEmpty(dirs) && StringHelper.isEmpty(filter), list); |
| | | String ids = getAnnexFilter(StringHelper.isEmpty(depcode) && StringHelper.isEmpty(dirs) && StringHelper.isEmpty(dr.getFilter()), list); |
| | | List<AttachEntity> annex = baseQueryService.selectAnnexByTab(tab, ids); |
| | | |
| | | Map<String, List<?>> map = new HashMap<>(1); |
| | | map.put(name, list); |
| | | map.put(entity, list); |
| | | |
| | | return zipData(ue, map, annex, pwd); |
| | | return zipData(ue, map, annex, dr.getPwd()); |
| | | } |
| | | |
| | | /** |