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(
@RequestBody PendingDTO pendingDTO
) {
pendingDTO.setIsPending(true);
return ResponseEntity.ok(tbShopTableService.pending(pendingDTO));
}

View File

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

View File

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