From f34c06ae314cd4a3f9a3bd50a264a3ce0da5d7e7 Mon Sep 17 00:00:00 2001 From: 13693261870 <252740454@qq.com> Date: 星期一, 10 四月 2023 13:54:19 +0800 Subject: [PATCH] 1 --- /dev/null | 11 ----------- src/main/resources/mybatis.xml | 2 +- src/main/java/com/terra/coal/mapper/MainMapper.java | 11 +++++++++-- src/main/java/com/terra/coal/controller/MainController.java | 9 +++++---- src/main/java/com/terra/coal/service/MainService.java | 4 ++-- 5 files changed, 17 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/terra/coal/controller/MainController.java b/src/main/java/com/terra/coal/controller/MainController.java index 016be14..e41c8a8 100644 --- a/src/main/java/com/terra/coal/controller/MainController.java +++ b/src/main/java/com/terra/coal/controller/MainController.java @@ -18,6 +18,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.File; +import java.math.BigDecimal; import java.util.List; /** @@ -75,9 +76,9 @@ @ApiOperation(value = "鏍规嵁鑼冨洿缁熻") @ApiImplicitParams({ - @ApiImplicitParam(name = "wkt", value = "WKT鏂囨湰", dataType = "String", paramType = "query", example = "POLYGON ((113.5807 45.4897,113.5898 45.4893,113.5857 45.4837,113.5807 45.4897))"), @ApiImplicitParam(name = "z", value = "楂樺害", dataType = "double", paramType = "query", example = "640"), - @ApiImplicitParam(name = "deep", value = "娣卞害", dataType = "double", paramType = "query", example = "50") + @ApiImplicitParam(name = "deep", value = "娣卞害", dataType = "double", paramType = "query", example = "50"), + @ApiImplicitParam(name = "wkt", value = "WKT鏂囨湰", dataType = "String", paramType = "query", example = "POLYGON ((113.5807 45.4897,113.5898 45.4893,113.5857 45.4837,113.5807 45.4897))") }) @GetMapping(value = "/countByRange") public ResponseMsg<Object> countByRange(String wkt, double z, double deep) { @@ -92,9 +93,9 @@ return fail("寮�鎸栨繁搴﹁繃灏�", null); } - List<CountEntity> rs = mainService.countByRange("'" + wkt + "'", z, z + deep); + List<CountEntity> rs = mainService.countByRange(BigDecimal.valueOf(z), BigDecimal.valueOf(z + deep), wkt); - return success("鎴愬姛", rs); + return success("鎴愬姛", null == rs ? 0 : rs.size(), rs); } catch (Exception ex) { log.error(ex.getMessage(), ex); return fail(ex.getMessage(), null); diff --git a/src/main/java/com/terra/coal/mapper/MainMapper.java b/src/main/java/com/terra/coal/mapper/MainMapper.java index cb6697f..907ba89 100644 --- a/src/main/java/com/terra/coal/mapper/MainMapper.java +++ b/src/main/java/com/terra/coal/mapper/MainMapper.java @@ -1,9 +1,13 @@ package com.terra.coal.mapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.terra.coal.entity.CountEntity; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; import org.springframework.stereotype.Repository; +import java.math.BigDecimal; import java.util.List; /** @@ -16,10 +20,13 @@ /** * 鏍规嵁鑼冨洿缁熻 * - * @param wkt * @param top * @param bottom + * @param wkt * @return */ - public List<CountEntity> countByRange(String wkt, double top, double bottom); + @Select("select ctype, sum(volume) \"volume\", sum(coal_prod) \"coal_prod\", sum(gangue_prod) \"gangue_prod\", 0 \"soil_prod\" from public.coal2000 " + + "where (top between #{top} and #{bottom} or bottom between #{top} and #{bottom}) and ST_Intersects(geom, ST_PolygonFromText(#{wkt}, 4490))" + + "group by ctype order by ctype") + public List<CountEntity> countByRange(@Param("top") BigDecimal top, @Param("bottom") BigDecimal bottom, @Param("wkt") String wkt); } diff --git a/src/main/java/com/terra/coal/service/MainService.java b/src/main/java/com/terra/coal/service/MainService.java index fc73132..c573c4c 100644 --- a/src/main/java/com/terra/coal/service/MainService.java +++ b/src/main/java/com/terra/coal/service/MainService.java @@ -30,8 +30,8 @@ Coal54Mapper coal54Mapper; @Override - public List<CountEntity> countByRange(String wkt, double top, double bottom) { - return mainMapper.countByRange(wkt, top, bottom); + public List<CountEntity> countByRange(BigDecimal top, BigDecimal bottom, String wkt) { + return mainMapper.countByRange(top, bottom, wkt); } /** diff --git a/src/main/resources/mapper/MainMapper.xml b/src/main/resources/mapper/MainMapper.xml deleted file mode 100644 index d57b870..0000000 --- a/src/main/resources/mapper/MainMapper.xml +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.terra.coal.mapper.MainMapper"> - <select id="selectDictTab" resultType="com.terra.coal.entity.CountEntity"> - select ctype, sum(volume) "volume", sum(coal_prod) "coal_prod", sum(gangue_prod) "gangue_prod", 0 "soil_prod" - from public.coal2000 - where (top between #{top} and #{bottom} or bottom between #{top} and #{bottom}) and ST_Intersects(geom, ST_PolygonFromText(#{wkt}, 4490)) - group by ctype - order by ctype; - </select> -</mapper> \ No newline at end of file diff --git a/src/main/resources/mybatis.xml b/src/main/resources/mybatis.xml index 6b70461..a15d47f 100644 --- a/src/main/resources/mybatis.xml +++ b/src/main/resources/mybatis.xml @@ -29,7 +29,7 @@ <!--鎸囧畾褰撶粨鏋滈泦涓�间负 null 鏃讹紝鏄惁璋冪敤鏄犲皠瀵硅薄鐨� setter锛坢ap 瀵硅薄鏃朵负 put锛夋柟娉�--> <setting name="callSettersOnNulls" value="true"/> <!--鎸囧畾 MyBatis 鎵�鐢ㄦ棩蹇楃殑鍏蜂綋瀹炵幇锛歀OG4J/LOG4J2/SLF4J/STDOUT_LOGGING/NO_LOGGING--> - <setting name="logImpl" value="NO_LOGGING" /> + <setting name="logImpl" value="STDOUT_LOGGING" /> </settings> <typeAliases> <package name="com.terra.coal.entity"/> -- Gitblit v1.9.3