From ab849f796bdc17236a95ea5fe5c166fb8f24a75c Mon Sep 17 00:00:00 2001 From: sws <15810472099@163.com> Date: 星期六, 26 十一月 2022 16:12:02 +0800 Subject: [PATCH] 1 --- src/main/java/com/lf/server/controller/all/BaseQueryController.java | 260 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 260 insertions(+), 0 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 new file mode 100644 index 0000000..92264ae --- /dev/null +++ b/src/main/java/com/lf/server/controller/all/BaseQueryController.java @@ -0,0 +1,260 @@ +package com.lf.server.controller.all; + +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.annotation.SysLog; +import com.lf.server.entity.all.ResponseMsg; +import com.lf.server.entity.ctrl.IdNameEntity; +import com.lf.server.entity.ctrl.TabEntity; +import com.lf.server.entity.data.DictEntity; +import com.lf.server.entity.data.DomainEntity; +import com.lf.server.helper.AesHelper; +import com.lf.server.helper.ClassHelper; +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; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; + +import java.util.List; + +/** + * 鐖舵煡璇㈡帶鍒跺櫒 + * @author WWW + */ +public class BaseQueryController extends BaseController { + @Autowired + BaseQueryService baseQueryService; + + @SysLog() + @ApiOperation(value = "鏌ヨ璁板綍鏁�") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlgagnp"), + @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") + }) + @GetMapping(value = "/selectCount") + @PostMapping(value = "/selectCount") + public ResponseMsg<Long> selectCount(String name, String filter, String wkt) { + try { + BasicMapper baseMapper = ClassHelper.getBasicMapper(name); + if (baseMapper == null) { + return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + } + + QueryWrapper wrapper = new QueryWrapper(); + baseQueryService.addFilterWrapper(wrapper, filter); + baseQueryService.addGeomWrapper(baseMapper, wrapper, wkt); + + long count = baseMapper.selectCount(wrapper); + + return success(count); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @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 = "srid", value = "绌洪棿寮曠敤鏍囪瘑绗�", dataType = "Integer", paramType = "query", example = "4326"), + @ApiImplicitParam(name = "pageIndex", value = "鍒嗛〉鏁帮紙浠�1寮�濮嬶級", dataType = "Integer", paramType = "query", example = "1"), + @ApiImplicitParam(name = "pageSize", value = "姣忛〉鏉℃暟", dataType = "Integer", paramType = "query", example = "10") + }) + @GetMapping(value = "/selectByPage") + @PostMapping(value = "/selectByPage") + public ResponseMsg<List<Object>> selectByPage(String name, String filter, String wkt, Integer pageIndex, Integer pageSize) { + try { + BasicMapper baseMapper = ClassHelper.getBasicMapper(name); + if (baseMapper == null) { + return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + } + + QueryWrapper wrapper = new QueryWrapper(); + baseQueryService.addFilterWrapper(wrapper, filter); + baseQueryService.addGeomWrapper(baseMapper, wrapper, wkt); + + Page<Object> page = new Page<>(pageIndex, pageSize); + page.addOrder(OrderItem.asc("gid")); + IPage<Object> paged = baseMapper.selectPage(page, wrapper); + + return success(paged.getTotal(), paged.getRecords()); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "鏍规嵁ID鏌ヨWKT") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlgagnp"), + @ApiImplicitParam(name = "gid", value = "GID", dataType = "Integer", paramType = "query", example = "1") + }) + @GetMapping(value = "/selectWktById") + public ResponseMsg<String> selectWktById(String name, Integer gid) { + try { + GeomBaseMapper baseMapper = ClassHelper.getGeoBaseMapper(name); + if (baseMapper == null) { + return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + } + + 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); + } + + return success(wkt); + } catch (Exception ex) { + 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 = "/selectFieldFuzzy") + public ResponseMsg<List<String>> selectFieldFuzzy(String name, String field, String value) { + try { + BasicMapper baseMapper = ClassHelper.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); + } + if (!StringHelper.isEmpty(value)) { + value = value.trim().replace("'", ""); + } + + value = StringHelper.getLikeStr2(value); + List<String> rs = baseMapper.selectFieldFuzzy(tab, field, value); + + return success(rs); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "妯$硦鎼滅储鐢ㄦ埛") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鐢ㄦ埛鍚�", dataType = "String", paramType = "query", example = "瀹�") + }) + @GetMapping(value = "/selectUserFuzzy") + public ResponseMsg<List<IdNameEntity>> selectUserFuzzy(String name) { + try { + List<IdNameEntity> rs = baseQueryService.selectUserFuzzy(name); + + return success(rs); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "妯$硦鎼滅储鍗曚綅") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鍗曚綅鍚�", dataType = "String", paramType = "query", example = "鍙�") + }) + @GetMapping(value = "/selectDepFuzzy") + public ResponseMsg<List<IdNameEntity>> selectDepFuzzy(String name) { + try { + List<IdNameEntity> rs = baseQueryService.selectDepFuzzy(name); + + return success(rs); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鎵�鏈夎〃") + @GetMapping(value = "/selectTabs") + public ResponseMsg<List<TabEntity>> selectTabs() { + try { + List<TabEntity> list = baseQueryService.selectTabs(); + + return success(list); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ瀛楁淇℃伅") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlg25wAanp") + }) + @GetMapping(value = "/selectFields") + public ResponseMsg<List<DictEntity>> selectFields(String name) { + try { + BasicMapper baseMapper = ClassHelper.getBasicMapper(name); + if (baseMapper == null) { + return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + } + + String tabName = BaseQueryService.getTabName(baseMapper); + if (tabName == null) { + return null; + } + + String[] strs = tabName.split("\\."); + List<DictEntity> list = baseQueryService.selectFields(strs[0], strs[1]); + + return success(list); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } + + @SysLog() + @ApiOperation(value = "鏌ヨ鍊煎煙淇℃伅") + @ApiImplicitParams({ + @ApiImplicitParam(name = "name", value = "鏄犲皠鍚嶇О", dataType = "String", paramType = "query", example = "dlg25wAanp") + }) + @GetMapping(value = "/selectDomains") + public ResponseMsg<List<DomainEntity>> selectDomains(String name) { + try { + BasicMapper baseMapper = ClassHelper.getBasicMapper(name); + if (baseMapper == null) { + return fail("鏌ヨ瀵硅薄涓嶅瓨鍦�", null); + } + + String tabName = BaseQueryService.getTabName(baseMapper); + if (tabName == null) { + return null; + } + + String[] strs = tabName.split("\\."); + List<DomainEntity> list = baseQueryService.selectDomains(strs[0], strs[1]); + + return success(list); + } catch (Exception ex) { + return fail(ex.getMessage(), null); + } + } +} -- Gitblit v1.9.3