From c637f87a76f83571c19f96dedbbdaf81aecc167a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BE=BE=E5=AF=8C=E6=96=8C?= Date: Sun, 14 Sep 2025 14:59:20 +0800 Subject: [PATCH] =?UTF-8?q?fix=20(farm):=20=E5=BE=AE=E4=BF=A1=E7=AB=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 地块与设备接口 --- .../CropFarmingCenterController.java | 14 +++++++++++ .../admin/plotinfo/PlotInfoController.java | 12 +++++++-- .../plotinfo/vo/wx/RegularPlotInfoRespVO.java | 25 +++++++++++++++++++ .../service/plotinfo/PlotInfoService.java | 7 ++++++ .../service/plotinfo/PlotInfoServiceImpl.java | 10 ++++++++ 5 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/vo/wx/RegularPlotInfoRespVO.java diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cropFarmingCenter/CropFarmingCenterController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cropFarmingCenter/CropFarmingCenterController.java index f3dfe273..f932660d 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cropFarmingCenter/CropFarmingCenterController.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/cropFarmingCenter/CropFarmingCenterController.java @@ -28,6 +28,7 @@ import org.springframework.web.bind.annotation.*; import java.time.LocalDate; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.common.util.date.DateUtils.*; @@ -237,4 +238,17 @@ public class CropFarmingCenterController { return success(res); } + /** + * === === 微信端 === === + */ + @GetMapping("/production-plan/wx/page") + @Operation(summary = "生产计划-分页(微信端)") + public CommonResult> getProductionPlanPageForWx(@Valid ProductionPlanPage2ReqVO pageReqVO) { + PageResult page = cropFarmingCenterService.getProductionPlanPage2(pageReqVO); + List list = page.getList(); + List resetList = list.stream().filter(vo -> !"project".equals(vo.getType())).collect(Collectors.toList()); + long size = resetList.size(); + return success(new PageResult(resetList,size)); + } + } diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/PlotInfoController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/PlotInfoController.java index 595a4f42..73bdb58c 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/PlotInfoController.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/PlotInfoController.java @@ -3,10 +3,9 @@ package cn.iocoder.yudao.module.farm.controller.admin.plotinfo; import cn.iocoder.yudao.module.farm.controller.admin.plotinfo.vo.PlotInfoPageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.plotinfo.vo.PlotInfoRespVO; import cn.iocoder.yudao.module.farm.controller.admin.plotinfo.vo.PlotInfoSaveReqVO; +import cn.iocoder.yudao.module.farm.controller.admin.plotinfo.vo.wx.RegularPlotInfoRespVO; import org.springframework.web.bind.annotation.*; import jakarta.validation.Valid; -import jakarta.validation.Valid; -import jakarta.validation.Valid; import jakarta.servlet.http.HttpServletResponse; import java.util.List; @@ -101,4 +100,13 @@ public class PlotInfoController { BeanUtils.toBean(list, PlotInfoRespVO.class)); } + /** + * === === 微信端 === === + */ + @GetMapping("/wx/plot-device/list") + @Operation(summary = "微信端-常用地块集合") + public CommonResult> getRegularPlotInfoList() { + return success(plotInfoService.getRegularPlotInfoList()); + } + } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/vo/wx/RegularPlotInfoRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/vo/wx/RegularPlotInfoRespVO.java new file mode 100644 index 00000000..202df17c --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/plotinfo/vo/wx/RegularPlotInfoRespVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.farm.controller.admin.plotinfo.vo.wx; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @description: 微信端 常用地块集合 + * @author: binda + * @date: 2025/9/14 14:43 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class RegularPlotInfoRespVO { + + @Schema(description = "地块ID") + private String plotId; + @Schema(description = "地块名称") + private String plotName; + @Schema(description = "在线设备数量") + private Integer onlineDeviceCount; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/plotinfo/PlotInfoService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/plotinfo/PlotInfoService.java index 3be1816c..b88fc180 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/plotinfo/PlotInfoService.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/plotinfo/PlotInfoService.java @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.farm.service.plotinfo; import cn.iocoder.yudao.module.farm.controller.admin.plotinfo.vo.PlotInfoPageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.plotinfo.vo.PlotInfoSaveReqVO; +import cn.iocoder.yudao.module.farm.controller.admin.plotinfo.vo.wx.RegularPlotInfoRespVO; import cn.iocoder.yudao.module.farm.dal.dataobject.plotinfo.PlotInfoDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; import jakarta.validation.Valid; @@ -93,4 +94,10 @@ public interface PlotInfoService { boolean validatePlotExistByBaseId(String id); boolean validateTotalPlotArea(String baseId, BigDecimal baseArea); + + /** + * 微信端 - 获取常用地块集合 + * @return + */ + List getRegularPlotInfoList(); } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/plotinfo/PlotInfoServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/plotinfo/PlotInfoServiceImpl.java index b9b77fa8..60e168c2 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/plotinfo/PlotInfoServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/plotinfo/PlotInfoServiceImpl.java @@ -7,6 +7,7 @@ import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.module.farm.controller.admin.plotinfo.vo.PlotInfoPageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.plotinfo.vo.PlotInfoSaveReqVO; +import cn.iocoder.yudao.module.farm.controller.admin.plotinfo.vo.wx.RegularPlotInfoRespVO; import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO; import cn.iocoder.yudao.module.farm.dal.dataobject.plotinfo.PlotInfoDO; import cn.iocoder.yudao.module.farm.dal.mysql.baseinfo.BaseInfoMapper; @@ -191,4 +192,13 @@ public class PlotInfoServiceImpl implements PlotInfoService { return b; } + @Override + public List getRegularPlotInfoList() { + List plotInfoDOS = plotInfoMapper.selectList(); + return plotInfoDOS.stream().map(e -> { + int onlineDeviceCount = 0; // TODO: 2025/9/14 设备还未接入 + return new RegularPlotInfoRespVO(e.getPlotId(), e.getPlotName(), onlineDeviceCount); + }).toList(); + } + } \ No newline at end of file