From b17d34534df563a0bc5908e2a1aefb8d2f906474 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BE=BE=E5=AF=8C=E6=96=8C?= Date: Mon, 13 Oct 2025 17:45:24 +0800 Subject: [PATCH] =?UTF-8?q?fix=20(farm):=20=E5=BE=AE=E4=BF=A1=E7=AB=AF,?= =?UTF-8?q?=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 提供微信端所需接口 - 修复页面权限问题 --- .../yudao/module/farm/config/CompanyConf.java | 21 +++++ .../CropFarmingCenterController.java | 13 --- .../baseinfo/BaseInfoController.java | 11 --- .../baseinfo/PlotInfoController.java | 9 -- .../DeviceClassifyController.java | 14 +-- .../disasterdata/DisasterDataController.java | 2 +- .../EnvironmentIndicatorsController.java | 14 +-- .../controller/admin/wx/WxController.java | 92 +++++++++++++++---- .../admin/wx/vo/BaseCountInfoRespVO.java | 23 +++++ .../admin/wx/vo/TenantCompanyInfoRespVO.java | 25 +++++ .../service/baseinfo/BaseInfoService.java | 8 ++ .../service/baseinfo/BaseInfoServiceImpl.java | 13 +++ .../service/plotinfo/PlotInfoService.java | 2 + .../service/plotinfo/PlotInfoServiceImpl.java | 8 ++ .../src/main/resources/application.yaml | 6 +- 15 files changed, 194 insertions(+), 67 deletions(-) create mode 100644 yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/config/CompanyConf.java create mode 100644 yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/vo/BaseCountInfoRespVO.java create mode 100644 yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/vo/TenantCompanyInfoRespVO.java diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/config/CompanyConf.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/config/CompanyConf.java new file mode 100644 index 00000000..480b73f8 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/config/CompanyConf.java @@ -0,0 +1,21 @@ +package cn.iocoder.yudao.module.farm.config; + +import lombok.Data; +import org.springframework.boot.context.properties.ConfigurationProperties; +import org.springframework.context.annotation.Configuration; + +/** + * @description: 联系我们 + * @author: binda + * @date: 2025/10/13 17:25 + */ +@Data +@Configuration +@ConfigurationProperties(prefix = "company") +public class CompanyConf { + + private String contactNumber; + private String email; + private String address; + +} 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 a5dea3df..115a6212 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 @@ -230,17 +230,4 @@ 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/managementcenter/baseinfo/BaseInfoController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/baseinfo/BaseInfoController.java index 853ca89f..23567f38 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/baseinfo/BaseInfoController.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/baseinfo/BaseInfoController.java @@ -124,15 +124,4 @@ public class BaseInfoController { return success(res); } - /** - * === === 微信端 === === - */ - @GetMapping("/wx/base/list") - @Operation(summary = "基地列表(微信端)") - public CommonResult> getBaseListForWx() { - List res = baseInfoService.getBaseListForWx(); - return success(res); - } - - } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/baseinfo/PlotInfoController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/baseinfo/PlotInfoController.java index 105acbc9..d6397b32 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/baseinfo/PlotInfoController.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/baseinfo/PlotInfoController.java @@ -100,13 +100,4 @@ 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/managementcenter/basicdatamanagement/deviceclassify/DeviceClassifyController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/basicdatamanagement/deviceclassify/DeviceClassifyController.java index 800d4585..34580379 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/basicdatamanagement/deviceclassify/DeviceClassifyController.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/basicdatamanagement/deviceclassify/DeviceClassifyController.java @@ -36,14 +36,14 @@ public class DeviceClassifyController { @PostMapping("/create") @Operation(summary = "创建设备分类") - @PreAuthorize("@ss.hasPermission('farm:device-classify:create')") +// @PreAuthorize("@ss.hasPermission('farm:device-classify:create')") public CommonResult createDeviceClassify(@Valid @RequestBody DeviceClassifySaveReqVO createReqVO) { return success(deviceClassifyService.createDeviceClassify(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新设备分类") - @PreAuthorize("@ss.hasPermission('farm:device-classify:update')") +// @PreAuthorize("@ss.hasPermission('farm:device-classify:update')") public CommonResult updateDeviceClassify(@Valid @RequestBody DeviceClassifySaveReqVO updateReqVO) { deviceClassifyService.updateDeviceClassify(updateReqVO); return success(true); @@ -52,7 +52,7 @@ public class DeviceClassifyController { @DeleteMapping("/delete") @Operation(summary = "删除设备分类") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('farm:device-classify:delete')") +// @PreAuthorize("@ss.hasPermission('farm:device-classify:delete')") public CommonResult deleteDeviceClassify(@RequestParam("id") Long id) { deviceClassifyService.deleteDeviceClassify(id); return success(true); @@ -61,7 +61,7 @@ public class DeviceClassifyController { @DeleteMapping("/delete-list") @Parameter(name = "ids", description = "编号", required = true) @Operation(summary = "批量删除设备分类") - @PreAuthorize("@ss.hasPermission('farm:device-classify:delete')") +// @PreAuthorize("@ss.hasPermission('farm:device-classify:delete')") public CommonResult deleteDeviceClassifyList(@RequestParam("ids") List ids) { deviceClassifyService.deleteDeviceClassifyListByIds(ids); return success(true); @@ -70,7 +70,7 @@ public class DeviceClassifyController { @GetMapping("/get") @Operation(summary = "获得设备分类") @Parameter(name = "id", description = "编号", required = true, example = "1024") - @PreAuthorize("@ss.hasPermission('farm:device-classify:query')") +// @PreAuthorize("@ss.hasPermission('farm:device-classify:query')") public CommonResult getDeviceClassify(@RequestParam("id") Long id) { DeviceClassifyDO deviceClassify = deviceClassifyService.getDeviceClassify(id); return success(BeanUtils.toBean(deviceClassify, DeviceClassifyRespVO.class)); @@ -78,7 +78,7 @@ public class DeviceClassifyController { @GetMapping("/page") @Operation(summary = "获得设备分类分页") - @PreAuthorize("@ss.hasPermission('farm:device-classify:query')") +// @PreAuthorize("@ss.hasPermission('farm:device-classify:query')") public CommonResult> getDeviceClassifyPage(@Valid DeviceClassifyPageReqVO pageReqVO) { PageResult pageResult = deviceClassifyService.getDeviceClassifyPage(pageReqVO); return success(BeanUtils.toBean(pageResult, DeviceClassifyRespVO.class)); @@ -93,7 +93,7 @@ public class DeviceClassifyController { @GetMapping("/export-excel") @Operation(summary = "导出设备分类 Excel") - @PreAuthorize("@ss.hasPermission('farm:device-classify:export')") +// @PreAuthorize("@ss.hasPermission('farm:device-classify:export')") @ApiAccessLog(operateType = EXPORT) public void exportDeviceClassifyExcel(@Valid DeviceClassifyPageReqVO pageReqVO, HttpServletResponse response) throws IOException { diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/basicdatamanagement/disasterdata/DisasterDataController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/basicdatamanagement/disasterdata/DisasterDataController.java index 893bff03..3d824647 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/basicdatamanagement/disasterdata/DisasterDataController.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/basicdatamanagement/disasterdata/DisasterDataController.java @@ -80,7 +80,7 @@ public class DisasterDataController { @GetMapping("/page") @Operation(summary = "获得灾害数据分页") - @PreAuthorize("@ss.hasPermission('farm:disaster-data:query')") +// @PreAuthorize("@ss.hasPermission('farm:disaster-data:query')") public CommonResult> getDisasterDataPage(@Valid DisasterDataPageReqVO pageReqVO) { PageResult pageResult = disasterDataService.getDisasterDataPage(pageReqVO); return success(BeanUtils.toBean(pageResult, DisasterDataRespVO.class)); diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/basicdatamanagement/environmentindicators/EnvironmentIndicatorsController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/basicdatamanagement/environmentindicators/EnvironmentIndicatorsController.java index 02537e03..b07ae472 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/basicdatamanagement/environmentindicators/EnvironmentIndicatorsController.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/basicdatamanagement/environmentindicators/EnvironmentIndicatorsController.java @@ -38,14 +38,14 @@ public class EnvironmentIndicatorsController { @PostMapping("/create") @Operation(summary = "创建环境指标维护") - @PreAuthorize("@ss.hasPermission('farm:environment-indicators:create')") +// @PreAuthorize("@ss.hasPermission('farm:environment-indicators:create')") public CommonResult createEnvironmentIndicators(@Valid @RequestBody EnvironmentIndicatorsSaveReqVO createReqVO) { return success(environmentIndicatorsService.createEnvironmentIndicators(createReqVO)); } @PutMapping("/update") @Operation(summary = "更新环境指标维护") - @PreAuthorize("@ss.hasPermission('farm:environment-indicators:update')") +// @PreAuthorize("@ss.hasPermission('farm:environment-indicators:update')") public CommonResult updateEnvironmentIndicators(@Valid @RequestBody EnvironmentIndicatorsSaveReqVO updateReqVO) { environmentIndicatorsService.updateEnvironmentIndicators(updateReqVO); return success(true); @@ -54,7 +54,7 @@ public class EnvironmentIndicatorsController { @DeleteMapping("/delete") @Operation(summary = "删除环境指标维护") @Parameter(name = "id", description = "编号", required = true) - @PreAuthorize("@ss.hasPermission('farm:environment-indicators:delete')") +// @PreAuthorize("@ss.hasPermission('farm:environment-indicators:delete')") public CommonResult deleteEnvironmentIndicators(@RequestParam("id") Integer id) { environmentIndicatorsService.deleteEnvironmentIndicators(id); return success(true); @@ -63,7 +63,7 @@ public class EnvironmentIndicatorsController { @DeleteMapping("/delete-list") @Parameter(name = "ids", description = "编号", required = true) @Operation(summary = "批量删除环境指标维护") - @PreAuthorize("@ss.hasPermission('farm:environment-indicators:delete')") +// @PreAuthorize("@ss.hasPermission('farm:environment-indicators:delete')") public CommonResult deleteEnvironmentIndicatorsList(@RequestParam("ids") List ids) { environmentIndicatorsService.deleteEnvironmentIndicatorsListByIds(ids); return success(true); @@ -80,7 +80,7 @@ public class EnvironmentIndicatorsController { @GetMapping("/page") @Operation(summary = "获得环境指标维护分页") - @PreAuthorize("@ss.hasPermission('farm:environment-indicators:query')") +// @PreAuthorize("@ss.hasPermission('farm:environment-indicators:query')") public CommonResult> getEnvironmentIndicatorsPage(@Valid EnvironmentIndicatorsPageReqVO pageReqVO) { PageResult pageResult = environmentIndicatorsService.getEnvironmentIndicatorsPage(pageReqVO); return success(BeanUtils.toBean(pageResult, EnvironmentIndicatorsRespVO.class)); @@ -88,7 +88,7 @@ public class EnvironmentIndicatorsController { @GetMapping("/list") @Operation(summary = "根据设备分类获取") - @PreAuthorize("@ss.hasPermission('farm:environment-indicators:query')") +// @PreAuthorize("@ss.hasPermission('farm:environment-indicators:query')") public CommonResult> getEnvironmentIndicatorsList(@Valid EnvironmentIndicatorsPageReqVO pageReqVO) { List pageResult = environmentIndicatorsService.getEnvironmentIndicatorsList(pageReqVO); return success(BeanUtils.toBean(pageResult, EnvironmentIndicatorsRespVO.class)); @@ -96,7 +96,7 @@ public class EnvironmentIndicatorsController { @GetMapping("/export-excel") @Operation(summary = "导出环境指标维护 Excel") - @PreAuthorize("@ss.hasPermission('farm:environment-indicators:export')") +// @PreAuthorize("@ss.hasPermission('farm:environment-indicators:export')") @ApiAccessLog(operateType = EXPORT) public void exportEnvironmentIndicatorsExcel(@Valid EnvironmentIndicatorsPageReqVO pageReqVO, HttpServletResponse response) throws IOException { 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 773b5618..ec9ed19f 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 @@ -2,7 +2,12 @@ package cn.iocoder.yudao.module.farm.controller.admin.wx; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageResult; +import cn.iocoder.yudao.module.farm.config.CompanyConf; import cn.iocoder.yudao.module.farm.controller.admin.api.vo.DeviceStateRespVO; +import cn.iocoder.yudao.module.farm.controller.admin.cropfarmingcenter.vo.ProductionPlanPage2ReqVO; +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.FarmInformationPageReqVO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.farmnews.vo.FarmInformationPageRespVO; import cn.iocoder.yudao.module.farm.controller.admin.wx.vo.*; @@ -10,6 +15,7 @@ import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO; import cn.iocoder.yudao.module.farm.dal.dataobject.deviceinfo.DeviceInfoDO; import cn.iocoder.yudao.module.farm.dal.dataobject.plotinfo.PlotInfoDO; import cn.iocoder.yudao.module.farm.service.baseinfo.BaseInfoService; +import cn.iocoder.yudao.module.farm.service.cropFarmingCenter.CropFarmingCenterService; import cn.iocoder.yudao.module.farm.service.deviceinfo.DeviceInfoService; import cn.iocoder.yudao.module.farm.service.farminformation.FarmInformationService; import cn.iocoder.yudao.module.farm.service.farmingrecord.FarmingRecordService; @@ -30,7 +36,9 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; +import java.util.stream.Collectors; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUser; import static cn.iocoder.yudao.module.farm.enums.CommonConstants.BINDING_STATE_MAP; import static cn.iocoder.yudao.module.farm.enums.CommonConstants.DEVICE_STATE_MAP; @@ -53,8 +61,10 @@ public class WxController { private final BaseInfoService baseInfoService; private final PlotInfoService plotInfoService; private final ProductionPlanService productionPlanService; + private final CropFarmingCenterService cropFarmingCenterService; + private final CompanyConf companyConf; - public WxController(FarmInformationService farmInformationService, DeviceInfoService deviceInfoService, FarmingRecordService farmingRecordService, MessageCenterService messageCenterService, BaseInfoService baseInfoService, PlotInfoService plotInfoService, ProductionPlanService productionPlanService) { + public WxController(FarmInformationService farmInformationService, DeviceInfoService deviceInfoService, FarmingRecordService farmingRecordService, MessageCenterService messageCenterService, BaseInfoService baseInfoService, PlotInfoService plotInfoService, ProductionPlanService productionPlanService, CropFarmingCenterService cropFarmingCenterService, CompanyConf companyConf) { this.farmInformationService = farmInformationService; this.deviceInfoService = deviceInfoService; this.farmingRecordService = farmingRecordService; @@ -62,15 +72,12 @@ public class WxController { this.baseInfoService = baseInfoService; this.plotInfoService = plotInfoService; this.productionPlanService = productionPlanService; + this.cropFarmingCenterService = cropFarmingCenterService; + this.companyConf = companyConf; } - @Operation(summary = "农业资讯") - @GetMapping("/farm-information/page") - public CommonResult> getFarmInformation(@Valid FarmInformationPageReqVO req) { - PageResult result = farmInformationService.getFarmInformationPage(req); - return CommonResult.success(result); - } + @GetMapping("/farming-record/executing-state") @Operation(summary = "进行中农事计划") @@ -79,17 +86,6 @@ public class WxController { return CommonResult.success(new RecordExecutingStateRespVO(20)); } - @GetMapping("/message-center/abnormal-state") - @Operation(summary = "异常信息") - public CommonResult> getAbnormalMessage() { - List res = new ArrayList<>(); - res.add(new AbnormalMessageRespVO("土壤湿度过低", "低于3%")); - res.add(new AbnormalMessageRespVO("土壤湿度过低", "低于3%")); - res.add(new AbnormalMessageRespVO("土壤湿度过低", "低于3%")); - - return CommonResult.success(res); - } - @GetMapping("/device-info/get") @Operation(summary = "获取设备信息") @Parameter(name = "baseId", description = "基地编号") @@ -165,4 +161,64 @@ public class WxController { }).toList(); } + @GetMapping("/base-info/list") + @Operation(summary = "基地列表") + public CommonResult> getBaseListForWx() { + List res = baseInfoService.getBaseListForWx(); + return success(res); + } + + @GetMapping("/base-info/count") + @Operation(summary = "获取租户下的基地&地块总数") + @Parameter(name = "tenantId", description = "租户编号") + public CommonResult getBaseCountInfoRespVO(@RequestParam("tenantId") String tenantId) { + BaseCountInfoRespVO res = baseInfoService.countBaseInfo(tenantId); + return CommonResult.success(res); + } + + @GetMapping("/plot-device/list") + @Operation(summary = "微信端-常用地块集合") + public CommonResult> getRegularPlotInfoList() { + return success(plotInfoService.getRegularPlotInfoList()); + } + + @GetMapping("/production-plan/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)); + } + + @Operation(summary = "农业资讯") + @GetMapping("/farm-information/page") + public CommonResult> getFarmInformation(@Valid FarmInformationPageReqVO req) { + // TODO: 2025/10/13 待实现 + PageResult result = farmInformationService.getFarmInformationPage(req); + return CommonResult.success(result); + } + + @GetMapping("/message-center/abnormal-state") + @Operation(summary = "异常信息") + public CommonResult> getAbnormalMessage() { + // TODO: 2025/10/13 待实现 + List res = new ArrayList<>(); + res.add(new AbnormalMessageRespVO("土壤湿度过低", "低于3%")); + res.add(new AbnormalMessageRespVO("土壤湿度过低", "低于3%")); + res.add(new AbnormalMessageRespVO("土壤湿度过低", "低于3%")); + + return CommonResult.success(res); + } + + @GetMapping("/company-info/get") + @Operation(summary = "联系我们") + public CommonResult getTenantCompanyInfoRespVO() { + return success(new TenantCompanyInfoRespVO( + companyConf.getContactNumber(), + companyConf.getEmail(), + companyConf.getAddress())); + } + } diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/vo/BaseCountInfoRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/vo/BaseCountInfoRespVO.java new file mode 100644 index 00000000..b258e085 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/vo/BaseCountInfoRespVO.java @@ -0,0 +1,23 @@ +package cn.iocoder.yudao.module.farm.controller.admin.wx.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @description: 基地与地块信息 + * @author: binda + * @date: 2025/10/13 17:07 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class BaseCountInfoRespVO { + + @Schema(description = "基地总数") + private long baseCount; + @Schema(description = "地块总数") + private long plotCount; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/vo/TenantCompanyInfoRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/vo/TenantCompanyInfoRespVO.java new file mode 100644 index 00000000..4f34ca70 --- /dev/null +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/wx/vo/TenantCompanyInfoRespVO.java @@ -0,0 +1,25 @@ +package cn.iocoder.yudao.module.farm.controller.admin.wx.vo; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * @description: 公司信息 + * @author: binda + * @date: 2025/10/13 17:22 + */ +@Data +@AllArgsConstructor +@NoArgsConstructor +public class TenantCompanyInfoRespVO { + + @Schema(description = "联系电话") + private String contactNumber; + @Schema(description = "邮箱") + private String email; + @Schema(description = "公司地址") + private String companyAddress; + +} diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoService.java index d40fd16b..f5f6dc48 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoService.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoService.java @@ -9,6 +9,7 @@ import cn.iocoder.yudao.module.farm.controller.admin.api.vo.FarmBaseOverviewResp import cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo.BaseStatisticsInfoRespVO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.baseinfo.vo.*; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.baseinfo.vo.wx.BaseInfoForWxRespVO; +import cn.iocoder.yudao.module.farm.controller.admin.wx.vo.BaseCountInfoRespVO; import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO; import jakarta.validation.Valid; @@ -117,4 +118,11 @@ public interface BaseInfoService { List getBasePlotList(); BaseStatisticsInfoRespVO getBaseStatisticsInfo(String baseId); + + /** + * 获取租户下 基地总数 * 地块总数 + * @param tenantId + * @return + */ + BaseCountInfoRespVO countBaseInfo(String tenantId); } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoServiceImpl.java index e5d3049a..f84a405b 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/baseinfo/BaseInfoServiceImpl.java @@ -13,6 +13,7 @@ import cn.iocoder.yudao.module.farm.controller.admin.api.vo.FarmBaseOverviewResp import cn.iocoder.yudao.module.farm.controller.admin.digitalcockpit.vo.BaseStatisticsInfoRespVO; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.baseinfo.vo.*; import cn.iocoder.yudao.module.farm.controller.admin.managementcenter.baseinfo.vo.wx.BaseInfoForWxRespVO; +import cn.iocoder.yudao.module.farm.controller.admin.wx.vo.BaseCountInfoRespVO; import cn.iocoder.yudao.module.farm.dal.dataobject.baseinfo.BaseInfoDO; import cn.iocoder.yudao.module.farm.dal.dataobject.companyinfo.CompanyInfoDO; import cn.iocoder.yudao.module.farm.dal.dataobject.gridinfo.GridInfoDO; @@ -450,4 +451,16 @@ public class BaseInfoServiceImpl implements BaseInfoService { public BaseStatisticsInfoRespVO getBaseStatisticsInfo(String baseId) { return baseInfoMapper.getBaseStatisticsInfo(baseId); } + + @Override + public BaseCountInfoRespVO countBaseInfo(String tenantId) { + LambdaQueryWrapperX x = new LambdaQueryWrapperX<>(); + x.eq(BaseInfoDO::getTenantId, tenantId); + x.eq(BaseInfoDO::getDeleted, CommonConstants.NO_CODE); + long bCount = baseInfoMapper.selectCount(x); + + long pCount = plotInfoService.countPlotByTenantId(tenantId); + + return new BaseCountInfoRespVO(bCount,pCount); + } } \ No newline at end of file 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 42727605..1ef9042e 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 @@ -102,4 +102,6 @@ public interface PlotInfoService { List getRegularPlotInfoList(); int countPlot(String baseId); + + Long countPlotByTenantId(String tenantId); } \ 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 e81694fc..811e22c3 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 @@ -208,4 +208,12 @@ public class PlotInfoServiceImpl implements PlotInfoService { Long count = plotInfoMapper.selectCount(PlotInfoDO::getBaseId, baseId); return count.intValue(); } + + @Override + public Long countPlotByTenantId(String tenantId) { + LambdaQueryWrapperX wrapperX = new LambdaQueryWrapperX<>(); + wrapperX.eq(PlotInfoDO::getTenantId, tenantId); + wrapperX.eq(PlotInfoDO::getDeleted, CommonConstants.NO_CODE); + return plotInfoMapper.selectCount(wrapperX); + } } \ No newline at end of file diff --git a/yudao-server/src/main/resources/application.yaml b/yudao-server/src/main/resources/application.yaml index b2b76d84..dbbb2d6a 100644 --- a/yudao-server/src/main/resources/application.yaml +++ b/yudao-server/src/main/resources/application.yaml @@ -69,7 +69,7 @@ flowable: mybatis-plus: configuration: map-underscore-to-camel-case: true # 虽然默认为 true ,但是还是显示去指定下。 -# log-impl: org.apache.ibatis.logging.stdout.StdOutImpl + log-impl: org.apache.ibatis.logging.stdout.StdOutImpl global-config: db-config: id-type: NONE # “智能”模式,基于 IdTypeEnvironmentPostProcessor + 数据源的类型,自动适配成 AUTO、INPUT 模式。 @@ -393,5 +393,9 @@ weather: url-1: https://restapi.amap.com/v3/geocode/regeo?location={0},{1}&key={2} # 经纬度逆解析 GET url-2: https://restapi.amap.com/v3/weather/weatherInfo?city={0}&key={1} # 获取天气信息 GET +company: + contact-number: 40088888 + email: weixucz@isoftstone.com + address: 江西省南昌市xxx-xxx-C4-1717室