1.代客下单 取单不操作购物车状态

This commit is contained in:
SongZhang 2024-08-23 15:34:13 +08:00
parent 98bc995b71
commit f6e473b8bb
3 changed files with 27 additions and 8 deletions

View File

@ -154,6 +154,7 @@ public class TbPlaceController {
public ResponseEntity<Object> pending( public ResponseEntity<Object> pending(
@RequestBody PendingDTO pendingDTO @RequestBody PendingDTO pendingDTO
) { ) {
pendingDTO.setIsPending(true);
return ResponseEntity.ok(tbShopTableService.pending(pendingDTO)); return ResponseEntity.ok(tbShopTableService.pending(pendingDTO));
} }

View File

@ -305,7 +305,7 @@ public class TbPayServiceImpl implements TbPayService {
throw new BadRequestException("订单不存在"); throw new BadRequestException("订单不存在");
} }
if (!"unpaid".equals(orderInfo.getStatus())) { if (!"unpaid".equals(orderInfo.getStatus()) && !"pending".equals(orderInfo.getStatus())) {
throw new BadRequestException("订单非未支付状态"); throw new BadRequestException("订单非未支付状态");
} }
@ -360,7 +360,7 @@ public class TbPayServiceImpl implements TbPayService {
throw new BadRequestException("订单信息不存在"); throw new BadRequestException("订单信息不存在");
} }
if (!"unpaid".equals(orderInfo.getStatus())) { if (!"unpaid".equals(orderInfo.getStatus()) && !"pending".equals(orderInfo.getStatus())) {
throw new BadRequestException("此订单不处于未支付状态"); throw new BadRequestException("此订单不处于未支付状态");
} }

View File

@ -435,7 +435,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
Integer size, Integer shopId, Integer vipUserId, String masterId) { Integer size, Integer shopId, Integer vipUserId, String masterId) {
LambdaQueryWrapper<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>() LambdaQueryWrapper<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>()
.eq(TbCashierCart::getTableId, tableId) .eq(TbCashierCart::getTableId, tableId)
.in(TbCashierCart::getStatus, "create") .in(TbCashierCart::getStatus, "create", "refund")
.eq(TbCashierCart::getShopId, shopId) .eq(TbCashierCart::getShopId, shopId)
.and(query2 -> { .and(query2 -> {
query2.or(query3 -> { query2.or(query3 -> {
@ -489,10 +489,16 @@ public class TbShopTableServiceImpl implements TbShopTableService {
LambdaQueryWrapper<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>() LambdaQueryWrapper<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>()
.eq(TbCashierCart::getTableId, packCartDTO.getTableId()) .eq(TbCashierCart::getTableId, packCartDTO.getTableId())
.eq(TbCashierCart::getShopId, packCartDTO.getShopId()) .eq(TbCashierCart::getShopId, packCartDTO.getShopId())
.eq(TbCashierCart::getStatus, "create") .in(TbCashierCart::getStatus, "create", "refund")
.and(query -> { .and(query2 -> {
query.eq(TbCashierCart::getMasterId, packCartDTO.getMasterId()).or() query2.or(query3 -> {
.isNull(TbCashierCart::getMasterId); query3.eq(TbCashierCart::getTradeDay, DateUtils.getDay())
.eq(TbCashierCart::getMasterId, packCartDTO.getMasterId());
})
.or((query4 -> {
query4.isNull(TbCashierCart::getTradeDay)
.eq(TbCashierCart::getMasterId, "");
}));
}); });
// if (packCartDTO.getVipUserId() != null) { // if (packCartDTO.getVipUserId() != null) {
@ -826,12 +832,13 @@ public class TbShopTableServiceImpl implements TbShopTableService {
orderInfo.setSettlementAmount(totalAmount); orderInfo.setSettlementAmount(totalAmount);
orderInfo.setAmount(totalAmount); orderInfo.setAmount(totalAmount);
orderInfo.setOriginAmount(totalAmount); orderInfo.setOriginAmount(totalAmount);
orderInfo.setStatus("unpaid"); // orderInfo.setStatus("unpaid");
orderInfo.setOrderAmount(totalAmount); orderInfo.setOrderAmount(totalAmount);
orderInfo.setRemark(createOrderDTO.getNote()); orderInfo.setRemark(createOrderDTO.getNote());
orderInfo.setFreightAmount(feeAmount); orderInfo.setFreightAmount(feeAmount);
orderInfo.setProductAmount(saleAmount); orderInfo.setProductAmount(saleAmount);
orderInfo.setTradeDay(DateUtils.getDay()); orderInfo.setTradeDay(DateUtils.getDay());
orderInfo.setUseType(createOrderDTO.isPostPay() ? "postPay" : "afterPay");
orderInfo.setUserId(createOrderDTO.getVipUserId() == null ? null : String.valueOf(createOrderDTO.getVipUserId())); orderInfo.setUserId(createOrderDTO.getVipUserId() == null ? null : String.valueOf(createOrderDTO.getVipUserId()));
orderInfoMapper.updateById(orderInfo); orderInfoMapper.updateById(orderInfo);
} else { } else {
@ -888,6 +895,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
isFirst = updateStock(cashierCart); isFirst = updateStock(cashierCart);
cashierCart.setOrderId(orderId); cashierCart.setOrderId(orderId);
cashierCart.setUpdatedAt(System.currentTimeMillis()); cashierCart.setUpdatedAt(System.currentTimeMillis());
cashierCart.setStatus("pending".equals(orderInfo.getStatus()) ? "refund" : cashierCart.getStatus());
cashierCartMapper.updateById(cashierCart); cashierCartMapper.updateById(cashierCart);
} }
if (isFirst) { if (isFirst) {
@ -917,6 +925,16 @@ public class TbShopTableServiceImpl implements TbShopTableService {
@Override @Override
public Object pending(PendingDTO pendingDTO) { public Object pending(PendingDTO pendingDTO) {
if (pendingDTO.getOrderId() != null) {
TbOrderInfo tbOrderInfo = orderInfoMapper.selectOne(new LambdaQueryWrapper<TbOrderInfo>()
.eq(TbOrderInfo::getId, pendingDTO.getOrderId())
.eq(TbOrderInfo::getStatus, "pending"));
if (tbOrderInfo != null) {
return tbOrderInfo;
}
}
LambdaQueryWrapper<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>() LambdaQueryWrapper<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>()
.eq(TbCashierCart::getShopId, pendingDTO.getShopId()); .eq(TbCashierCart::getShopId, pendingDTO.getShopId());