diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/HomeController.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/HomeController.java index 2336bde3..bb9d23c7 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/HomeController.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/home/HomeController.java @@ -3,7 +3,6 @@ package cn.iocoder.yudao.module.farm.controller.admin.home; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.farm.controller.admin.home.vo.BaseNameVO; import cn.iocoder.yudao.module.farm.controller.admin.home.vo.HomeInfo; -import cn.iocoder.yudao.module.farm.controller.admin.home.vo.OutlinedInfoVO; import cn.iocoder.yudao.module.farm.service.home.HomeService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; @@ -13,7 +12,6 @@ import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; -import java.util.Map; import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @@ -31,11 +29,18 @@ public class HomeController { @Resource private HomeService homeService; +// @Operation(summary = "农场首页") +// @GetMapping("") +// @Parameter(name = "baseId", description = "基地ID") +// public CommonResult getBaseInfo(@RequestParam("baseId") String baseId) { +// return success(homeService.getHomeInfo(baseId)); +// } + @Operation(summary = "农场首页") @GetMapping("") @Parameter(name = "baseId", description = "基地ID") - public CommonResult getBaseInfo(@RequestParam("baseId") String baseId) { - return success(homeService.getHomeInfo(baseId)); + public CommonResult> getBaseInfo(@RequestParam("baseId") String baseId) { + return success(homeService.getHomeInfoList(baseId)); } @Operation(summary = "农场首页-基地名称列表") 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 7f83b228..6927f0c8 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 @@ -56,6 +56,7 @@ public interface BaseInfoService { */ BaseInfoDO getBaseInfo(String id); List getBaseInfos(); + List getBaseInfosById(String id); /** * 获得基地分页 @@ -99,4 +100,6 @@ public interface BaseInfoService { Integer getBaseTotalCount(String tenantId); CommonResult> getBaseInfoList(FarmBaseInfoReqVO req); + + } \ 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 6481264b..ca3bfb52 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 @@ -44,6 +44,7 @@ import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUser; import static cn.iocoder.yudao.module.farm.enums.ErrorCodeConstants.BASE_INFO_NOT_EXISTS; +import static cn.iocoder.yudao.module.farm.enums.ErrorCodeConstants.PLOT_AREA_EXISTS_ERRORS; /** * 基地 Service 实现类 @@ -107,10 +108,13 @@ public class BaseInfoServiceImpl implements BaseInfoService { validateBaseInfoExists(id); // 校验: 存在在种地块时 不允许删除 boolean flag = productionPlanService.validateIncompletePlansBId("base_id", id); - if (flag) { + boolean flag2 = plotInfoService.validatePlotExistByBaseId(id); + if (flag || flag2) { // 删除 baseInfoMapper.deleteById(id); plotInfoService.deleteByBaseId(id); + }else { + throw exception(PLOT_AREA_EXISTS_ERRORS); } } @@ -137,6 +141,16 @@ public class BaseInfoServiceImpl implements BaseInfoService { return baseInfoMapper.selectList("tenant_id", tenantId); } + @Override + public List getBaseInfosById(String id) { + LambdaQueryWrapperX wrapperX = new LambdaQueryWrapperX<>(); + String tenantId = String.valueOf(getLoginUser().getTenantId()); + wrapperX.eq(BaseInfoDO::getTenantId, tenantId); + wrapperX.eq(BaseInfoDO::getDeleted, CommonConstants.NO_CODE); + wrapperX.eqIfPresent(BaseInfoDO::getId, id); + return baseInfoMapper.selectList(wrapperX); + } + @Override public PageResult getBaseInfoPage(BaseInfoPageReqVO pageReqVO) { return baseInfoMapper.selectPage(pageReqVO); diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeService.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeService.java index 6b1c7b17..65e7ce84 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeService.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeService.java @@ -2,7 +2,6 @@ package cn.iocoder.yudao.module.farm.service.home; import cn.iocoder.yudao.module.farm.controller.admin.home.vo.BaseNameVO; import cn.iocoder.yudao.module.farm.controller.admin.home.vo.HomeInfo; -import cn.iocoder.yudao.module.farm.controller.admin.home.vo.HomeInfo2VO; import cn.iocoder.yudao.module.farm.controller.admin.home.vo.OutlinedInfoVO; import java.util.List; @@ -14,6 +13,9 @@ import java.util.Map; * @data: 2025/8/14 19:45 */ public interface HomeService { + + + List getHomeInfoList(String baseId); /** * 首页综合信息 * @param baseId 基地ID diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeServiceImpl.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeServiceImpl.java index b7d60656..7edc3a54 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeServiceImpl.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/service/home/HomeServiceImpl.java @@ -24,6 +24,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; +import java.util.stream.Stream; import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils.getLoginUser; import static cn.iocoder.yudao.module.farm.enums.CommonConstants.*; @@ -54,6 +55,12 @@ public class HomeServiceImpl implements HomeService { this.modelManagementService = modelManagementService; } + @Override + public List getHomeInfoList(String baseId) { + List baseInfos = baseInfoService.getBaseInfosById(baseId); + return baseInfos.stream().map(e -> getHomeInfo(e.getId())).toList(); + } + @Override public HomeInfo getHomeInfo(String baseId) { @@ -204,7 +211,6 @@ public class HomeServiceImpl implements HomeService { return targetList; } - @Override public OutlinedInfoVO getOutlinedInfo(String baseId) { OutlinedInfoVO res = new OutlinedInfoVO();