| | |
| | | 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.all.StaticData; |
| | | import com.lf.server.entity.ctrl.DownloadReqEntity; |
| | | import com.lf.server.entity.ctrl.IdNameEntity; |
| | | import com.lf.server.entity.ctrl.KeyValueEntity; |
| | |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "name", value = "映射名称", dataType = "String", paramType = "query", example = "dlgagnp"), |
| | | @ApiImplicitParam(name = "wkt", value = "WKT(著名文本)", dataType = "String", paramType = "query", example = ""), |
| | | @ApiImplicitParam(name = "buffer", value = "缓冲区大小", dataType = "Double", paramType = "query", example = "10"), |
| | | @ApiImplicitParam(name = "limit", value = "限制条数", dataType = "Integer", paramType = "query", example = "20") |
| | | }) |
| | | @GetMapping(value = "/selectByBuffer") |
| | | public ResponseMsg<List<Object>> selectByBuffer(String name, String wkt, Integer limit) { |
| | | public ResponseMsg<List<?>> selectByBuffer(String name, String wkt, Double buffer, Integer limit) { |
| | | try { |
| | | if (StringHelper.isEmpty(wkt)) { |
| | | return fail("WKT不能为空", null); |
| | | } |
| | | if (null == limit || limit < 1 || limit > StaticData.ONE_HUNDRED) { |
| | | limit = 20; |
| | | } |
| | | if (null == buffer || buffer < 0 || buffer > StaticData.ONE_HUNDRED_THOUSAND) { |
| | | buffer = 10.0; |
| | | } |
| | | |
| | | return success(0, null); |
| | | GeomBaseMapper baseMapper = ClassHelper.getGeoBaseMapper(name); |
| | | if (baseMapper == null) { |
| | | return fail("查询对象不存在", null); |
| | | } |
| | | |
| | | QueryWrapper wrapper = new QueryWrapper(); |
| | | wrapper.select("ST_AsText(geom) as geom, *"); |
| | | baseQueryService.addBufferWrapper(baseMapper, wrapper, wkt, buffer); |
| | | wrapper.last("limit " + limit); |
| | | |
| | | List<?> list = baseMapper.selectList(wrapper); |
| | | |
| | | return success(null == list ? 0 : list.size(), list); |
| | | } catch (Exception ex) { |
| | | return fail(ex, null); |
| | | } |
| | |
| | | } |
| | | |
| | | @SysLog() |
| | | @ApiOperation(value = "根据GID查询") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "name", value = "映射名称", dataType = "String", paramType = "query", example = "dlgagnp"), |
| | | @ApiImplicitParam(name = "gid", value = "GID", dataType = "int", paramType = "query", example = "1") |
| | | }) |
| | | @GetMapping(value = "/selectByGid") |
| | | public ResponseMsg<Object> selectByGid(String name, int gid) { |
| | | try { |
| | | GeomBaseMapper baseMapper = ClassHelper.getGeoBaseMapper(name); |
| | | if (baseMapper == null) { |
| | | return fail("查询对象不存在", null); |
| | | } |
| | | |
| | | QueryWrapper wrapper = new QueryWrapper(); |
| | | wrapper.select("ST_AsText(geom) as geom, *"); |
| | | wrapper.eq("gid", gid); |
| | | |
| | | Object obj = baseMapper.selectOne(wrapper); |
| | | |
| | | return success(null == obj ? 0 : 1, obj); |
| | | } catch (Exception ex) { |
| | | return fail(ex, null); |
| | | } |
| | | } |
| | | |
| | | @SysLog() |
| | | @ApiOperation(value = "根据实体名查询表名") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "name", value = "映射名称", dataType = "String", paramType = "query", example = "dlgagnp") |
| | | }) |
| | | @GetMapping(value = "/selectTabByEntity") |
| | | public ResponseMsg<Object> selectTabByEntity(String name) { |
| | | try { |
| | | BasicMapper baseMapper = ClassHelper.getBasicMapper(name); |
| | | if (baseMapper == null) { |
| | | return fail("查询对象不存在", null); |
| | | } |
| | | |
| | | String tab = BaseQueryService.getTabName(baseMapper); |
| | | |
| | | return success(tab); |
| | | } catch (Exception ex) { |
| | | return fail(ex, null); |
| | | } |
| | | } |
| | | |
| | | @SysLog() |
| | | @ApiOperation(value = "模糊搜索字段") |
| | | @ApiImplicitParams({ |
| | | @ApiImplicitParam(name = "name", value = "映射名称", dataType = "String", paramType = "query", example = "dlgagnp"), |
| | |
| | | if (StringHelper.isEmpty(field) || StringHelper.isSqlInjection(field)) { |
| | | return fail("查询字段不正确", null); |
| | | } |
| | | if (!StringHelper.isEmpty(value)) { |
| | | value = value.trim().replace("'", ""); |
| | | } |
| | | |
| | | value = StringHelper.getLikeStr2(value); |
| | | value = StringHelper.isEmpty(value) ? "%" : StringHelper.getLikeUpperStr(value); |
| | | List<String> rs = baseMapper.selectFieldFuzzy(tab, field, value); |
| | | |
| | | return success(rs); |