From 430229968a978a2c11edb96caed97db51cf49d0c Mon Sep 17 00:00:00 2001 From: xlp <384053035@qq.com> Date: Thu, 28 Nov 2024 10:28:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BF=AE=E6=94=B9=E5=A4=AA=E9=98=B3?= =?UTF-8?q?=E8=83=BD=E8=BE=90=E5=B0=84=E6=A8=A1=E6=8B=9F=E4=B8=8E=E9=A2=84?= =?UTF-8?q?=E6=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SimulAndPredicController.java | 17 +++++++++++++---- .../mapper/TGeoserverinfoMapper.java | 2 ++ .../solarenergy/service/DataImportService.java | 9 +++++++++ .../service/impl/DataImportServiceImpl.java | 11 +++++++++++ .../resources/mapper/TGeoserverinfoMapper.xml | 9 +++++++++ 5 files changed, 44 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/cuit/solarenergy/controller/SimulAndPredicController.java b/src/main/java/com/cuit/solarenergy/controller/SimulAndPredicController.java index 0377431..01f8391 100644 --- a/src/main/java/com/cuit/solarenergy/controller/SimulAndPredicController.java +++ b/src/main/java/com/cuit/solarenergy/controller/SimulAndPredicController.java @@ -15,6 +15,7 @@ import com.cuit.solarenergy.service.SolarenergyService; import com.github.xiaoymin.knife4j.annotations.ApiSupport; import io.swagger.annotations.*; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.RequestMapping; @@ -52,8 +53,12 @@ public class SimulAndPredicController { @ApiResponse(code = 500, message = "服务器内部错误"), @ApiResponse(code = 900, message = "失败") }) - public RetResult> getSolarSimulation(SolarPredicReq solarReq) { + public RetResult getSolarSimulation(SolarPredicReq solarReq) { try { + //检验参数 + if (StringUtils.isEmpty(solarReq.getRegionname()) || solarReq.getRegionname().equals("")){ + throw new ParamsException("区域名称不能为空"); + } log.info("太阳能日总辐射实时模拟"); // 获取当前日期和时间的 Calendar 对象 String time = solarReq.getTime(); @@ -66,7 +71,7 @@ public class SimulAndPredicController { } //3.查询tif log.info("Tif查询"); - List regionInfo = dataImportService.getTifByRegion(solarReq.getRegionname()); + TGeoserverinfo regionInfo = dataImportService.getTifByRegionAndTime(solarReq.getRegionname()); return RetResponse.makeOKRsp(regionInfo); }catch (RuntimeException e){ return RetResponse.makeErrRsp("太阳能日总辐射实时模拟有误!"+e.getMessage()); @@ -86,8 +91,12 @@ public class SimulAndPredicController { @ApiResponse(code = 500, message = "服务器内部错误"), @ApiResponse(code = 900, message = "失败") }) - public RetResult> getSolarPrediction(SolarPredicReq solarReq) { + public RetResult getSolarPrediction(SolarPredicReq solarReq) { try { + //检验参数 + if (StringUtils.isEmpty(solarReq.getRegionname()) || solarReq.getRegionname().equals("")){ + throw new ParamsException("区域名称不能为空"); + } log.info("太阳能日总辐射预报"); // 获取当前日期和时间的 Calendar 对象 String time = solarReq.getTime(); @@ -100,7 +109,7 @@ public class SimulAndPredicController { } //3.查询tif log.info("Tif查询"); - List regionInfo = dataImportService.getTifByRegion(solarReq.getRegionname()); + TGeoserverinfo regionInfo = dataImportService.getTifByRegionAndTime(solarReq.getRegionname()); return RetResponse.makeOKRsp(regionInfo); }catch (RuntimeException e){ return RetResponse.makeErrRsp("太阳能日总辐射实时模拟有误!"+e.getMessage()); diff --git a/src/main/java/com/cuit/solarenergy/mapper/TGeoserverinfoMapper.java b/src/main/java/com/cuit/solarenergy/mapper/TGeoserverinfoMapper.java index 0a7655c..8082669 100644 --- a/src/main/java/com/cuit/solarenergy/mapper/TGeoserverinfoMapper.java +++ b/src/main/java/com/cuit/solarenergy/mapper/TGeoserverinfoMapper.java @@ -30,6 +30,8 @@ public interface TGeoserverinfoMapper extends BaseMapper { * @return */ List getTifByRegion(@Param("region") String region); + + TGeoserverinfo getTifByRegionAndTime(@Param("region") String region); } diff --git a/src/main/java/com/cuit/solarenergy/service/DataImportService.java b/src/main/java/com/cuit/solarenergy/service/DataImportService.java index 40e871f..38db575 100644 --- a/src/main/java/com/cuit/solarenergy/service/DataImportService.java +++ b/src/main/java/com/cuit/solarenergy/service/DataImportService.java @@ -79,6 +79,15 @@ public interface DataImportService { */ List getTifByRegion(String region); + + /** + * 根据区域查询tif文件, 得到创建时间最新的一条 + * + * @param region + * @return + */ + TGeoserverinfo getTifByRegionAndTime(String region); + /** * 获取图层信息 * @return diff --git a/src/main/java/com/cuit/solarenergy/service/impl/DataImportServiceImpl.java b/src/main/java/com/cuit/solarenergy/service/impl/DataImportServiceImpl.java index e0326a5..cd18251 100644 --- a/src/main/java/com/cuit/solarenergy/service/impl/DataImportServiceImpl.java +++ b/src/main/java/com/cuit/solarenergy/service/impl/DataImportServiceImpl.java @@ -414,6 +414,17 @@ public class DataImportServiceImpl implements DataImportService { } + @Override + public TGeoserverinfo getTifByRegionAndTime(String region) { + try{ + TGeoserverinfo tGeoserverinfo = new TGeoserverinfo(); + tGeoserverinfo = tGeoserverinfoMapper.getTifByRegionAndTime(region); + return tGeoserverinfo; + }catch (ParamsException e){ + throw new RuntimeException("数据库获取失败", e); + } + } + @Override public List getLayer() { try{ diff --git a/src/main/resources/mapper/TGeoserverinfoMapper.xml b/src/main/resources/mapper/TGeoserverinfoMapper.xml index 72ebf88..faed2ab 100644 --- a/src/main/resources/mapper/TGeoserverinfoMapper.xml +++ b/src/main/resources/mapper/TGeoserverinfoMapper.xml @@ -38,4 +38,13 @@ +