diff --git a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java index 9fe9d29b..d6921f6a 100644 --- a/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java +++ b/eladmin-system/src/main/java/cn/ysk/cashier/service/impl/shopimpl/TbShopTableServiceImpl.java @@ -418,7 +418,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { Integer size, Integer shopId, Integer vipUserId, String masterId) { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() .eq(TbCashierCart::getTableId, tableId) - .eq(TbCashierCart::getStatus, "create") + .in(TbCashierCart::getStatus, "create", "refund") .eq(TbCashierCart::getMasterId, masterId) .eq(TbCashierCart::getShopId, shopId) .and(query -> { @@ -673,7 +673,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { } else { orderCode = String.valueOf(Integer.parseInt(code.replace("#", "")) + 1); } - redisTemplate.opsForValue().set("SHOP:CODE:" + clientType + ":" + shopId + ":" + day, String.valueOf(Integer.parseInt(orderCode) + 1)); + redisTemplate.opsForValue().set("SHOP:CODE:" + clientType + ":" + shopId + ":" + day, orderCode); boolean flag = Boolean.TRUE.equals(redisTemplate.opsForValue().setIfAbsent("SHOP:CODE:SET" + clientType + ":" + shopId + ":" + day, orderCode)); if (flag) { return generateOrderCode(day, clientType, shopId); @@ -695,7 +695,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { TbMerchantAccount merchantAccount = merchantAccountMapper.selectOne(new LambdaQueryWrapper().eq(TbMerchantAccount::getAccount, account)); String day = DateUtils.getDay(); JSONObject jsonObject = new JSONObject(); - String key = "SHOP:CODE:USER:pc" + ":" + shopId + ":" + day + ":" + tableId; + String key = "SHOP:CODE:USER:pc" + ":" + shopId + ":" + day + ":" + shopId; String userCode = redisTemplate.opsForValue().get(key); if (StringUtils.isEmpty(userCode) || "null".equals(userCode) || "#null".equals(userCode)) { @@ -716,7 +716,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() .eq(TbCashierCart::getShopId, createOrderDTO.getShopId()) .eq(TbCashierCart::getTableId, createOrderDTO.getTableId()) - .eq(TbCashierCart::getStatus, "create") + .in(TbCashierCart::getStatus, "create", "refund") .and(query -> { query.eq(TbCashierCart::getMasterId, createOrderDTO.getMasterId()) .or(). @@ -839,11 +839,7 @@ public class TbShopTableServiceImpl implements TbShopTableService { cashierCart.setUpdatedAt(System.currentTimeMillis()); cashierCartMapper.updateById(cashierCart); } - if (isFirst && addMaterId) { - String key = "SHOP:CODE:USER:pc" + ":" + createOrderDTO.getShopId() + ":" + day + ":" + createOrderDTO.getTableId(); - redisTemplate.delete(key); - } // 推送耗材信息 pushConsMsg(orderInfo, cashierCarts); @@ -1012,11 +1008,18 @@ public class TbShopTableServiceImpl implements TbShopTableService { orderInfo.setPayType("cash"); orderInfo.setStatus("closed"); orderInfo.setPayOrderNo("cash".concat(SnowFlakeUtil.generateOrderNo())); + String masterId = getMasterId(Integer.valueOf(orderInfo.getShopId()), Long.valueOf(orderInfo.getTableId()), null).toString(); + orderInfo.setMasterId(masterId); orderInfoMapper.updateById(orderInfo); + String day = DateUtils.getDay(); + String key = "SHOP:CODE:USER:pc" + ":" + payDTO.getShopId() + ":" + day + ":" + orderInfo.getTableId(); + + redisTemplate.delete(key); //更新购物车状态 TbCashierCart cashierCart = new TbCashierCart(); cashierCart.setStatus("final"); + cashierCart.setMasterId(masterId); int cartCount = cashierCartMapper.update(cashierCart, new LambdaUpdateWrapper() .eq(TbCashierCart::getOrderId, payDTO.getOrderId()));