From 94b403898dede4c0e7f3f4f28ed590219ac72fda Mon Sep 17 00:00:00 2001 From: dzq Date: Fri, 19 Dec 2025 15:34:59 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=A0=BC=E5=8F=A3=E7=AE=A1=E7=90=86):=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=80=9A=E8=BF=87ID=E7=9B=B4=E6=8E=A5?= =?UTF-8?q?=E9=87=8D=E7=BD=AE=E6=A0=BC=E5=8F=A3=E7=8A=B6=E6=80=81=E7=9A=84?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在管理端添加直接通过格口ID重置格口状态的功能,无需验证密码 将重置逻辑提取到独立方法中复用 --- .../cabinet/CabinetCellController.java | 8 ++++++++ .../cell/CabinetCellApplicationService.java | 17 +++++++++++------ .../cabinet/cell/db/CabinetCellService.java | 2 ++ .../cabinet/cell/db/CabinetCellServiceImpl.java | 14 ++++++++++++++ 4 files changed, 35 insertions(+), 6 deletions(-) diff --git a/agileboot-admin/src/main/java/com/agileboot/admin/controller/cabinet/CabinetCellController.java b/agileboot-admin/src/main/java/com/agileboot/admin/controller/cabinet/CabinetCellController.java index 6ae88fd..67de650 100644 --- a/agileboot-admin/src/main/java/com/agileboot/admin/controller/cabinet/CabinetCellController.java +++ b/agileboot-admin/src/main/java/com/agileboot/admin/controller/cabinet/CabinetCellController.java @@ -105,4 +105,12 @@ public class CabinetCellController extends BaseController { cabinetCellApplicationService.clearGoodsCells(cellId); return ResponseDTO.ok(); } + + @Operation(summary = "重置格口状态") + @AccessLog(title = "格口管理", businessType = BusinessTypeEnum.MODIFY) + @PutMapping("/reset/{cellId}") + public ResponseDTO resetCellById(@PathVariable Long cellId) { + cabinetCellApplicationService.resetCellById(cellId); + return ResponseDTO.ok(); + } } \ No newline at end of file diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/CabinetCellApplicationService.java b/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/CabinetCellApplicationService.java index f569f52..c38cedb 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/CabinetCellApplicationService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/CabinetCellApplicationService.java @@ -231,16 +231,21 @@ public class CabinetCellApplicationService { throw new RuntimeException("密码错误或格口不存在"); } - // 加载格口模型并重置状态 - UpdateWrapper updateWrapper = new UpdateWrapper<>(); - updateWrapper.set("password", null) - .set("usage_status", 1) // 空闲 - .eq("cell_id", cell.getCellId()); - cabinetCellService.update(updateWrapper); + // 调用resetCellById方法重置格口 + cabinetCellService.resetCellById(cell.getCellId()); log.info("格口重置成功:cellId={}, cabinetId={}", cell.getCellId(), cell.getCabinetId()); } + /** + * 管理端根据cellId直接重置格口状态 + * @param cellId 格口ID + */ + public void resetCellById(Long cellId) { + cabinetCellService.resetCellById(cellId); + log.info("管理端重置格口成功:cellId={}", cellId); + } + @Transactional public CabinetCellDTO storeItemToCell(StoreItemToCellCommand command) { // 根据shopId获取该店铺下的所有柜子ID列表 diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/db/CabinetCellService.java b/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/db/CabinetCellService.java index fec87c3..8e69b6b 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/db/CabinetCellService.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/db/CabinetCellService.java @@ -42,4 +42,6 @@ public interface CabinetCellService extends IService { List selectLatestOrderInfoByCell(List cellIds); List selectRentedCellsByAb98UserIdAndCorpid(Long ab98UserId, String corpid); + + void resetCellById(Long cellId); } diff --git a/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/db/CabinetCellServiceImpl.java b/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/db/CabinetCellServiceImpl.java index 67c0f42..5a66be0 100644 --- a/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/db/CabinetCellServiceImpl.java +++ b/agileboot-domain/src/main/java/com/agileboot/domain/cabinet/cell/db/CabinetCellServiceImpl.java @@ -6,6 +6,7 @@ import com.agileboot.domain.cabinet.cell.dto.CabinetCellWithOrderCountDTO; import com.agileboot.domain.cabinet.smartCabinet.dto.CabinetDetailDTO; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import java.util.List; @@ -91,4 +92,17 @@ public class CabinetCellServiceImpl extends ServiceImpl updateWrapper = new UpdateWrapper<>(); + updateWrapper.set("password", null) + .set("usage_status", 1) // 空闲 + .eq("cell_id", cellId) + .eq("deleted", 0); + boolean success = update(updateWrapper); + if (!success) { + throw new RuntimeException("格口不存在或已删除"); + } + } }