From 1b603d3b281d022baed62967d7d7eba63b454ec2 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期六, 29 十月 2022 16:06:31 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/controller/all/BaseQueryController.java | 55 ++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 46 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/lf/server/controller/all/BaseQueryController.java b/src/main/java/com/lf/server/controller/all/BaseQueryController.java index 8bc9ca5..a1d5a1e 100644 --- a/src/main/java/com/lf/server/controller/all/BaseQueryController.java +++ b/src/main/java/com/lf/server/controller/all/BaseQueryController.java @@ -1,7 +1,6 @@ package com.lf.server.controller.all; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -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; @@ -9,6 +8,7 @@ import com.lf.server.entity.all.ResponseMsg; import com.lf.server.helper.AesHelper; import com.lf.server.helper.StringHelper; +import com.lf.server.mapper.all.BasicMapper; import com.lf.server.mapper.all.GeomBaseMapper; import com.lf.server.service.all.BaseQueryService; import io.swagger.annotations.ApiImplicitParam; @@ -31,19 +31,19 @@ @ApiOperation(value = "鏌ヨ璁板綍鏁�") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlgAgnp"), - @ApiImplicitParam(name = "filter", value = "杩囨护鏉′欢", dataType = "String", paramType = "query", example = ""), - @ApiImplicitParam(name = "wkt", value = "WKT锛堣憲鍚嶆枃鏈級", dataType = "String", paramType = "query", example = ""), + @ApiImplicitParam(name = "filter", value = "杩囨护鏉′欢", dataType = "String", paramType = "query", example = "gid >= 50 and name like '鍘�' and objectid < 5000.0"), + @ApiImplicitParam(name = "wkt", value = "WKT锛堣憲鍚嶆枃鏈級", dataType = "String", paramType = "query", example = "gAPpDbZ53XfoQfvT8dj/uhBWX5os8kBJQ1LrNvH3VX7byFQdUJMPiEr8Fkj0q2i1pw+L8KFrvR0MLXq2xaO21nlQQXmEPofJxpDQZwEWUIFZsToXo1kLRD3t6WQezxWB8YTzXHM20Ba73x/ZuuezVhOFOq1U8HKf1dXQdv7gBzEB6fWMmFDc3FuH8GDDHv3LfT86Gio9VgMO6ohlrUdf3ZKtTHeLSuzGF4t0RZuX97YBNo25IIzpeTfRTXBxfdxA"), @ApiImplicitParam(name = "srid", value = "绌洪棿寮曠敤鏍囪瘑绗�", dataType = "Integer", paramType = "query", example = "4326") }) @GetMapping({"/selectCount"}) public ResponseMsg<Long> selectCount(String name, String filter, String wkt, Integer srid) { try { - BaseMapper baseMapper = baseQueryService.getBaseMapper(name); + BasicMapper baseMapper = baseQueryService.getBasicMapper(name); if (baseMapper == null) { return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); } - QueryWrapper<Object> wrapper = new QueryWrapper<Object>(); + QueryWrapper wrapper = new QueryWrapper(); baseQueryService.addFilterWrapper(wrapper, filter); baseQueryService.addGeomWrapper(baseMapper, wrapper, wkt, srid); @@ -59,7 +59,7 @@ @ApiOperation(value = "鍒嗛〉鏌ヨ") @ApiImplicitParams({ @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlgAgnp"), - @ApiImplicitParam(name = "filter", value = "杩囨护鏉′欢", dataType = "String", paramType = "query", example = "1=1 and 2>=1"), + @ApiImplicitParam(name = "filter", value = "杩囨护鏉′欢", dataType = "String", paramType = "query", example = ""), @ApiImplicitParam(name = "wkt", value = "WKT锛堣憲鍚嶆枃鏈級", dataType = "String", paramType = "query", example = ""), @ApiImplicitParam(name = "srid", value = "绌洪棿寮曠敤鏍囪瘑绗�", dataType = "Integer", paramType = "query", example = "4326"), @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1"), @@ -68,12 +68,12 @@ @GetMapping(value = "/selectByPage") public ResponseMsg<List<Object>> selectByPage(String name, String filter, String wkt, Integer srid, Integer pageIndex, Integer pageSize) { try { - BaseMapper baseMapper = baseQueryService.getBaseMapper(name); + BasicMapper baseMapper = baseQueryService.getBasicMapper(name); if (baseMapper == null) { return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); } - QueryWrapper<Object> wrapper = new QueryWrapper<Object>(); + QueryWrapper wrapper = new QueryWrapper(); baseQueryService.addFilterWrapper(wrapper, filter); baseQueryService.addGeomWrapper(baseMapper, wrapper, wkt, srid); @@ -101,7 +101,12 @@ return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); } - String wkt = baseMapper.selectWktById(gid); + String tab = baseQueryService.getTabName(baseMapper); + if (StringHelper.isNull(tab)) { + return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + } + + String wkt = baseMapper.selectWktById(tab, gid); if (!StringHelper.isEmpty(wkt)) { wkt = AesHelper.encrypt(wkt); } @@ -111,4 +116,36 @@ return fail(ex.getMessage(), null); } } + + @SysLog() + @ApiOperation(value = "妯$硦鎼滅储") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlgAgnp"), + @ApiImplicitParam(name = "field", value = "瀛楁", dataType = "String", paramType = "query", example = "name"), + @ApiImplicitParam(name = "value", value = "鍊�", dataType = "String", paramType = "query", example = "'鍘�'") + }) + @GetMapping(value = "/selectFuzzy") + public ResponseMsg<List<String>> selectFuzzy(String name, String field, String value) { + try { + BasicMapper baseMapper = baseQueryService.getBasicMapper(name); + if (baseMapper == null) { + return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + } + + String tab = baseQueryService.getTabName(baseMapper); + if (StringHelper.isNull(tab)) { + return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + } + if (StringHelper.isEmpty(field) || StringHelper.isSqlInjection(field)) { + return fail("鏌ヨ瀛楁涓嶆纭�", null); + } + + value = value == null ? StringHelper.getLikeStr("") : StringHelper.getLikeStr(value.replace("'", "")); + List<String> rs = baseMapper.selectFuzzy(tab, field, value); + + return success(rs); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } } -- Gitblit v1.9.3