pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/vapor/TestCtrl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/vapor/TestInitVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/vapor/TestQo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/vapor/TestSv.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/vapor/TestCtrl.java
New file @@ -0,0 +1,80 @@ package com.dy.pipIrrModel.vapor; import com.dy.common.aop.SsoAop; import com.dy.common.util.DateTime; import com.dy.common.webUtil.BaseResponse; import com.dy.common.webUtil.BaseResponseUtils; import com.dy.pipIrrModel.modelCalculate.Hargreaves; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; import org.springframework.web.bind.annotation.*; /** * @Author: liurunyu * @Date: 2025/8/22 10:20 * @Description 不要删除!!! 为前端蒸腾量计算提供的服务 */ @Slf4j @Tag(name = "作物日蒸腾量计算测试", description = "作物日蒸腾量计算测试") @RestController @RequestMapping(path = "mdTest") public class TestCtrl { private TestSv sv; @Autowired private void setSv(TestSv sv) { this.sv = sv; } /** * 得到初始化数据 */ @GetMapping(path = "initData") @SsoAop() public BaseResponse<TestInitVo> initData(){ try { TestInitVo vo = new TestInitVo(); String yesterday_ymd = DateTime.lastXDay_yyyy_MM_dd(1) ; Long days = DateTime.daysBetweenyyyy_MM_dd(yesterday_ymd, DateTime.yyyy() + "-01-01"); vo.dateIndex = days.intValue() + 1 ; vo.ymd = yesterday_ymd ; Object[] objs = this.sv.getOneWeatherNameAndLat() ; if(objs != null){ vo.weatherName = objs[0].toString() ; vo.lat = Double.parseDouble(objs[1].toString()) ; }else{ vo.weatherName = "" ; vo.lat = 0.0 ; } return BaseResponseUtils.buildSuccess(vo); } catch (Exception e) { log.error("查询所有作物的昨日蒸腾量异常", e); return BaseResponseUtils.buildException(e.getMessage()) ; } } @PostMapping(path = "calculate", consumes = MediaType.APPLICATION_JSON_VALUE) @SsoAop() public BaseResponse<Double> calculate(@RequestBody TestQo qo){ try { Double fai = Hargreaves.rad(qo.lat); Double sunMagnetismAngular = Hargreaves.sunMagnetismAngular(qo.dateIndex); Double sunEarthDistance = Hargreaves.sunEarthDistance(qo.dateIndex); Double sunTimeAngular = Hargreaves.sunTimeAngular(fai, sunMagnetismAngular); Double zenithRadiation = Hargreaves.zenithRadiation(sunEarthDistance, sunTimeAngular, fai, sunMagnetismAngular); Double et0 = Hargreaves.ET0(qo.kc, qo.maxTmp, qo.minTmp, zenithRadiation); return BaseResponseUtils.buildSuccess(et0); } catch (Exception e) { log.error("查询所有作物的昨日蒸腾量异常", e); return BaseResponseUtils.buildException(e.getMessage()) ; } } } pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/vapor/TestInitVo.java
New file @@ -0,0 +1,16 @@ package com.dy.pipIrrModel.vapor; import lombok.Data; /** * @Author: liurunyu * @Date: 2025/8/22 10:23 * @Description */ @Data public class TestInitVo { public Double lat ; public String weatherName ; public Integer dateIndex ; public String ymd ; } pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/vapor/TestQo.java
New file @@ -0,0 +1,21 @@ package com.dy.pipIrrModel.vapor; import lombok.*; /** * @Author: liurunyu * @Date: 2025/8/22 10:47 * @Description */ @Data @Builder @ToString @NoArgsConstructor @AllArgsConstructor public class TestQo { public Double lat ; public Integer dateIndex ; public Double kc ; public Double maxTmp ; public Double minTmp ; } pipIrr-platform/pipIrr-web/pipIrr-web-model/src/main/java/com/dy/pipIrrModel/vapor/TestSv.java
New file @@ -0,0 +1,40 @@ package com.dy.pipIrrModel.vapor; import com.dy.pipIrrGlobal.daoMd.MdCropsMapper; import com.dy.pipIrrGlobal.daoPr.PrStWeatherMapper; import com.dy.pipIrrGlobal.voPr.VoMqttSimple; import com.dy.pipIrrGlobal.voPr.VoWeather; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; /** * @Author: liurunyu * @Date: 2025/8/22 10:21 * @Description */ @Slf4j @Service public class TestSv { private PrStWeatherMapper prStWeatherDao; @Autowired private void setDao(PrStWeatherMapper prStWeatherDao) { this.prStWeatherDao = prStWeatherDao; } public Object[] getOneWeatherNameAndLat(){ List<VoMqttSimple> list = this.prStWeatherDao.selectAllSimple() ; if(list != null && list.size() > 0){ VoMqttSimple vos = list.get(0) ; if(vos != null && vos.id != null){ VoWeather wvo = this.prStWeatherDao.selectOne(vos.id) ; return new Object[]{wvo.name, wvo.lat} ; } } return null ; } }