From 05ffa1a7f490e1e81d6fbf1ee948db50b1fff6fc Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期二, 14 二月 2023 16:02:52 +0800 Subject: [PATCH] 修改depcode、dircode值 --- src/main/java/com/lf/server/controller/show/DataLibController.java | 290 +++++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 237 insertions(+), 53 deletions(-) diff --git a/src/main/java/com/lf/server/controller/show/DataLibController.java b/src/main/java/com/lf/server/controller/show/DataLibController.java index 7c1b2fb..ee0fe5d 100644 --- a/src/main/java/com/lf/server/controller/show/DataLibController.java +++ b/src/main/java/com/lf/server/controller/show/DataLibController.java @@ -1,24 +1,40 @@ package com.lf.server.controller.show; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.OrderItem; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; -import com.lf.server.aspect.SysLog; -import com.lf.server.controller.all.BaseController; +import com.lf.server.annotation.SysLog; +import com.lf.server.controller.all.BaseQueryController; +import com.lf.server.entity.all.HttpStatus; import com.lf.server.entity.all.ResponseMsg; -import com.lf.server.helper.AesHelper; -import com.lf.server.helper.ClassHelper; -import com.lf.server.helper.StringHelper; -import com.lf.server.mapper.all.GeomBaseMapper; +import com.lf.server.entity.all.StaticData; +import com.lf.server.entity.ctrl.DownloadReqEntity; +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.data.MetaEntity; +import com.lf.server.entity.data.VerEntity; +import com.lf.server.entity.sys.UserEntity; +import com.lf.server.helper.*; +import com.lf.server.mapper.all.BasicMapper; +import com.lf.server.service.all.BaseQueryService; +import com.lf.server.service.data.DownloadService; +import com.lf.server.service.data.MetaService; +import com.lf.server.service.data.VerService; +import com.lf.server.service.show.DataLibService; +import com.lf.server.service.sys.DownlogService; +import com.lf.server.service.sys.TokenService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.net.URLDecoder; +import java.nio.charset.StandardCharsets; import java.util.List; /** @@ -28,60 +44,142 @@ @Api(tags = "缁煎悎灞曠ず\\璧勬枡棣�") @RestController @RequestMapping("/dataLib") -public class DataLibController extends BaseController { +public class DataLibController extends BaseQueryController { + @Autowired + MetaService metaService; + + @Autowired + TokenService tokenService; + + @Autowired + DataLibService dataLibService; + + @Autowired + DownlogService downlogService; + + @Autowired + DownloadService downloadService; + + @Autowired + BaseQueryService baseQueryService; + + @Autowired + VerService verService; + @SysLog() - @ApiOperation(value = "鏌ヨ璁板綍鏁�") + @ApiOperation(value = "鍒嗛〉鏌ヨ鍏冩暟鎹�") @ApiImplicitParams({ - @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlgAgnp") + @ApiImplicitParam(name = "depcode", value = "鍗曚綅缂栫爜", dataType = "String", paramType = "query", example = "00"), + @ApiImplicitParam(name = "dircode", value = "鐩綍缂栫爜", dataType = "String", paramType = "query", example = "00"), + @ApiImplicitParam(name = "verid", value = "鐗堟湰ID", dataType = "Integer", paramType = "query", example = "0"), + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") }) - @GetMapping({"/selectCount"}) - public ResponseMsg<Long> selectCount(String name) { + @GetMapping(value = "/selectByPageForMeta") + public ResponseMsg<List<MetaEntity>> selectByPageForMeta(String depcode, String dircode, Integer verid, String name, Integer pageSize, Integer pageIndex) { try { - if (StringHelper.isEmpty(name)) { - return fail("鍚嶇О绌洪棿鍜屽疄浣撳悕绉颁笉鑳戒负绌�", null); + if (pageSize < 1 || pageIndex < 1) { + return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); } - Object obj = ClassHelper.getBean(name.trim() + "Mapper"); - if (!(obj instanceof BaseMapper)) { - return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + int count = metaService.selectCount(depcode, dircode, verid, name); + if (count == 0) { + return success(0, null); } - BaseMapper baseMapper = (BaseMapper) obj; - long count = baseMapper.selectCount(null); + List<MetaEntity> rs = metaService.selectByPage(depcode, dircode, verid, name, pageSize, pageSize * (pageIndex - 1)); - return success(count); + return success(count, rs); } catch (Exception ex) { return fail(ex.getMessage(), null); } } @SysLog() - @ApiOperation(value = "鍒嗛〉鏌ヨ") + @ApiOperation(value = "鏍规嵁鐩綍ID鏌ヨ鐗堟湰鍒楄〃") @ApiImplicitParams({ - @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlgAgnp"), - @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1"), - @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10") + @ApiImplicitParam(name = "dirid", value = "鐩綍ID", dataType = "Integer", paramType = "query") }) - @GetMapping(value = "/selectByPage") - public ResponseMsg<List<Object>> selectByPage(String name, Integer pageIndex, Integer pageSize) { + @GetMapping(value = "/selectVerByDirid") + public ResponseMsg<List<VerEntity>> selectVerByDirid(Integer dirid) { + try { + if (null == dirid || dirid < 0) { + dirid = 0; + } + + List<VerEntity> list = verService.selectByDirid(dirid); + if (null == list || list.isEmpty()) { + list = verService.selectByDirid(0); + } + + return success(list); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "鍒嗛〉鏌ヨ鍏冩暟鎹�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "depcode", value = "鍗曚綅缂栫爜", dataType = "String", paramType = "query", example = "00"), + @ApiImplicitParam(name = "dirs", value = "鐩綍ID", dataType = "String", paramType = "query", example = "00,01"), + @ApiImplicitParam(name = "name", value = "鍚嶇О", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectMetasForPage") + public ResponseMsg<Object> selectMetasForPage(String depcode, String dirs, String name, Integer pageSize, Integer pageIndex) { try { if (pageSize < 1 || pageIndex < 1) { return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); } - if (StringHelper.isEmpty(name)) { - return fail("鍚嶇О绌洪棿鍜屽疄浣撳悕绉颁笉鑳戒负绌�", null); + + int count = metaService.selectMetasForCount(depcode, dirs, name); + if (count == 0) { + return success(0, null); } - Object obj = ClassHelper.getBean(name.trim() + "Mapper"); - if (!(obj instanceof BaseMapper)) { - return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + List<MetaEntity> rs = metaService.selectMetasForPage(depcode, dirs, name, pageSize, pageSize * (pageIndex - 1)); + + return success(count, rs); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ琛ㄤ腑鏁版嵁") + @ApiImplicitParams({ + @ApiImplicitParam(name = "id", value = "鍏冩暟鎹甀D", dataType = "Integer", paramType = "query", example = "115"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10") + }) + @GetMapping(value = "/selectDbData") + public ResponseMsg<Object> selectDbData(Integer id, Integer pageIndex, Integer pageSize) { + // noinspection AlibabaRemoveCommentedCode + try { + if (null == id || id < 0) { + return fail("鍏冩暟鎹甀D涓嶈兘涓虹┖鎴栧皬浜�0", null); } - BaseMapper baseMapper = (BaseMapper) obj; + MetaEntity meta = metaService.selectById(id); + if (null == meta || null == meta.getTab() || !meta.getTab().contains(StaticData.POINT)) { + return fail("鎵句笉鍒板厓鏁版嵁淇℃伅", null); + } + + String entity = meta.getTab().substring(meta.getTab().indexOf(".") + 1).replace("_", "").toLowerCase(); + BasicMapper baseMapper = ClassHelper.getBasicMapper(entity); + if (null == baseMapper) { + return null; + } + + QueryWrapper wrapper = new QueryWrapper(); + wrapper.eq("parentid", meta.getEventid()); + Page<Object> page = new Page<>(pageIndex, pageSize); page.addOrder(OrderItem.asc("gid")); - - IPage<Object> paged = baseMapper.selectPage(page, null); + IPage<Object> paged = baseMapper.selectPage(page, wrapper); return success(paged.getTotal(), paged.getRecords()); } catch (Exception ex) { @@ -90,32 +188,118 @@ } @SysLog() - @ApiOperation(value = "鏍规嵁ID鏌ヨWKT") + @ApiOperation(value = "璇锋眰鍏冩暟鎹笅杞�") @ApiImplicitParams({ - @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlgAgnp"), - @ApiImplicitParam(name = "gid", value = "GID", dataType = "Integer", paramType = "query", example = "1") + @ApiImplicitParam(name = "reqEntity", value = "璇锋眰涓嬭浇瀹炰綋", dataType = "DownloadReqEntity", paramType = "body") }) - @GetMapping(value = "/selectWktById") - public ResponseMsg<String> selectWktById(String name, Integer gid) { + @ResponseBody + @PostMapping(value = "/downloadReq") + public ResponseMsg<Object> downloadReq(@RequestBody DownloadReqEntity reqEntity, HttpServletRequest req, HttpServletResponse res) { try { - if (StringHelper.isEmpty(name)) { - return fail("鍚嶇О绌洪棿鍜屽疄浣撳悕绉颁笉鑳戒负绌�", null); + if (null == reqEntity || StringHelper.isEmpty(reqEntity.getPwd())) { + return fail("瀵嗙爜涓嶈兘涓虹┖"); + } + if (null == reqEntity.getIds() || reqEntity.getIds().isEmpty()) { + return fail("璇烽�夋嫨瑕佷笅杞界殑鏂囦欢"); + } + if (!DownloadService.decryptPwd(reqEntity)) { + return fail("瀵嗙爜瑙e瘑澶辫触", null); + } + if (StringHelper.isPwdInvalid(reqEntity.getPwd())) { + return fail("瀵嗙爜涓嶇鍚堣姹�"); } - Object obj = ClassHelper.getBean(name.trim() + "Mapper"); - if (!(obj instanceof GeomBaseMapper)) { - return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + List<MetaEntity> list = metaService.selectMetaFiles(reqEntity.getIds()); + if (null == list || list.isEmpty()) { + return fail("娌℃湁鎵惧埌鍏冩暟鎹�"); } - GeomBaseMapper baseMapper = (GeomBaseMapper) obj; - String wkt = baseMapper.selectWktById(gid); - if (!StringHelper.isEmpty(wkt)) { - wkt = AesHelper.encrypt(wkt); - } + UserEntity ue = tokenService.getCurrentUser(req); + String guid = downloadService.zipFiles(ue, list, reqEntity.getPwd()); - return success(wkt); + return success(guid); } catch (Exception ex) { return fail(ex.getMessage(), null); } } + + @SysLog() + @ApiOperation(value = "鏌ヨ涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "鏂囦欢GUID", dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "pwd", value = "瀵嗙爜", dataType = "String", paramType = "query") + }) + @GetMapping(value = "/selectDownloadFile") + public ResponseMsg<Boolean> selectDownloadFile(String guid, String pwd) { + try { + if (StringHelper.isEmpty(guid) || StringHelper.isEmpty(pwd)) { + return fail("鏂囦欢ID鍜屽瘑鐮佷笉鑳戒负绌�", null); + } + if (!pwd.endsWith(StaticData.EQ)) { + pwd = URLDecoder.decode(pwd, StandardCharsets.UTF_8.name()); + } + + String password = DownloadService.decryptPwd(pwd); + if (null == password) { + return fail("瀵嗙爜瑙e瘑澶辫触", null); + } + + DownloadEntity de = downloadService.selectByGuid(guid); + if (null == de) { + return fail("鏂囦欢涓嶅瓨鍦�", null); + } + if (!StringHelper.isNull(de.getPwd()) && !Md5Helper.validatePassword(password, de.getPwd())) { + return fail("瀵嗙爜涓嶆纭�", null); + } + + String filePath = downloadService.getDownloadFilePath(de); + File file = new File(filePath); + + return success(file.exists()); + } catch (Exception ex) { + return fail(ex.getMessage(), false); + } + } + + @SysLog() + @ApiOperation(value = "涓嬭浇鏂囦欢") + @ApiImplicitParams({ + @ApiImplicitParam(name = "guid", value = "鏂囦欢GUID", dataType = "String", paramType = "query"), + @ApiImplicitParam(name = "pwd", value = "瀵嗙爜", dataType = "String", paramType = "query") + }) + @ResponseBody + @GetMapping(value = "/downloadFile") + @SuppressWarnings("AlibabaRemoveCommentedCode") + public void downloadFile(String guid, String pwd, HttpServletRequest req, HttpServletResponse res) { + try { + /*if (StringHelper.isEmpty(guid) || StringHelper.isEmpty(pwd)) { + WebHelper.writeInfo(HttpStatus.BAD_REQUEST, "鏂囦欢ID鍜屽瘑鐮佷笉鑳戒负绌�", res); + } + if (!pwd.endsWith(StaticData.EQ)) { + pwd = URLDecoder.decode(pwd, StandardCharsets.UTF_8.name()); + } + + String password = DownloadService.decryptPwd(pwd); + if (null == password) { + WebHelper.writeInfo(HttpStatus.BAD_REQUEST, "瀵嗙爜瑙e瘑澶辫触", res); + }*/ + + DownloadEntity de = downloadService.selectByGuid(guid); + if (null == de) { + WebHelper.writeInfo(HttpStatus.NOT_FOUND, "鏂囦欢涓嶅瓨鍦�", res); + return; + } + /*if (!StringHelper.isNull(de.getPwd()) && !Md5Helper.validatePassword(password, de.getPwd())) { + WebHelper.writeInfo(HttpStatus.UNAUTHORIZED, "瀵嗙爜涓嶆纭�", res); + }*/ + + UserEntity ue = tokenService.getCurrentUser(req); + downlogService.updateInfos(ue, de, req); + + String filePath = downloadService.getDownloadFilePath(de); + WebHelper.download(filePath, de.getName(), res); + } catch (Exception ex) { + WebHelper.writeInfo(HttpStatus.ERROR, ex.getMessage(), res); + } + } } -- Gitblit v1.9.3