package com.dy.pipIrrWechat.mqtt;
|
|
import com.dy.common.webUtil.BaseResponse;
|
import com.dy.common.webUtil.BaseResponseUtils;
|
import com.dy.pipIrrGlobal.voRm.VoManure;
|
import com.dy.pipIrrGlobal.voRm.VoSoil;
|
import com.dy.pipIrrGlobal.voRm.VoWeather;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
/**
|
* @Author: liurunyu
|
* @Date: 2025/8/14 8:32
|
* @Description
|
*/
|
@Slf4j
|
@Tag(name = "水肥、气象、墒情最新数据查询", description = "水肥、气象、墒情最新数据查询")
|
@RestController
|
@RequestMapping(path = "mqttLast")
|
public class MqttLastCtrl {
|
|
private MqttLastSv sv ;
|
private MqttMonitorSv mmsv;
|
private MqttSv msv;
|
|
@Autowired
|
public void setSv(MqttLastSv sv, MqttMonitorSv mmsv, MqttSv msv) {
|
this.sv = sv;
|
this.mmsv = mmsv;
|
this.msv = msv;
|
}
|
|
/**
|
* 根据指定条件查询最新记录
|
* @param manureId
|
* @return
|
*/
|
@GetMapping(path = "oneManureLast")
|
public BaseResponse<VoManureLast> oneManureLast(Long manureId){
|
try {
|
if(manureId == null){
|
return BaseResponseUtils.buildFail("水肥机id不能为空") ;
|
}
|
VoManure vo = sv.oneManureLast(manureId) ;
|
String fboxId = msv.oneManureFBoxId(manureId);
|
Boolean onLine = mmsv.isOnLine4Mqtt(fboxId);
|
VoManureLast voLast = new VoManureLast() ;
|
voLast.fromVo(vo);
|
voLast.setOnLine(onLine);
|
return BaseResponseUtils.buildSuccess(voLast);
|
} catch (Exception e) {
|
return BaseResponseUtils.buildException(e.getMessage()) ;
|
}
|
}
|
|
|
/**
|
* 根据指定条件查询最新记录
|
* @param soilId
|
* @return
|
*/
|
@GetMapping(path = "oneSoilLast")
|
public BaseResponse<VoSoil> oneSoilLast(Long soilId){
|
try {
|
if(soilId == null){
|
return BaseResponseUtils.buildFail("墒情站id不能为空") ;
|
}
|
VoSoil vo = sv.oneSoilLast(soilId) ;
|
String fboxId = msv.oneSoilFBoxId(soilId);
|
Boolean onLine = mmsv.isOnLine4Mqtt(fboxId);
|
VoSoilLast voLast = new VoSoilLast() ;
|
voLast.fromVo(vo);
|
voLast.setOnLine(onLine);
|
return BaseResponseUtils.buildSuccess(voLast);
|
} catch (Exception e) {
|
return BaseResponseUtils.buildException(e.getMessage()) ;
|
}
|
}
|
|
/**
|
* 根据指定条件查询最新记录
|
* @param weatherId
|
* @return
|
*/
|
@GetMapping(path = "oneWeatherLast")
|
public BaseResponse<VoWeather> oneWeatherLast(Long weatherId){
|
try {
|
if(weatherId == null){
|
return BaseResponseUtils.buildFail("气象站id不能为空") ;
|
}
|
VoWeather vo = sv.oneWeatherLast(weatherId);
|
String fboxId = msv.oneWeatherFBoxId(weatherId);
|
Boolean onLine = mmsv.isOnLine4Mqtt(fboxId);
|
VoWeatherLast voLast = new VoWeatherLast() ;
|
voLast.fromVo(vo);
|
voLast.setOnLine(onLine);
|
return BaseResponseUtils.buildSuccess(voLast);
|
} catch (Exception e) {
|
return BaseResponseUtils.buildException(e.getMessage()) ;
|
}
|
}
|
|
}
|