diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/farmnews/vo/FarmInformationDetailRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/farmnews/vo/FarmInformationDetailRespVO.java new file mode 100644 index 00000000..90dcd5f6 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/farmnews/vo/FarmInformationDetailRespVO.java @@ -0,0 +1,26 @@ +package cn.iocoder.yudao.module.farm.controller.admin.managementcenter.farmnews.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @description: TODO + * @author: binda + * @date: 2025/10/13 20:13 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class FarmInformationDetailRespVO { + @Schema(description = "ID") + private String id; + @Schema(description = "资讯类型 (1: 要闻; 99:其他)") + private String infoType; + private String infoTypeName; + @Schema(description = "资讯标题") + private String infoTitle; + @Schema(description = "正文") + private String infoText; +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/farmnews/vo/FarmInformationPageRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/farmnews/vo/FarmInformationPageRespVO.java index 2a7d134b..e0aa67db 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/farmnews/vo/FarmInformationPageRespVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/farmnews/vo/FarmInformationPageRespVO.java @@ -15,12 +15,11 @@ import lombok.NoArgsConstructor; @NoArgsConstructor public class FarmInformationPageRespVO { + private String id; @Schema(description = "资讯类型 (1: 要闻; 99:其他)") private String infoType; private String infoTypeName; @Schema(description = "资讯标题") private String infoTitle; - @Schema(description = "资讯正文") - private String infoText; } diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/WxController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/WxController.java index 9ceaf227..08014783 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/WxController.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/WxController.java @@ -8,6 +8,7 @@ import cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.Produc import cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.ProductionPlanResp2VO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.baseinfo.vo.wx.BaseInfoForWxRespVO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.baseinfo.vo.wx.RegularPlotInfoRespVO; +import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.farmnews.vo.FarmInformationDetailRespVO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.farmnews.vo.FarmInformationPageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.farmnews.vo.FarmInformationPageRespVO; import cn.iocoder.yudao.module.farm.controller.admin.wx.vo.*; @@ -76,16 +77,6 @@ public class WxController { this.companyConf = companyConf; } - - - - @GetMapping("/farming-record/executing-state") - @Operation(summary = "进行中农事计划") - public CommonResult getFarmingRecordExecutingState(RecordExecutingStateReqVO req) { - - return CommonResult.success(new RecordExecutingStateRespVO(20)); - } - @GetMapping("/device-info/get") @Operation(summary = "获取设备信息") @Parameter(name = "baseId", description = "基地编号") @@ -177,13 +168,21 @@ public class WxController { } @GetMapping("/plot-device/list") - @Operation(summary = "微信端-常用地块集合") + @Operation(summary = "常用地块集合") public CommonResult> getRegularPlotInfoList() { return success(plotInfoService.getRegularPlotInfoList()); } + + @GetMapping("/production-plan/executing-state") + @Operation(summary = "进行中农事计划") + public CommonResult getFarmingRecordExecutingState(RecordExecutingStateReqVO req) { + int res = productionPlanService.getGrowingCropCountByTenantId(req.getTenantId()); + return CommonResult.success(new RecordExecutingStateRespVO(req.getProductionStartDate(),req.getProductionEndDate(),res)); + } + @GetMapping("/production-plan/page") - @Operation(summary = "生产计划-分页(微信端)") + @Operation(summary = "生产计划-分页") public CommonResult> getProductionPlanPageForWx(@Valid ProductionPlanPage2ReqVO pageReqVO) { PageResult page = cropFarmingCenterService.getProductionPlanPage2(pageReqVO); List list = page.getList(); @@ -199,6 +198,14 @@ public class WxController { return CommonResult.success(result); } + @Operation(summary = "农业资讯-详情页") + @GetMapping("/farm-information/detail") + @Parameter(name = "id", description = "咨询ID") + public CommonResult getFarmInformationDetail(@RequestParam("id") String id) { + FarmInformationDetailRespVO result = farmInformationService.getFarmInformationDetail(id); + return CommonResult.success(result); + } + @GetMapping("/message-center/abnormal-state") @Operation(summary = "异常信息") public CommonResult> getAbnormalMessage() { diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/vo/RecordExecutingStateReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/vo/RecordExecutingStateReqVO.java index 37888f0f..3c5c285e 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/vo/RecordExecutingStateReqVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/vo/RecordExecutingStateReqVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.farm.controller.admin.wx.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Data; @@ -17,10 +18,11 @@ import java.time.LocalDate; @NoArgsConstructor public class RecordExecutingStateReqVO { - @Schema(description = "农事计划开始日期") - private LocalDate startDate; - @Schema(description = "农事计划结束日期") - private LocalDate endDate; - + @Schema(description = "租户ID") + private String tenantId; + @Schema(description = "排产开始日期") + private LocalDate productionStartDate; + @Schema(description = "排产结束日期") + private LocalDate productionEndDate; } diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/vo/RecordExecutingStateRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/vo/RecordExecutingStateRespVO.java index e1909f75..ef051f94 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/vo/RecordExecutingStateRespVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/vo/RecordExecutingStateRespVO.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.farm.controller.admin.wx.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.v3.oas.annotations.media.Schema; import lombok.AllArgsConstructor; import lombok.Data; @@ -17,6 +18,13 @@ import java.time.LocalDate; @NoArgsConstructor public class RecordExecutingStateRespVO { + @Schema(description = "排产开始日期") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate productionStartDate; + @Schema(description = "排产结束日期") + @JsonFormat(pattern = "yyyy-MM-dd") + private LocalDate productionEndDate; + @Schema(description = "进行中计划总数") private Integer total; } diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farminformation/FarmInformationService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farminformation/FarmInformationService.java index 61ea73bf..32695c4c 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farminformation/FarmInformationService.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farminformation/FarmInformationService.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.farm.service.farminformation; import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.farmnews.vo.FarmInformationDetailRespVO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.farmnews.vo.FarmInformationPageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.farmnews.vo.FarmInformationPageRespVO; @@ -10,6 +11,8 @@ import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.farmnews.v * @date: 2025/9/25 17:27 */ public interface FarmInformationService { + PageResult getFarmInformationPage(FarmInformationPageReqVO req); + FarmInformationDetailRespVO getFarmInformationDetail(String id); } diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farminformation/FarmInformationServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farminformation/FarmInformationServiceImpl.java index 2ace98bb..c2f114f3 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farminformation/FarmInformationServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/farminformation/FarmInformationServiceImpl.java @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.farm.service.farminformation; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; +import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.farmnews.vo.FarmInformationDetailRespVO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.farmnews.vo.FarmInformationPageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.farmnews.vo.FarmInformationPageRespVO; import cn.iocoder.yudao.module.farm.dal.dataobject.farminformation.FarmInformationDO; @@ -34,6 +35,14 @@ public class FarmInformationServiceImpl implements FarmInformationService{ return result; } + @Override + public FarmInformationDetailRespVO getFarmInformationDetail(String id) { + FarmInformationDO farmInformationDO = farmInformationMapper.selectOne(FarmInformationDO::getId, id); + FarmInformationDetailRespVO res = BeanUtils.toBean(farmInformationDO, FarmInformationDetailRespVO.class); + res.setInfoTypeName(NEWS_TYPE_MAP.getOrDefault(res.getInfoType(),"其他")); + + return res; + } }