管道基础大数据平台系统开发-【后端】-Server
1
13693261870
2023-03-15 34156736f08170c0ca375a2a222d8adb5b5cb4bf
src/main/java/com/lf/server/controller/all/BaseQueryController.java
@@ -6,6 +6,7 @@
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;
@@ -145,13 +146,35 @@
    @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);
        }
@@ -219,6 +242,32 @@
    }
    @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"),