From b1ddf5aa1ab0e260e11e9f04950a3e98f3153fe6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BE=BE=E5=AF=8C=E6=96=8C?= Date: Wed, 15 Oct 2025 22:06:46 +0800 Subject: [PATCH] =?UTF-8?q?fix=20(farm):=20=E6=88=B7=E4=B8=BB=E5=88=97?= =?UTF-8?q?=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - --- .../baseinfo/vo/PlotInfoSaveReqVO.java | 2 +- .../baseinfo/vo/PlotLesseeInfoRespVO.java | 2 +- .../service/plotinfo/PlotInfoServiceImpl.java | 37 +++++++++++++------ 3 files changed, 28 insertions(+), 13 deletions(-) diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/baseinfo/vo/PlotInfoSaveReqVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/baseinfo/vo/PlotInfoSaveReqVO.java index 3a5702ef..3042ca8b 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/baseinfo/vo/PlotInfoSaveReqVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/baseinfo/vo/PlotInfoSaveReqVO.java @@ -43,6 +43,6 @@ public class PlotInfoSaveReqVO { private Integer plotLeaseStatus; @Schema(description = "租赁人信息") - private PlotLesseeSaveReqVO plotLesseeSaveReqVO; + private PlotLesseeSaveReqVO plotLessee; } \ No newline at end of file diff --git a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/baseinfo/vo/PlotLesseeInfoRespVO.java b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/baseinfo/vo/PlotLesseeInfoRespVO.java index 2daf5d2a..c08e4ebf 100644 --- a/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/baseinfo/vo/PlotLesseeInfoRespVO.java +++ b/yudao-module-farm/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/managementcenter/baseinfo/vo/PlotLesseeInfoRespVO.java @@ -61,6 +61,6 @@ public class PlotLesseeInfoRespVO { private String plotLeaseStatusName; @Schema(description = "租赁人信息") - private PlotLesseeDetailsRespVO plotLesseeDetailsRespVO; + private PlotLesseeDetailsRespVO plotLessee; } \ 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 88392263..e4bd01d4 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 @@ -26,6 +26,8 @@ import org.springframework.validation.annotation.Validated; import java.math.BigDecimal; import java.util.List; import java.util.Map; +import java.util.Set; +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; @@ -71,18 +73,24 @@ public class PlotInfoServiceImpl implements PlotInfoService { PlotLesseeSaveReqVO plotLesseeSaveReqVO = createReqVO.getPlotLesseeSaveReqVO(); PlotLesseeDO plotLesseeDO = BeanUtils.toBean(plotLesseeSaveReqVO, PlotLesseeDO.class); - plotLesseeDO.setId(IdUtil.fastUUID()); - plotLesseeDO.setTenantId(String.valueOf(user.getTenantId())); - plotLesseeDO.setLeaseStatus(CommonConstants.YES_CODE); - plotLesseeDO.setBaseId(createReqVO.getBaseId()); - plotLesseeDO.setPlotId(plotInfo.getId()); - plotLesseeDO.setPlotName(plotInfo.getPlotName()); - plotLesseeMapper.insert(plotLesseeDO); + insertLessee(plotLesseeDO, createReqVO.getBaseId(), plotInfo.getId(), plotInfo.getPlotName()); // 返回 return plotInfo.getId(); } + private void insertLessee(PlotLesseeDO plotLesseeDO,String baseId,String plotId,String plotName) { + LoginUser user = getLoginUser(); + + plotLesseeDO.setId(IdUtil.fastUUID()); + plotLesseeDO.setTenantId(String.valueOf(user.getTenantId())); + plotLesseeDO.setLeaseStatus(CommonConstants.YES_CODE); + plotLesseeDO.setBaseId(baseId); + plotLesseeDO.setPlotId(plotId); + plotLesseeDO.setPlotName(plotName); + plotLesseeMapper.insert(plotLesseeDO); + } + @Transactional @Override public void updatePlotInfo(PlotInfoSaveReqVO updateReqVO) { @@ -91,19 +99,26 @@ public class PlotInfoServiceImpl implements PlotInfoService { // 校验地块面积 validatePlotArea(updateReqVO.getBaseId(), updateReqVO.getId(), updateReqVO.getPlotArea()); // 更新 - PlotInfoDO updateObj = BeanUtils.toBean(updateReqVO, PlotInfoDO.class); - plotInfoMapper.updateById(updateObj); + PlotInfoDO plotInfo = BeanUtils.toBean(updateReqVO, PlotInfoDO.class); + plotInfoMapper.updateById(plotInfo); // 重置所有租赁状态为: 未租 List doList = plotLesseeMapper.selectList("plot_id", updateReqVO.getId()); doList.forEach(e -> e.setLeaseStatus(CommonConstants.NO_CODE)); plotLesseeMapper.updateBatch(doList); + Set collect = doList.stream().map(e-> e.getLeaseIdCard()).collect(Collectors.toSet()); // 指定当前的租户状态为: 已租 PlotLesseeSaveReqVO plotLesseeSaveReqVO = updateReqVO.getPlotLesseeSaveReqVO(); + String idCard = plotLesseeSaveReqVO.getLeaseIdCard(); PlotLesseeDO plotLesseeDO = BeanUtils.toBean(plotLesseeSaveReqVO, PlotLesseeDO.class); - plotLesseeDO.setLeaseStatus(CommonConstants.YES_CODE); - plotLesseeMapper.updateById(plotLesseeDO); + if (collect.contains(idCard)) { + plotLesseeDO.setLeaseStatus(CommonConstants.YES_CODE); + plotLesseeMapper.updateById(plotLesseeDO); + } else { + insertLessee(plotLesseeDO, updateReqVO.getBaseId(), plotInfo.getId(), plotInfo.getPlotName()); + } + } @Override