fix: 订单过期结束购物车状态

This commit is contained in:
2024-10-29 17:18:58 +08:00
parent 04fab9ef26
commit 9d23c4d337
3 changed files with 19 additions and 4 deletions

View File

@@ -1,5 +1,6 @@
package cn.ysk.cashier.mybatis.service; package cn.ysk.cashier.mybatis.service;
import cn.ysk.cashier.cons.TableConstant;
import cn.ysk.cashier.enums.OrderStatusEnums; import cn.ysk.cashier.enums.OrderStatusEnums;
import cn.ysk.cashier.pojo.order.TbCashierCart; import cn.ysk.cashier.pojo.order.TbCashierCart;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
@@ -48,5 +49,11 @@ public interface MpCashierCartService extends IService<TbCashierCart> {
*/ */
boolean clearCartByTableIdAndUseType(String tableId, String useType, Integer shopId); boolean clearCartByTableIdAndUseType(String tableId, String useType, Integer shopId);
/**
* 根据订单id更改购物车状态
* @param status 状态
* @param orderId 订单id
*/
boolean updateStateByOrderId(TableConstant.OrderInfo.Status status, Integer orderId);
} }

View File

@@ -14,6 +14,7 @@ import cn.ysk.cashier.mybatis.service.MpCashierCartService;
import cn.ysk.cashier.pojo.order.TbCashierCart; import cn.ysk.cashier.pojo.order.TbCashierCart;
import cn.ysk.cashier.pojo.shop.TbShopInfo; import cn.ysk.cashier.pojo.shop.TbShopInfo;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
@@ -85,5 +86,12 @@ public class MpCashierCartServiceImpl extends ServiceImpl<TbCashierCartMapper, T
.eq(TbCashierCart::getTableId, tableId) .eq(TbCashierCart::getTableId, tableId)
.eq(TbCashierCart::getUseType, useType)); .eq(TbCashierCart::getUseType, useType));
} }
@Override
public boolean updateStateByOrderId(TableConstant.OrderInfo.Status status, Integer orderId) {
return update(new LambdaUpdateWrapper<TbCashierCart>()
.eq(TbCashierCart::getOrderId, orderId)
.set(TbCashierCart::getStatus, status.getValue()));
}
} }

View File

@@ -18,10 +18,7 @@ import cn.ysk.cashier.mybatis.mapper.TbCashierCartMapper;
import cn.ysk.cashier.mybatis.mapper.TbMShopUserMapper; import cn.ysk.cashier.mybatis.mapper.TbMShopUserMapper;
import cn.ysk.cashier.mybatis.mapper.TbOrderDetailMapper; import cn.ysk.cashier.mybatis.mapper.TbOrderDetailMapper;
import cn.ysk.cashier.mybatis.mapper.TbShopUserFlowMapper; import cn.ysk.cashier.mybatis.mapper.TbShopUserFlowMapper;
import cn.ysk.cashier.mybatis.service.MpOrderDetailService; import cn.ysk.cashier.mybatis.service.*;
import cn.ysk.cashier.mybatis.service.TbActivateInRecordService;
import cn.ysk.cashier.mybatis.service.TbActivateOutRecordService;
import cn.ysk.cashier.mybatis.service.TbOrderPaymentService;
import cn.ysk.cashier.mybatis.service.impl.MpOrderDetailServiceImpl; import cn.ysk.cashier.mybatis.service.impl.MpOrderDetailServiceImpl;
import cn.ysk.cashier.pojo.TbShopPayType; import cn.ysk.cashier.pojo.TbShopPayType;
import cn.ysk.cashier.pojo.order.TbCashierCart; import cn.ysk.cashier.pojo.order.TbCashierCart;
@@ -110,6 +107,7 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
private final PayService payService; private final PayService payService;
private final MpOrderDetailService mpOrderDetailService; private final MpOrderDetailService mpOrderDetailService;
private final TbOrderDetailMapper tbOrderDetailMapper; private final TbOrderDetailMapper tbOrderDetailMapper;
private final MpCashierCartService mpCashierCartService;
@Value("${thirdPay.url}") @Value("${thirdPay.url}")
private String url; private String url;
@@ -447,6 +445,8 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
tbOrderDetailRepository.save(detail); tbOrderDetailRepository.save(detail);
keys.add(CacheKey.PRODUCT_SKU + detail.getShopId() + ":" + detail.getId()); keys.add(CacheKey.PRODUCT_SKU + detail.getShopId() + ":" + detail.getId());
} }
mpCashierCartService.updateStateByOrderId(TableConstant.OrderInfo.Status.CLOSED, tbOrderInfo.getId());
String[] keysArray = keys.toArray(new String[keys.size()]); String[] keysArray = keys.toArray(new String[keys.size()]);
redisUtils.del(keysArray); redisUtils.del(keysArray);
} }