liurunyu
10 天以前 e35849618cc8d0615c09335959b76d0cca667679
有wechat模块中增加查询水肥机、墒情站、气象站所有实体的功能
4个文件已添加
1个文件已修改
222 ■■■■■ 已修改文件
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/PipIrrWechatApplication.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/mqtt/MqttCtrl.java 151 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/mqtt/MqttSv.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/mqtt/MqttVo.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/mqtt/说明.txt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/PipIrrWechatApplication.java
@@ -18,7 +18,14 @@
                })
        }
)
@MapperScan(basePackages={"com.dy.pipIrrGlobal.daoRm", "com.dy.pipIrrGlobal.daoPr", "com.dy.pipIrrGlobal.daoSe", "com.dy.pipIrrGlobal.daoBa","com.dy.pipIrrGlobal.daoFi", "com.dy.pipIrrGlobal.daoIr"})
@MapperScan(basePackages={
        "com.dy.pipIrrGlobal.daoRm",
        "com.dy.pipIrrGlobal.daoPr",
        "com.dy.pipIrrGlobal.daoSe",
        "com.dy.pipIrrGlobal.daoBa",
        "com.dy.pipIrrGlobal.daoFi",
        "com.dy.pipIrrGlobal.daoIr"
})
public class PipIrrWechatApplication {
    public static void main(String[] args) {
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/mqtt/MqttCtrl.java
New file
@@ -0,0 +1,151 @@
package com.dy.pipIrrWechat.mqtt;
import com.dy.common.aop.SsoAop;
import com.dy.common.webUtil.BaseResponse;
import com.dy.common.webUtil.BaseResponseUtils;
import com.dy.common.webUtil.ResultCodeMsg;
import com.dy.pipIrrGlobal.voPr.VoMqttSimple;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * @Author: liurunyu
 * @Date: 2025/8/13 16:41
 * @Description
 */
@Slf4j
@Tag(name = "农业灌溉综合站", description = "农业灌溉综合站管理")
@RestController
@RequestMapping(path = "mqtt")
@RequiredArgsConstructor
public class MqttCtrl {
    private MqttSv sv ;
    @Autowired
    public void setSv(MqttSv sv) {
        this.sv = sv;
    }
    /**
     * å®¢æˆ·ç«¯è¯·æ±‚得到所有水肥机、气象站、墒情站简单信息
     * @return æ‰€æœ‰æ°´è‚¥æœºã€æ°”象站、墒情站简单信息
     */
    @Operation(summary = "获得全部水肥机、气象站、墒情站简单信息", description = "返回全部水肥机、气象站、墒情站简单信息")
    @ApiResponses(value = {
            @ApiResponse(
                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
                    description = "返回全部水肥机、气象站、墒情站简单信息数据(BaseResponse.content:TypesVo[{}])",
                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
                            schema = @Schema(implementation = MqttVo.class))}
            )
    })
    @GetMapping(path = "allSimple")
    @SsoAop()
    public BaseResponse<MqttVo> allSimple() {
        try {
            MqttVo reVo = new MqttVo() ;
            reVo.manures = this.sv.allManureSimple() ;
            reVo.soils = this.sv.allSoilSimple() ;
            reVo.weathers = this.sv.allWeatherSimple() ;
            return BaseResponseUtils.buildSuccess(reVo);
        } catch (Exception e) {
            log.error("查询全部水肥机、气象站、墒情站简单信息异常", e);
            return BaseResponseUtils.buildException(e.getMessage());
        }
    }
    /**
     * å®¢æˆ·ç«¯è¯·æ±‚得到所有水肥机简单信息
     * @return æ‰€æœ‰æ°´è‚¥æœºç®€å•信息
     */
    @Operation(summary = "获得全部水肥机简单信息", description = "返回全部水肥机简单信息")
    @ApiResponses(value = {
            @ApiResponse(
                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
                    description = "返回全部水肥机、气象站、墒情站简单信息数据(BaseResponse.content:TypesVo[{}])",
                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
                            schema = @Schema(implementation = VoMqttSimple.class))}
            )
    })
    @GetMapping(path = "allManureSimple")
    @SsoAop()
    public BaseResponse<List<VoMqttSimple>> allManureSimple() {
        try {
            List<VoMqttSimple> list = this.sv.allManureSimple() ;
            return BaseResponseUtils.buildSuccess(list);
        } catch (Exception e) {
            log.error("查询全部水肥机简单信息异常", e);
            return BaseResponseUtils.buildException(e.getMessage());
        }
    }
    /**
     * å®¢æˆ·ç«¯è¯·æ±‚得到所有墒情站简单信息
     * @return æ‰€æœ‰å¢’情站简单信息
     */
    @Operation(summary = "获得全部墒情站简单信息", description = "返回全部墒情站简单信息")
    @ApiResponses(value = {
            @ApiResponse(
                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
                    description = "返回全部墒情站简单信息数据(BaseResponse.content:TypesVo[{}])",
                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
                            schema = @Schema(implementation = VoMqttSimple.class))}
            )
    })
    @GetMapping(path = "allSoilSimple")
    @SsoAop()
    public BaseResponse<List<VoMqttSimple>> allSoilSimple() {
        try {
            List<VoMqttSimple> list = this.sv.allSoilSimple() ;
            return BaseResponseUtils.buildSuccess(list);
        } catch (Exception e) {
            log.error("查询全部墒情站简单信息异常", e);
            return BaseResponseUtils.buildException(e.getMessage());
        }
    }
    /**
     * å®¢æˆ·ç«¯è¯·æ±‚得到所有气象站简单信息
     * @return æ‰€æœ‰æ°”象站简单信息
     */
    @Operation(summary = "获得全部气象站简单信息", description = "返回全部气象站简单信息")
    @ApiResponses(value = {
            @ApiResponse(
                    responseCode = ResultCodeMsg.RsCode.SUCCESS_CODE,
                    description = "返回全部气象站简单信息数据(BaseResponse.content:TypesVo[{}])",
                    content = {@Content(mediaType = MediaType.APPLICATION_JSON_VALUE,
                            schema = @Schema(implementation = MqttVo.class))}
            )
    })
    @GetMapping(path = "allWeatherSimple")
    @SsoAop()
    public BaseResponse<List<VoMqttSimple>> allWeatherSimple() {
        try {
            List<VoMqttSimple> list = this.sv.allWeatherSimple() ;
            return BaseResponseUtils.buildSuccess(list);
        } catch (Exception e) {
            log.error("查询全部气象站简单信息异常", e);
            return BaseResponseUtils.buildException(e.getMessage());
        }
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/mqtt/MqttSv.java
New file
@@ -0,0 +1,41 @@
package com.dy.pipIrrWechat.mqtt;
import com.dy.pipIrrGlobal.daoPr.PrStManureMapper;
import com.dy.pipIrrGlobal.daoPr.PrStSoilMapper;
import com.dy.pipIrrGlobal.daoPr.PrStWeatherMapper;
import com.dy.pipIrrGlobal.voPr.VoMqttSimple;
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/13 16:41
 * @Description
 */
@Slf4j
@Service
public class MqttSv {
    @Autowired
    private PrStManureMapper manureDao;
    @Autowired
    private PrStSoilMapper soilDao;
    @Autowired
    private PrStWeatherMapper weatherDao;
    public List<VoMqttSimple> allManureSimple(){
        return this.manureDao.selectAllSimple() ;
    }
    public List<VoMqttSimple> allSoilSimple(){
        return this.soilDao.selectAllSimple() ;
    }
    public List<VoMqttSimple> allWeatherSimple(){
        return this.weatherDao.selectAllSimple() ;
    }
}
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/mqtt/MqttVo.java
New file
@@ -0,0 +1,20 @@
package com.dy.pipIrrWechat.mqtt;
import com.dy.pipIrrGlobal.voPr.VoMqttSimple;
import lombok.Data;
import java.util.List;
/**
 * @Author: liurunyu
 * @Date: 2025/8/13 16:41
 * @Description
 */
@Data
public class MqttVo {
    public List<VoMqttSimple> manures;
    public List<VoMqttSimple> soils;
    public List<VoMqttSimple> weathers;
}
pipIrr-platform/pipIrr-web/pipIrr-web-wechat/src/main/java/com/dy/pipIrrWechat/mqtt/˵Ã÷.txt
New file
@@ -0,0 +1 @@
基于MQTT协议的水肥机、气象、墒情站