From ed8c7a5effd0d423ce1118b680ecdca6fe732609 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 02 七月 2025 16:43:13 +0800 Subject: [PATCH] Merge branch 'master' of http://192.168.11.205:9000/r/P2022036_Service --- src/main/java/com/lf/server/controller/show/InquiryController.java | 153 +++++++++++++++++++++++++++++---------------------- 1 files changed, 87 insertions(+), 66 deletions(-) diff --git a/src/main/java/com/lf/server/controller/show/InquiryController.java b/src/main/java/com/lf/server/controller/show/InquiryController.java index 95ec4e4..6948fb1 100644 --- a/src/main/java/com/lf/server/controller/show/InquiryController.java +++ b/src/main/java/com/lf/server/controller/show/InquiryController.java @@ -1,24 +1,34 @@ package com.lf.server.controller.show; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -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.entity.all.StaticData; +import com.lf.server.entity.ctrl.DownloadTileEntity; +import com.lf.server.entity.ctrl.ShpRecordEntity; +import com.lf.server.entity.data.DownloadEntity; +import com.lf.server.entity.data.MetaFileEntity; +import com.lf.server.entity.data.PublishEntity; +import com.lf.server.entity.sys.UserEntity; 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.helper.WebHelper; +import com.lf.server.service.all.BaseUploadService; +import com.lf.server.service.data.DownloadService; +import com.lf.server.service.data.PublishService; +import com.lf.server.service.show.InquiryService; +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.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; import java.util.List; /** @@ -28,94 +38,105 @@ @Api(tags = "缁煎悎灞曠ず\\鏌ヨ") @RestController @RequestMapping("/inquiry") -public class InquiryController extends BaseController { +public class InquiryController extends BaseQueryController { + @Autowired + TokenService tokenService; + + @Autowired + BaseUploadService baseUploadService; + + @Autowired + InquiryService inquiryService; + + @Resource + PublishService publishService; + @SysLog() - @ApiOperation(value = "鏌ヨ璁板綍鏁�") - @ApiImplicitParams({ - @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlgAgnp") - }) - @GetMapping({"/selectCount"}) - public ResponseMsg<Long> selectCount(String name) { + @ApiOperation(value = "涓婁紶Shp鏂囦欢璇诲彇绗竴鏉¤褰曠殑WKT") + @ResponseBody + @PostMapping(value = "/uploadShp") + public ResponseMsg<ShpRecordEntity> uploadShp(HttpServletRequest req, HttpServletResponse res) { try { - if (StringHelper.isEmpty(name)) { - return fail("鍚嶇О绌洪棿鍜屽疄浣撳悕绉颁笉鑳戒负绌�", null); + UserEntity ue = tokenService.getCurrentUser(req); + if (ue == null) { + return fail("鐢ㄦ埛鏈櫥褰�", null); } - Object obj = ClassHelper.getBean(name.trim() + "Mapper"); - if (!(obj instanceof BaseMapper)) { - return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + List<MetaFileEntity> list = baseUploadService.uploadData(null, null, false, req, res); + if (list == null || list.size() < StaticData.FOUR) { + return fail("娌℃湁鎵惧埌宸蹭笂浼犵殑鏁版嵁鎴栦笉瀹屾暣", null); } - BaseMapper baseMapper = (BaseMapper) obj; - long count = baseMapper.selectCount(null); + ShpRecordEntity sr = inquiryService.readShpFirstRecord(list); + if (sr != null && !StringHelper.isEmpty(sr.getWkt())) { + sr.setWkt(AesHelper.encrypt(sr.getWkt())); + } - return success(count); + return success(sr); } catch (Exception ex) { - return fail(ex.getMessage(), null); + return fail(ex, null); } } @SysLog() - @ApiOperation(value = "鍒嗛〉鏌ヨ") + @ApiOperation(value = "涓嬭浇鐡︾墖") @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 = "dt", value = "涓嬭浇鐡︾墖瀹炰綋绫�", dataType = "DownloadTileEntity", paramType = "body") }) - @GetMapping(value = "/selectByPage") - public ResponseMsg<List<Object>> selectByPage(String name, Integer pageIndex, Integer pageSize) { + @ResponseBody + @PostMapping(value = "/downloadTiles") + public ResponseMsg<Object> downloadTiles(@RequestBody DownloadTileEntity dt, HttpServletRequest req, HttpServletResponse res) { try { - if (pageSize < 1 || pageIndex < 1) { - return fail("姣忛〉椤垫暟鎴栧垎椤垫暟灏忎簬1", null); + if (null == dt || null == dt.getPubid() || StringHelper.isEmpty(dt.getPwd())) { + return fail("鍙戝竷ID鍜屽瘑鐮佷笉鑳戒负绌�"); } - if (StringHelper.isEmpty(name)) { - return fail("鍚嶇О绌洪棿鍜屽疄浣撳悕绉颁笉鑳戒负绌�", null); + String err = dt.verifyCoords(); + if (null != err) { + return fail(err); + } + if (!DownloadService.decryptPwd(dt)) { + return fail("瀵嗙爜瑙e瘑澶辫触", null); } - Object obj = ClassHelper.getBean(name.trim() + "Mapper"); - if (!(obj instanceof BaseMapper)) { - return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + PublishEntity pub = publishService.selectById(dt.getPubid()); + if (null == pub) { + return fail("鍙戝竷鏁版嵁涓嶅瓨鍦�"); } - BaseMapper baseMapper = (BaseMapper) obj; - Page<Object> page = new Page<>(pageIndex, pageSize); - page.addOrder(OrderItem.asc("gid")); + UserEntity ue = tokenService.getCurrentUser(req); + String guid = inquiryService.zipTiles(dt, pub, ue); + if (null == guid) { + return fail("娌℃湁鐡︾墖闇�瑕佹墦鍖呬笅杞�"); + } - IPage<Object> paged = baseMapper.selectPage(page, null); - - return success(paged.getTotal(), paged.getRecords()); + return success(guid); } catch (Exception ex) { - return fail(ex.getMessage(), null); + return fail(ex, null); } } @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 = "guid", value = "鏂囦欢GUID", dataType = "String", paramType = "query") }) - @GetMapping(value = "/selectWktById") - public ResponseMsg<String> selectWktById(String name, Integer gid) { + @ResponseBody + @GetMapping(value = "/downloadFile") + public void downloadFile(String guid, HttpServletRequest req, HttpServletResponse res) { try { - if (StringHelper.isEmpty(name)) { - return fail("鍚嶇О绌洪棿鍜屽疄浣撳悕绉颁笉鑳戒负绌�", null); + DownloadEntity de = downloadService.selectByGuid(guid); + if (null == de) { + WebHelper.writeInfo(HttpStatus.NOT_FOUND, "鏂囦欢涓嶅瓨鍦�", res); + return; } - Object obj = ClassHelper.getBean(name.trim() + "Mapper"); - if (!(obj instanceof GeomBaseMapper)) { - return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); - } + UserEntity ue = tokenService.getCurrentUser(req); + downlogService.updateInfos(ue, de, req); - GeomBaseMapper baseMapper = (GeomBaseMapper) obj; - String wkt = baseMapper.selectWktById(gid); - if (!StringHelper.isEmpty(wkt)) { - wkt = AesHelper.encrypt(wkt); - } - - return success(wkt); + String filePath = downloadService.getDownloadFilePath(de); + WebHelper.download(filePath, de.getName(), res); } catch (Exception ex) { - return fail(ex.getMessage(), null); + WebHelper.writeInfo(HttpStatus.ERROR, ex.getMessage(), res); } } } -- Gitblit v1.9.3