From 4e7ae7e903a07389607cf47ad8f2bbd5e8ccd8d6 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期三, 30 八月 2023 10:18:50 +0800 Subject: [PATCH] 元数据查询接口添加传感器类型、元数据类型、开始日期、结束日期参数 --- src/main/java/com/moon/server/entity/all/StaticData.java | 2 src/main/java/com/moon/server/controller/data/MetaController.java | 17 +++++++- src/main/java/com/moon/server/mapper/data/MetaMapper.java | 37 +++++++++++------- src/main/java/com/moon/server/service/data/RasterService.java | 2 src/main/java/com/moon/server/service/data/MetaService.java | 8 ++-- src/main/resources/mapper/data/MetaMapper.xml | 24 ++++++++++++ 6 files changed, 67 insertions(+), 23 deletions(-) diff --git a/src/main/java/com/moon/server/controller/data/MetaController.java b/src/main/java/com/moon/server/controller/data/MetaController.java index 9de1c7b..46088f4 100644 --- a/src/main/java/com/moon/server/controller/data/MetaController.java +++ b/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) { diff --git a/src/main/java/com/moon/server/entity/all/StaticData.java b/src/main/java/com/moon/server/entity/all/StaticData.java index 0ef5fb3..fa3b9df 100644 --- a/src/main/java/com/moon/server/entity/all/StaticData.java +++ b/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杩涘埗 diff --git a/src/main/java/com/moon/server/mapper/data/MetaMapper.java b/src/main/java/com/moon/server/mapper/data/MetaMapper.java index 70ab170..789b703 100644 --- a/src/main/java/com/moon/server/mapper/data/MetaMapper.java +++ b/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; /** @@ -16,28 +17,36 @@ /** * 鏌ヨ璁板綍鏁� * - * @param depcode 鍗曚綅缂栫爜 - * @param dircode 鐩綍缂栫爜 - * @param verid 鐗堟湰ID - * @param name 鍚嶇О - * @param wkt WKT + * @param depcode 鍗曚綅缂栫爜 + * @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); /** * 鍒嗛〉鏌ヨ * - * @param depcode 鍗曚綅缂栫爜 - * @param dircode 鐩綍缂栫爜 - * @param verid 鐗堟湰ID - * @param name 鍚嶇О - * @param wkt WKT - * @param limit 璁板綍鏁� - * @param offset 鍋忕Щ閲� + * @param depcode 鍗曚綅缂栫爜 + * @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 diff --git a/src/main/java/com/moon/server/service/data/MetaService.java b/src/main/java/com/moon/server/service/data/MetaService.java index 0a81ed8..605be1e 100644 --- a/src/main/java/com/moon/server/service/data/MetaService.java +++ b/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 diff --git a/src/main/java/com/moon/server/service/data/RasterService.java b/src/main/java/com/moon/server/service/data/RasterService.java index e16e9ff..21f89d2 100644 --- a/src/main/java/com/moon/server/service/data/RasterService.java +++ b/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缂栫爜锛歅ROJCS銆丟EOGCS銆丟EOGCS|UNIT 鎴� NULL String code = sr.GetAuthorityCode(null); diff --git a/src/main/resources/mapper/data/MetaMapper.xml b/src/main/resources/mapper/data/MetaMapper.xml index 5e89121..e3a0c7b 100644 --- a/src/main/resources/mapper/data/MetaMapper.xml +++ b/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 <= #{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 <= #{endDate} + </if> <if test="wkt != null"> and ${wkt} </if> -- Gitblit v1.9.3