fix (farm): 微信端

- 地块与设备接口
This commit is contained in:
达富斌
2025-09-14 14:59:20 +08:00
parent ec14c6a18a
commit c637f87a76
5 changed files with 66 additions and 2 deletions

View File

@@ -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<PageResult<ProductionPlanResp2VO>> getProductionPlanPageForWx(@Valid ProductionPlanPage2ReqVO pageReqVO) {
PageResult<ProductionPlanResp2VO> page = cropFarmingCenterService.getProductionPlanPage2(pageReqVO);
List<ProductionPlanResp2VO> list = page.getList();
List<ProductionPlanResp2VO> resetList = list.stream().filter(vo -> !"project".equals(vo.getType())).collect(Collectors.toList());
long size = resetList.size();
return success(new PageResult<ProductionPlanResp2VO>(resetList,size));
}
}

View File

@@ -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<List<RegularPlotInfoRespVO>> getRegularPlotInfoList() {
return success(plotInfoService.getRegularPlotInfoList());
}
}

View File

@@ -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;
}

View File

@@ -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<RegularPlotInfoRespVO> getRegularPlotInfoList();
}

View File

@@ -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<RegularPlotInfoRespVO> getRegularPlotInfoList() {
List<PlotInfoDO> plotInfoDOS = plotInfoMapper.selectList();
return plotInfoDOS.stream().map(e -> {
int onlineDeviceCount = 0; // TODO: 2025/9/14 设备还未接入
return new RegularPlotInfoRespVO(e.getPlotId(), e.getPlotName(), onlineDeviceCount);
}).toList();
}
}