1.代客下单 选择会员fix

This commit is contained in:
2024-08-20 18:11:13 +08:00
parent 0d8aa662e4
commit 4e5c560d95
3 changed files with 60 additions and 41 deletions

View File

@@ -15,6 +15,5 @@ public class CreateOrderDTO {
@NotEmpty @NotEmpty
private Long tableId; private Long tableId;
private String note; private String note;
private boolean postPay;
private boolean print; private boolean print;
} }

View File

@@ -2,7 +2,7 @@ package cn.ysk.cashier.enums;
public enum TableStateEnum { public enum TableStateEnum {
IDLE("idle"), IDLE("idle"),
CLOSED("closed"), PAYING("paying"); CLOSED("closed"), PAYING("paying"), PENDING("pending");
private String state = "closed"; private String state = "closed";
TableStateEnum(String state) { TableStateEnum(String state) {

View File

@@ -419,14 +419,19 @@ public class TbShopTableServiceImpl implements TbShopTableService {
LambdaQueryWrapper<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>() LambdaQueryWrapper<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>()
.eq(TbCashierCart::getTableId, tableId) .eq(TbCashierCart::getTableId, tableId)
.eq(TbCashierCart::getStatus, "create") .eq(TbCashierCart::getStatus, "create")
.eq(TbCashierCart::getShopId, shopId); .eq(TbCashierCart::getMasterId, masterId)
.eq(TbCashierCart::getShopId, shopId)
.and(query -> {
query.eq(TbCashierCart::getMasterId, masterId).or()
.isNull(TbCashierCart::getMasterId);
});
if (vipUserId != null) { // if (vipUserId != null) {
queryWrapper.eq(TbCashierCart::getUserId, vipUserId); // queryWrapper.eq(TbCashierCart::getUserId, vipUserId);
}else { // }else {
queryWrapper.eq(TbCashierCart::getMasterId, masterId); // queryWrapper.eq(TbCashierCart::getMasterId, masterId);
queryWrapper.isNull(TbCashierCart::getUserId); // queryWrapper.isNull(TbCashierCart::getUserId);
} // }
com.baomidou.mybatisplus.extension.plugins.pagination.Page<TbCashierCart> cartPage = cashierCartMapper com.baomidou.mybatisplus.extension.plugins.pagination.Page<TbCashierCart> cartPage = cashierCartMapper
.selectPage(new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page, size), queryWrapper); .selectPage(new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(page, size), queryWrapper);
@@ -462,13 +467,17 @@ 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"); .eq(TbCashierCart::getStatus, "create")
.and(query -> {
query.eq(TbCashierCart::getMasterId, packCartDTO.getMasterId()).or()
.isNull(TbCashierCart::getMasterId);
});
if (packCartDTO.getVipUserId() != null) { // if (packCartDTO.getVipUserId() != null) {
queryWrapper.eq(TbCashierCart::getUserId, packCartDTO.getVipUserId()); // queryWrapper.eq(TbCashierCart::getUserId, packCartDTO.getVipUserId());
} else { // } else {
queryWrapper.isNull(TbCashierCart::getUserId); // queryWrapper.isNull(TbCashierCart::getUserId);
} // }
List<TbCashierCart> tbCashierCarts = cashierCartMapper.selectList(queryWrapper); List<TbCashierCart> tbCashierCarts = cashierCartMapper.selectList(queryWrapper);
tbCashierCarts.forEach(item -> { tbCashierCarts.forEach(item -> {
@@ -706,13 +715,18 @@ public class TbShopTableServiceImpl implements TbShopTableService {
LambdaQueryWrapper<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>() LambdaQueryWrapper<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>()
.eq(TbCashierCart::getShopId, createOrderDTO.getShopId()) .eq(TbCashierCart::getShopId, createOrderDTO.getShopId())
.eq(TbCashierCart::getTableId, createOrderDTO.getTableId()) .eq(TbCashierCart::getTableId, createOrderDTO.getTableId())
.eq(TbCashierCart::getStatus, "create"); .eq(TbCashierCart::getStatus, "create")
if (createOrderDTO.getVipUserId() != null) { .and(query -> {
queryWrapper.eq(TbCashierCart::getUserId, createOrderDTO.getVipUserId()); query.eq(TbCashierCart::getMasterId, createOrderDTO.getMasterId())
}else { .or().
queryWrapper.eq(TbCashierCart::getMasterId, createOrderDTO.getMasterId()) isNull(TbCashierCart::getMasterId);
.isNull(TbCashierCart::getUserId); });
} // if (createOrderDTO.getVipUserId() != null) {
// queryWrapper.eq(TbCashierCart::getUserId, createOrderDTO.getVipUserId());
// }else {
// queryWrapper.eq(TbCashierCart::getMasterId, createOrderDTO.getMasterId())
// .isNull(TbCashierCart::getUserId);
// }
List<TbCashierCart> cashierCarts = cashierCartMapper List<TbCashierCart> cashierCarts = cashierCartMapper
.selectList(queryWrapper); .selectList(queryWrapper);
if (cashierCarts.isEmpty()) { if (cashierCarts.isEmpty()) {
@@ -791,7 +805,6 @@ public class TbShopTableServiceImpl implements TbShopTableService {
orderInfo.setTableId(String.valueOf(createOrderDTO.getTableId())); orderInfo.setTableId(String.valueOf(createOrderDTO.getTableId()));
orderInfo.setSendType("table"); orderInfo.setSendType("table");
orderInfo.setOrderType("cash"); orderInfo.setOrderType("cash");
orderInfo.setUseType(createOrderDTO.isPostPay() ? "postPay" : "afterPay");
orderInfo.setShopId(createOrderDTO.getShopId().toString()); orderInfo.setShopId(createOrderDTO.getShopId().toString());
orderInfo.setRefundAble(1); orderInfo.setRefundAble(1);
orderInfo.setTradeDay(day); orderInfo.setTradeDay(day);
@@ -834,14 +847,6 @@ public class TbShopTableServiceImpl implements TbShopTableService {
// 推送耗材信息 // 推送耗材信息
pushConsMsg(orderInfo, cashierCarts); pushConsMsg(orderInfo, cashierCarts);
// 后付款订单,修改台桌状态并打票
if (createOrderDTO.isPostPay()) {
mpShopTableMapper.update(null, new LambdaUpdateWrapper<TbShopTable>()
.eq(TbShopTable::getQrcode, createOrderDTO.getTableId())
.set(TbShopTable::getStatus, "opening"));
rabbitMsgUtils.printTicket(String.valueOf(orderId));
}
return orderInfo; return orderInfo;
} }
@@ -859,15 +864,21 @@ public class TbShopTableServiceImpl implements TbShopTableService {
throw new BadRequestException("取消挂起订单id不为空"); throw new BadRequestException("取消挂起订单id不为空");
} }
queryWrapper.eq(TbCashierCart::getOrderId, pendingDTO.getOrderId()); queryWrapper.eq(TbCashierCart::getOrderId, pendingDTO.getOrderId());
}else { }else {
queryWrapper.eq(TbCashierCart::getTableId, pendingDTO.getTableId()) queryWrapper.eq(TbCashierCart::getTableId, pendingDTO.getTableId())
.eq(TbCashierCart::getStatus, "create"); .eq(TbCashierCart::getStatus, "create")
if (pendingDTO.getVipUserId() != null) { .eq(TbCashierCart::getTableId, pendingDTO.getTableId())
queryWrapper.eq(TbCashierCart::getUserId, pendingDTO.getVipUserId()); .and(query -> {
}else { query.eq(TbCashierCart::getMasterId, pendingDTO.getMasterId()).or()
queryWrapper.eq(TbCashierCart::getMasterId, pendingDTO.getMasterId()) .isNull(TbCashierCart::getMasterId);
.isNull(TbCashierCart::getUserId); });
} // if (pendingDTO.getVipUserId() != null) {
// queryWrapper.eq(TbCashierCart::getUserId, pendingDTO.getVipUserId());
// }else {
// queryWrapper.eq(TbCashierCart::getMasterId, pendingDTO.getMasterId())
// .isNull(TbCashierCart::getUserId);
// }
} }
List<TbCashierCart> cashierCarts = cashierCartMapper List<TbCashierCart> cashierCarts = cashierCartMapper
@@ -909,6 +920,16 @@ public class TbShopTableServiceImpl implements TbShopTableService {
cashierCart.setStatus(pendingDTO.getIsPending() ? "refund" : "create"); cashierCart.setStatus(pendingDTO.getIsPending() ? "refund" : "create");
cashierCartMapper.update(cashierCart, new LambdaUpdateWrapper<TbCashierCart>() cashierCartMapper.update(cashierCart, new LambdaUpdateWrapper<TbCashierCart>()
.eq(TbCashierCart::getOrderId, orderId)); .eq(TbCashierCart::getOrderId, orderId));
// 后付款订单,修改台桌状态并打票
if (pendingDTO.getIsPending()) {
mpShopTableMapper.update(null, new LambdaUpdateWrapper<TbShopTable>()
.eq(TbShopTable::getQrcode, cashierCart.getTableId())
.set(TbShopTable::getStatus, TableStateEnum.PENDING.getState()));
rabbitMsgUtils.printTicket(String.valueOf(orderId));
}
return orderInfoMapper.selectById(orderId); return orderInfoMapper.selectById(orderId);
} }
@@ -1046,8 +1067,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
public Object updateVip(UpdateVipDTO updateVipDTO) { public Object updateVip(UpdateVipDTO updateVipDTO) {
LambdaUpdateWrapper<TbCashierCart> queryWrapper = new LambdaUpdateWrapper<>(); LambdaUpdateWrapper<TbCashierCart> queryWrapper = new LambdaUpdateWrapper<>();
queryWrapper.eq(TbCashierCart::getTableId, updateVipDTO.getTableId()) queryWrapper.eq(TbCashierCart::getTableId, updateVipDTO.getTableId())
.eq(TbCashierCart::getShopId, updateVipDTO.getShopId()) .eq(TbCashierCart::getShopId, updateVipDTO.getShopId());
.eq(TbCashierCart::getMasterId, updateVipDTO.getMasterId());
if (updateVipDTO.getType().equals(0)) { if (updateVipDTO.getType().equals(0)) {
queryWrapper.set(TbCashierCart::getUserId, null); queryWrapper.set(TbCashierCart::getUserId, null);