定点、到站回收订单业务功能bug问题修复v6

door
LI-CCONG\李聪聪 7 months ago
parent 6c22d67a6a
commit a96349ce9b

@ -125,7 +125,7 @@ public class RecycleOrderController {
@ApiOperation("回收订单详情") @ApiOperation("回收订单详情")
@GetMapping("/info") @GetMapping("/info")
public CommonResult<? extends RecycleOrderRespVO> findOrder(@RequestParam("orderId") String orderId, LocationDTO location) { public CommonResult<? extends RecycleOrderRespVO> findOrder(@RequestParam("orderId") String orderId, LocationDTO location) {
RecycleOrder recycleOrder = recycleOrderService.getOrderById(orderId); RecycleOrder recycleOrder = recycleOrderService.getOrderById(orderId, false);
OrderTypeEnum orderType = recycleOrder.getOrderType(); OrderTypeEnum orderType = recycleOrder.getOrderType();
List<? extends RecycleOrderRespVO> recycleOrderRespVO = List<? extends RecycleOrderRespVO> recycleOrderRespVO =
this.buildOrderAttributes(orderType, CollUtils.singletonList(recycleOrder), location); this.buildOrderAttributes(orderType, CollUtils.singletonList(recycleOrder), location);

@ -31,9 +31,10 @@ public interface IRecycleOrderService extends IService<RecycleOrder> {
/** /**
* *
* @param id * @param id
* @param isLock
* @return RecycleOrder * @return RecycleOrder
*/ */
RecycleOrder getOrderById(String id); RecycleOrder getOrderById(String id, Boolean isLock);
/** /**
* *

@ -136,11 +136,16 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
} }
@Override @Override
public RecycleOrder getOrderById(String id) { public RecycleOrder getOrderById(String id, Boolean isLock) {
if (StrUtil.isEmpty(id)) { if (StrUtil.isEmpty(id)) {
throw new BizIllegalException("请求参数缺失"); throw new BizIllegalException("请求参数缺失");
} }
RecycleOrder recycleOrder = this.getById(id); LambdaQueryWrapper<RecycleOrder> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(RecycleOrder::getId, id);
if (isLock) {
wrapper.last("for update");
}
RecycleOrder recycleOrder = this.getOne(wrapper);
if (recycleOrder == null) { if (recycleOrder == null) {
throw new BizIllegalException("回收订单不存在"); throw new BizIllegalException("回收订单不存在");
} }
@ -302,7 +307,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void updateOrder(RecycleOrderUpdateVO orderUpdateVO) { public void updateOrder(RecycleOrderUpdateVO orderUpdateVO) {
RecycleOrder recycleOrder = this.getOrderById(orderUpdateVO.getId()); RecycleOrder recycleOrder = this.getOrderById(orderUpdateVO.getId(), true);
// 接单后无法修改订单信息 // 接单后无法修改订单信息
if (!recycleOrder.getOrderStatus().equals(OrderStatusEnum.PENDING)) { if (!recycleOrder.getOrderStatus().equals(OrderStatusEnum.PENDING)) {
throw new BusinessLogicException("订单处理中,无法修改订单信息"); throw new BusinessLogicException("订单处理中,无法修改订单信息");
@ -316,7 +321,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void takingOrder(RecycleOrderTakingVO orderTakingVO) { public void takingOrder(RecycleOrderTakingVO orderTakingVO) {
RecycleOrder recycleOrder = this.getOrderById(orderTakingVO.getId()); RecycleOrder recycleOrder = this.getOrderById(orderTakingVO.getId(), true);
if (!recycleOrder.getOrderStatus().equals(OrderStatusEnum.PENDING)) { if (!recycleOrder.getOrderStatus().equals(OrderStatusEnum.PENDING)) {
if (recycleOrder.getOrderStatus().equals(OrderStatusEnum.CANCELED)) { if (recycleOrder.getOrderStatus().equals(OrderStatusEnum.CANCELED)) {
throw new BusinessLogicException("订单已取消!"); throw new BusinessLogicException("订单已取消!");
@ -336,7 +341,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void cancelOrder(RecycleOrderCancelVO orderCancelVO) { public void cancelOrder(RecycleOrderCancelVO orderCancelVO) {
RecycleOrder recycleOrder = getOrderById(orderCancelVO.getId()); RecycleOrder recycleOrder = this.getOrderById(orderCancelVO.getId(), true);
if (!recycleOrder.getClientId().equals(orderCancelVO.getClientId())) { if (!recycleOrder.getClientId().equals(orderCancelVO.getClientId())) {
throw new ForbiddenException("非法操作!"); throw new ForbiddenException("非法操作!");
} }
@ -356,7 +361,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void reachOrder(RecycleOrderReachVO orderReachVO) { public void reachOrder(RecycleOrderReachVO orderReachVO) {
RecycleOrder recycleOrder = getOrderById(orderReachVO.getId()); RecycleOrder recycleOrder = this.getOrderById(orderReachVO.getId(), true);
if (!recycleOrder.getStaffsId().equals(orderReachVO.getStaffsId())) { if (!recycleOrder.getStaffsId().equals(orderReachVO.getStaffsId())) {
throw new ForbiddenException("非法操作!"); throw new ForbiddenException("非法操作!");
} }
@ -379,7 +384,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void finishOrder(RecycleOrderFinishVO orderFinishVO) { public void finishOrder(RecycleOrderFinishVO orderFinishVO) {
RecycleOrder recycleOrder = getOrderById(orderFinishVO.getId()); RecycleOrder recycleOrder = this.getOrderById(orderFinishVO.getId(), true);
if (!recycleOrder.getStaffsId().equals(orderFinishVO.getStaffsId())) { if (!recycleOrder.getStaffsId().equals(orderFinishVO.getStaffsId())) {
throw new ForbiddenException("非法操作!"); throw new ForbiddenException("非法操作!");
} }
@ -434,7 +439,7 @@ public class RecycleOrderServiceImpl extends ServiceImpl<RecycleOrderMapper, Rec
// 校验订单是否存在 // 校验订单是否存在
private void validateOrderExists(String id) { private void validateOrderExists(String id) {
if (this.getOrderById(id) == null) { if (this.getOrderById(id, false) == null) {
throw new BizIllegalException("回收订单不存在"); throw new BizIllegalException("回收订单不存在");
} }
} }

Loading…
Cancel
Save