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 @@ +