diff --git a/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java b/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java index a5d07b5..7a90205 100644 --- a/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java +++ b/nxhs-service/src/main/java/cc/yunxi/controller/RecycleOrderController.java @@ -125,7 +125,7 @@ public class RecycleOrderController { @ApiOperation("回收订单详情") @GetMapping("/info") public CommonResult findOrder(@RequestParam("orderId") String orderId, LocationDTO location) { - RecycleOrder recycleOrder = recycleOrderService.getOrderById(orderId); + RecycleOrder recycleOrder = recycleOrderService.getOrderById(orderId, false); OrderTypeEnum orderType = recycleOrder.getOrderType(); List recycleOrderRespVO = this.buildOrderAttributes(orderType, CollUtils.singletonList(recycleOrder), location); diff --git a/nxhs-service/src/main/java/cc/yunxi/service/IRecycleOrderService.java b/nxhs-service/src/main/java/cc/yunxi/service/IRecycleOrderService.java index cae5397..b3946b2 100644 --- a/nxhs-service/src/main/java/cc/yunxi/service/IRecycleOrderService.java +++ b/nxhs-service/src/main/java/cc/yunxi/service/IRecycleOrderService.java @@ -31,9 +31,10 @@ public interface IRecycleOrderService extends IService { /** * 订单详情 * @param id + * @param isLock * @return RecycleOrder */ - RecycleOrder getOrderById(String id); + RecycleOrder getOrderById(String id, Boolean isLock); /** * 散户下单限制 diff --git a/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleOrderServiceImpl.java b/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleOrderServiceImpl.java index 8ddc560..4cacbaa 100644 --- a/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleOrderServiceImpl.java +++ b/nxhs-service/src/main/java/cc/yunxi/service/impl/RecycleOrderServiceImpl.java @@ -136,11 +136,16 @@ public class RecycleOrderServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(RecycleOrder::getId, id); + if (isLock) { + wrapper.last("for update"); + } + RecycleOrder recycleOrder = this.getOne(wrapper); if (recycleOrder == null) { throw new BizIllegalException("回收订单不存在"); } @@ -302,7 +307,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl