1.代客下单 选择会员fix

This commit is contained in:
SongZhang 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
private Long tableId;
private String note;
private boolean postPay;
private boolean print;
}

View File

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

View File

@ -419,14 +419,19 @@ public class TbShopTableServiceImpl implements TbShopTableService {
LambdaQueryWrapper<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>()
.eq(TbCashierCart::getTableId, tableId)
.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) {
queryWrapper.eq(TbCashierCart::getUserId, vipUserId);
}else {
queryWrapper.eq(TbCashierCart::getMasterId, masterId);
queryWrapper.isNull(TbCashierCart::getUserId);
}
// if (vipUserId != null) {
// queryWrapper.eq(TbCashierCart::getUserId, vipUserId);
// }else {
// queryWrapper.eq(TbCashierCart::getMasterId, masterId);
// queryWrapper.isNull(TbCashierCart::getUserId);
// }
com.baomidou.mybatisplus.extension.plugins.pagination.Page<TbCashierCart> cartPage = cashierCartMapper
.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>()
.eq(TbCashierCart::getTableId, packCartDTO.getTableId())
.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) {
queryWrapper.eq(TbCashierCart::getUserId, packCartDTO.getVipUserId());
} else {
queryWrapper.isNull(TbCashierCart::getUserId);
}
// if (packCartDTO.getVipUserId() != null) {
// queryWrapper.eq(TbCashierCart::getUserId, packCartDTO.getVipUserId());
// } else {
// queryWrapper.isNull(TbCashierCart::getUserId);
// }
List<TbCashierCart> tbCashierCarts = cashierCartMapper.selectList(queryWrapper);
tbCashierCarts.forEach(item -> {
@ -687,7 +696,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
String day = DateUtils.getDay();
JSONObject jsonObject = new JSONObject();
String key = "SHOP:CODE:USER:pc" + ":" + shopId + ":" + day + ":" + tableId;
String userCode = redisTemplate.opsForValue().get(key);
String userCode = redisTemplate.opsForValue().get(key);
if (StringUtils.isEmpty(userCode) || "null".equals(userCode) || "#null".equals(userCode)) {
String code = "#" + generateOrderCode(day, "pc", String.valueOf(shopId));
@ -706,13 +715,18 @@ public class TbShopTableServiceImpl implements TbShopTableService {
LambdaQueryWrapper<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>()
.eq(TbCashierCart::getShopId, createOrderDTO.getShopId())
.eq(TbCashierCart::getTableId, createOrderDTO.getTableId())
.eq(TbCashierCart::getStatus, "create");
if (createOrderDTO.getVipUserId() != null) {
queryWrapper.eq(TbCashierCart::getUserId, createOrderDTO.getVipUserId());
}else {
queryWrapper.eq(TbCashierCart::getMasterId, createOrderDTO.getMasterId())
.isNull(TbCashierCart::getUserId);
}
.eq(TbCashierCart::getStatus, "create")
.and(query -> {
query.eq(TbCashierCart::getMasterId, createOrderDTO.getMasterId())
.or().
isNull(TbCashierCart::getMasterId);
});
// if (createOrderDTO.getVipUserId() != null) {
// queryWrapper.eq(TbCashierCart::getUserId, createOrderDTO.getVipUserId());
// }else {
// queryWrapper.eq(TbCashierCart::getMasterId, createOrderDTO.getMasterId())
// .isNull(TbCashierCart::getUserId);
// }
List<TbCashierCart> cashierCarts = cashierCartMapper
.selectList(queryWrapper);
if (cashierCarts.isEmpty()) {
@ -791,7 +805,6 @@ public class TbShopTableServiceImpl implements TbShopTableService {
orderInfo.setTableId(String.valueOf(createOrderDTO.getTableId()));
orderInfo.setSendType("table");
orderInfo.setOrderType("cash");
orderInfo.setUseType(createOrderDTO.isPostPay() ? "postPay" : "afterPay");
orderInfo.setShopId(createOrderDTO.getShopId().toString());
orderInfo.setRefundAble(1);
orderInfo.setTradeDay(day);
@ -834,14 +847,6 @@ public class TbShopTableServiceImpl implements TbShopTableService {
// 推送耗材信息
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;
}
@ -859,15 +864,21 @@ public class TbShopTableServiceImpl implements TbShopTableService {
throw new BadRequestException("取消挂起订单id不为空");
}
queryWrapper.eq(TbCashierCart::getOrderId, pendingDTO.getOrderId());
}else {
queryWrapper.eq(TbCashierCart::getTableId, pendingDTO.getTableId())
.eq(TbCashierCart::getStatus, "create");
if (pendingDTO.getVipUserId() != null) {
queryWrapper.eq(TbCashierCart::getUserId, pendingDTO.getVipUserId());
}else {
queryWrapper.eq(TbCashierCart::getMasterId, pendingDTO.getMasterId())
.isNull(TbCashierCart::getUserId);
}
.eq(TbCashierCart::getStatus, "create")
.eq(TbCashierCart::getTableId, pendingDTO.getTableId())
.and(query -> {
query.eq(TbCashierCart::getMasterId, pendingDTO.getMasterId()).or()
.isNull(TbCashierCart::getMasterId);
});
// if (pendingDTO.getVipUserId() != null) {
// queryWrapper.eq(TbCashierCart::getUserId, pendingDTO.getVipUserId());
// }else {
// queryWrapper.eq(TbCashierCart::getMasterId, pendingDTO.getMasterId())
// .isNull(TbCashierCart::getUserId);
// }
}
List<TbCashierCart> cashierCarts = cashierCartMapper
@ -909,6 +920,16 @@ public class TbShopTableServiceImpl implements TbShopTableService {
cashierCart.setStatus(pendingDTO.getIsPending() ? "refund" : "create");
cashierCartMapper.update(cashierCart, new LambdaUpdateWrapper<TbCashierCart>()
.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);
}
@ -1046,8 +1067,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
public Object updateVip(UpdateVipDTO updateVipDTO) {
LambdaUpdateWrapper<TbCashierCart> queryWrapper = new LambdaUpdateWrapper<>();
queryWrapper.eq(TbCashierCart::getTableId, updateVipDTO.getTableId())
.eq(TbCashierCart::getShopId, updateVipDTO.getShopId())
.eq(TbCashierCart::getMasterId, updateVipDTO.getMasterId());
.eq(TbCashierCart::getShopId, updateVipDTO.getShopId());
if (updateVipDTO.getType().equals(0)) {
queryWrapper.set(TbCashierCart::getUserId, null);