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 | 49 +++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 43 insertions(+), 6 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 a5221f1..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; @@ -38,13 +38,13 @@ @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 wrapper = new QueryWrapper(); - baseQueryService.addFilterWrapper(baseMapper, wrapper, filter); + baseQueryService.addFilterWrapper(wrapper, filter); baseQueryService.addGeomWrapper(baseMapper, wrapper, wkt, srid); long count = baseMapper.selectCount(wrapper); @@ -68,13 +68,13 @@ @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 wrapper = new QueryWrapper(); - baseQueryService.addFilterWrapper(baseMapper, wrapper, filter); + baseQueryService.addFilterWrapper(wrapper, filter); baseQueryService.addGeomWrapper(baseMapper, wrapper, wkt, srid); Page<Object> page = new Page<>(pageIndex, pageSize); @@ -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