月球大数据地理空间分析展示平台-【后端】-月球后台服务
13693261870
2023-08-30 4e7ae7e903a07389607cf47ad8f2bbd5e8ccd8d6
元数据查询接口添加传感器类型、元数据类型、开始日期、结束日期参数
已修改6个文件
66 ■■■■ 文件已修改
src/main/java/com/moon/server/controller/data/MetaController.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/entity/all/StaticData.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/mapper/data/MetaMapper.java 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/service/data/MetaService.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/service/data/RasterService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/data/MetaMapper.xml 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/moon/server/controller/data/MetaController.java
@@ -30,6 +30,7 @@
import com.moon.server.helper.StringHelper;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@@ -38,6 +39,7 @@
import java.net.URLDecoder;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@@ -76,24 +78,33 @@
            @ApiImplicitParam(name = "dircode", value = "目录编码", dataType = "String", paramType = "query", example = "00"),
            @ApiImplicitParam(name = "verid", value = "版本ID", dataType = "Integer", paramType = "query", example = "0"),
            @ApiImplicitParam(name = "name", value = "名称", dataType = "String", paramType = "query", example = ""),
            @ApiImplicitParam(name = "sensorType", value = "传感器类型", dataType = "Integer", paramType = "query", example = "0"),
            @ApiImplicitParam(name = "mataType", value = "元数据类型", dataType = "Integer", paramType = "query", example = "0"),
            @ApiImplicitParam(name = "startDate", value = "开始日期", dataType = "Date", paramType = "query", example = "0"),
            @ApiImplicitParam(name = "endDate", value = "结束日期", dataType = "Date", paramType = "query", example = "0"),
            @ApiImplicitParam(name = "wkt", value = "WKT字符串", dataType = "String", paramType = "query", example = "gAPpDbZ53XfoQfvT8dj/uhBWX5os8kBJQ1LrNvH3VX7byFQdUJMPiEr8Fkj0q2i1pw+L8KFrvR0MLXq2xaO21nlQQXmEPofJxpDQZwEWUIFZsToXo1kLRD3t6WQezxWB8YTzXHM20Ba73x/ZuuezVhOFOq1U8HKf1dXQdv7gBzEB6fWMmFDc3FuH8GDDHv3LfT86Gio9VgMO6ohlrUdf3ZKtTHeLSuzGF4t0RZuX97YBNo25IIzpeTfRTXBxfdxA"),
            @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "Integer", paramType = "query", example = "10"),
            @ApiImplicitParam(name = "pageIndex", value = "分页数(从1开始)", dataType = "Integer", paramType = "query", example = "1")
    })
    @GetMapping(value = "/selectByPageAndCount")
    public ResponseMsg<List<MetaEntity>> selectByPageAndCount(String depcode, String dircode, Integer verid, String name, String wkt, Integer pageSize, Integer pageIndex) {
    public ResponseMsg<List<MetaEntity>> selectByPageAndCount(String depcode, String dircode, Integer verid, String name, Integer sensorType, Integer mataType, @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date startDate, @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") Date endDate, String wkt, Integer pageSize, Integer pageIndex) {
        try {
            if (pageSize < 1 || pageIndex < 1) {
                return fail("每页页数或分页数小于1", null);
            }
            if (startDate != null && endDate != null && startDate.getTime() > endDate.getTime()) {
                Date tmp = startDate;
                startDate = endDate;
                endDate = tmp;
            }
            wkt = metaService.getGeometryFilter(wkt);
            int count = metaService.selectCount(depcode, dircode, verid, name, wkt);
            int count = metaService.selectCount(depcode, dircode, verid, name, sensorType, mataType, startDate, endDate, wkt);
            if (count == 0) {
                return success(0, null);
            }
            List<MetaEntity> rs = metaService.selectByPage(depcode, dircode, verid, name, wkt, pageSize, pageSize * (pageIndex - 1));
            List<MetaEntity> rs = metaService.selectByPage(depcode, dircode, verid, name, sensorType, mataType, startDate, endDate, wkt, pageSize, pageSize * (pageIndex - 1));
            return success(count, rs);
        } catch (Exception ex) {
src/main/java/com/moon/server/entity/all/StaticData.java
@@ -196,7 +196,7 @@
    public final static String MOON200 = "GCS_Moon_2000";
    public final static List<String> EPSGS = new ArrayList<>(Arrays.asList("EPSG:4326", "EPSG:4490", "ESRI:104903"));
    public final static List<String> EPSGS = new ArrayList<>(Arrays.asList("EPSG:4326", "EPSG:4490", "EPSG:104903"));
    /**
     * 16进制
src/main/java/com/moon/server/mapper/data/MetaMapper.java
@@ -4,6 +4,7 @@
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;
import java.util.Date;
import java.util.List;
/**
@@ -20,10 +21,14 @@
     * @param dircode 目录编码
     * @param verid   版本ID
     * @param name    名称
     * @param sensorType 传感器类型
     * @param mataType   元数据类型
     * @param startDate  开始日期
     * @param endDate    结束日期
     * @param wkt     WKT
     * @return 记录数
     */
    public Integer selectCount(String depcode, String dircode, Integer verid, String name, String wkt);
    public Integer selectCount(String depcode, String dircode, Integer verid, String name, Integer sensorType, Integer mataType, Date startDate, Date endDate, String wkt);
    /**
     * 分页查询
@@ -32,12 +37,16 @@
     * @param dircode 目录编码
     * @param verid   版本ID
     * @param name    名称
     * @param sensorType 传感器类型
     * @param mataType   元数据类型
     * @param startDate  开始日期
     * @param endDate    结束日期
     * @param wkt     WKT
     * @param limit   记录数
     * @param offset  偏移量
     * @return 列表
     */
    public List<MetaEntity> selectByPage(String depcode, String dircode, Integer verid, String name, String wkt, Integer limit, Integer offset);
    public List<MetaEntity> selectByPage(String depcode, String dircode, Integer verid, String name, Integer sensorType, Integer mataType, Date startDate, Date endDate, String wkt, Integer limit, Integer offset);
    /**
     * 根据GUID查询GDB
src/main/java/com/moon/server/service/data/MetaService.java
@@ -48,21 +48,21 @@
    private final static Log log = LogFactory.getLog(MetaService.class);
    @Override
    public Integer selectCount(String depcode, String dircode, Integer verid, String name, String wkt) {
    public Integer selectCount(String depcode, String dircode, Integer verid, String name, Integer sensorType, Integer mataType, Date startDate, Date endDate, String wkt) {
        depcode = StringHelper.getRightLike(depcode);
        dircode = StringHelper.getRightLike(dircode);
        name = StringHelper.getLikeUpperStr(name);
        return metaMapper.selectCount(depcode, dircode, verid, name, wkt);
        return metaMapper.selectCount(depcode, dircode, verid, name, sensorType, mataType, startDate, endDate, wkt);
    }
    @Override
    public List<MetaEntity> selectByPage(String depcode, String dircode, Integer verid, String name, String wkt, Integer limit, Integer offset) {
    public List<MetaEntity> selectByPage(String depcode, String dircode, Integer verid, String name, Integer sensorType, Integer mataType, Date startDate, Date endDate, String wkt, Integer limit, Integer offset) {
        depcode = StringHelper.getRightLike(depcode);
        dircode = StringHelper.getRightLike(dircode);
        name = StringHelper.getLikeUpperStr(name);
        return metaMapper.selectByPage(depcode, dircode, verid, name, wkt, limit, offset);
        return metaMapper.selectByPage(depcode, dircode, verid, name, sensorType, mataType, startDate, endDate, wkt, limit, offset);
    }
    @Override
src/main/java/com/moon/server/service/data/RasterService.java
@@ -67,7 +67,7 @@
            mf.setCoorSys(sr.GetName());
            if (StaticData.MOON200.equals(mf.getCoorSys())) {
                // EPSG编码
                mf.setEpsg("ESRI:" + StaticData.I104903);
                mf.setEpsg("EPSG:" + StaticData.I104903);
            } else {
                // EPSG编码:PROJCS、GEOGCS、GEOGCS|UNIT 或 NULL
                String code = sr.GetAuthorityCode(null);
src/main/resources/mapper/data/MetaMapper.xml
@@ -17,6 +17,18 @@
            <if test="name != null">
                and upper(name) like #{name}
            </if>
            <if test="sensorType != null">
                and sensortype = #{sensorType}
            </if>
            <if test="mataType != null">
                and mata_type = #{mataType}
            </if>
            <if test="startDate != null">
                and acq_time >= #{startDate}
            </if>
            <if test="endDate != null">
                and acq_time &lt;= #{endDate}
            </if>
            <if test="wkt != null">
                and ${wkt}
            </if>
@@ -40,6 +52,18 @@
            <if test="name != null">
                and upper(name) like #{name}
            </if>
            <if test="sensorType != null">
                and sensortype = #{sensorType}
            </if>
            <if test="mataType != null">
                and mata_type = #{mataType}
            </if>
            <if test="startDate != null">
                and acq_time >= #{startDate}
            </if>
            <if test="endDate != null">
                and acq_time &lt;= #{endDate}
            </if>
            <if test="wkt != null">
                and ${wkt}
            </if>