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

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

@ -125,7 +125,7 @@ public class RecycleOrderController {
@ApiOperation("回收订单详情")
@GetMapping("/info")
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();
List<? extends RecycleOrderRespVO> recycleOrderRespVO =
this.buildOrderAttributes(orderType, CollUtils.singletonList(recycleOrder), location);

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

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

Loading…
Cancel
Save