1.代客下单 取单sql fix

This commit is contained in:
2024-08-23 13:31:10 +08:00
parent 28874a59f1
commit 64e89d5ed6

View File

@@ -284,6 +284,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
/**
* 台桌状态校验
*
* @param tableId 桌码
* @return z
*/
@@ -323,15 +324,13 @@ public class TbShopTableServiceImpl implements TbShopTableService {
.eq(TbCashierCart::getTableId, addCartDTO.getTableId())
.and(query2 -> {
query2.and(query3 -> {
query3.eq(TbCashierCart::getTradeDay, DateUtils.getDay())
.eq(TbCashierCart::getMasterId, addCartDTO.getMasterId());
query3.eq(TbCashierCart::getTradeDay, DateUtils.getDay())
.eq(TbCashierCart::getMasterId, addCartDTO.getMasterId());
})
.or()
.and(query4 -> {
.or((query4 -> {
query4.isNull(TbCashierCart::getTradeDay)
.eq(TbCashierCart::getMasterId, "");
})
;
}));
});
TbCashierCart tbCashierCart = cashierCartMapper.selectOne(query);
// 首次加入
@@ -441,16 +440,14 @@ public class TbShopTableServiceImpl implements TbShopTableService {
.in(TbCashierCart::getStatus, "create")
.eq(TbCashierCart::getShopId, shopId)
.and(query2 -> {
query2.and(query3 -> {
query2.or(query3 -> {
query3.eq(TbCashierCart::getTradeDay, DateUtils.getDay())
.eq(TbCashierCart::getMasterId, masterId);
})
.or()
.and(query4 -> {
.or((query4 -> {
query4.isNull(TbCashierCart::getTradeDay)
.eq(TbCashierCart::getMasterId, "");
})
;
}));
});
// if (vipUserId != null) {
@@ -523,24 +520,26 @@ public class TbShopTableServiceImpl implements TbShopTableService {
/**
* 增加库存
*
* @param productId 商品id
* @param skuId sku
* @param addNum 增加的库存数量
* @param skuId sku
* @param addNum 增加的库存数量
*/
public void incrStock(Integer productId, Integer skuId, Integer addNum) {
TbProduct product = productMapper.selectById(productId);
if (product.getIsDistribute() == 1) {
productMapper.incrStock(product.getId(), addNum);
}else {
} else {
producSkutMapper.incrStock(skuId, addNum);
}
}
/**
* 减少库存
*
* @param productId 商品数据
* @param skuId sku
* @param decrNum 减少的数量
* @param skuId sku
* @param decrNum 减少的数量
*/
public void decrStock(Integer productId, String skuId, int decrNum) {
TbProduct product = productMapper.selectById(productId);
@@ -549,15 +548,15 @@ public class TbShopTableServiceImpl implements TbShopTableService {
if (productMapper.decrStock(productId, decrNum) < 1) {
throw new BadRequestException("库存不足,下单失败");
}
}else {
} else {
productMapper.decrStockUnCheck(productId, decrNum);
}
}else {
} else {
if (product.getIsStock() == 1) {
if (producSkutMapper.decrStock(String.valueOf(skuId), decrNum) < 1) {
throw new BadRequestException("库存不足,下单失败");
}
}else {
} else {
producSkutMapper.decrStockUnCheck(String.valueOf(skuId), decrNum);
}
}
@@ -589,6 +588,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
/**
* 更新库存
*
* @param cashierCart 购物车
* @return 是否是第一次添加的商品
*/
@@ -618,6 +618,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
/**
* 更新取餐号
*
* @param shopId 店铺id
* @return 当前取餐号
*/
@@ -679,7 +680,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
);
wxMsgUtils.aboardStockMsg(shopInfo.getShopName(), shopId, product.getName(),
product.getIsDistribute() == 1 ? product.getStockNumber()-num : (int) (productSku.getStockNumber() - num));
product.getIsDistribute() == 1 ? product.getStockNumber() - num : (int) (productSku.getStockNumber() - num));
}
}
@@ -694,7 +695,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
String code = redisTemplate.opsForValue().get("SHOP:CODE:" + clientType + ":" + shopId + ":" + day);
if (StrUtil.isBlank(code)) {
redisTemplate.opsForValue().set("SHOP:CODE:" + clientType + ":" + shopId + ":" + day, "1");
}else {
} else {
redisTemplate.opsForValue().get("SHOP:CODE:" + clientType + ":" + shopId + ":" + (Integer.parseInt(code) + 1));
}
redisTemplate.opsForValue().setIfAbsent("SHOP:CODE:SET" + clientType + ":" + shopId + ":" + day, "1");
@@ -734,7 +735,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
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));
@@ -830,7 +831,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
orderInfo.setTradeDay(DateUtils.getDay());
orderInfo.setUserId(String.valueOf(createOrderDTO.getVipUserId()));
orderInfoMapper.updateById(orderInfo);
}else {
} else {
String orderNo = generateOrderNumber();
orderInfo = new TbOrderInfo();
orderInfo.setOrderNo(orderNo);
@@ -890,7 +891,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
// 后付费,不增加当前台桌取餐号
if (createOrderDTO.isPostPay()) {
addGlobalCode(day, "pc", String.valueOf(createOrderDTO.getShopId()));
}else {
} else {
String key = "SHOP:CODE:USER:pc" + ":" + createOrderDTO.getShopId() + ":" + day + ":" + orderInfo.getTableId();
redisTemplate.delete(key);
}
@@ -911,8 +912,6 @@ public class TbShopTableServiceImpl implements TbShopTableService {
}
@Override
public Object pending(PendingDTO pendingDTO) {
LambdaQueryWrapper<TbCashierCart> queryWrapper = new LambdaQueryWrapper<TbCashierCart>()
@@ -924,7 +923,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
}
queryWrapper.eq(TbCashierCart::getOrderId, pendingDTO.getOrderId());
}else {
} else {
queryWrapper.eq(TbCashierCart::getTableId, pendingDTO.getTableId())
.eq(TbCashierCart::getStatus, "create")
.eq(TbCashierCart::getTableId, pendingDTO.getTableId())
@@ -1110,7 +1109,7 @@ public class TbShopTableServiceImpl implements TbShopTableService {
if (updateVipDTO.getType().equals(0)) {
queryWrapper.set(TbCashierCart::getUserId, null);
queryWrapper.eq(TbCashierCart::getUserId, updateVipDTO.getVipUserId());
}else {
} else {
queryWrapper.set(TbCashierCart::getUserId, updateVipDTO.getVipUserId());
}
return cashierCartMapper.update(null, queryWrapper);