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

This commit is contained in:
SongZhang 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;
import cn.ysk.cashier.cons.TableConstant;
import cn.ysk.cashier.enums.OrderStatusEnums;
import cn.ysk.cashier.pojo.order.TbCashierCart;
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);
/**
* 根据订单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.shop.TbShopInfo;
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 org.springframework.stereotype.Service;
@ -85,5 +86,12 @@ public class MpCashierCartServiceImpl extends ServiceImpl<TbCashierCartMapper, T
.eq(TbCashierCart::getTableId, tableId)
.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.TbOrderDetailMapper;
import cn.ysk.cashier.mybatis.mapper.TbShopUserFlowMapper;
import cn.ysk.cashier.mybatis.service.MpOrderDetailService;
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.*;
import cn.ysk.cashier.mybatis.service.impl.MpOrderDetailServiceImpl;
import cn.ysk.cashier.pojo.TbShopPayType;
import cn.ysk.cashier.pojo.order.TbCashierCart;
@ -110,6 +107,7 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
private final PayService payService;
private final MpOrderDetailService mpOrderDetailService;
private final TbOrderDetailMapper tbOrderDetailMapper;
private final MpCashierCartService mpCashierCartService;
@Value("${thirdPay.url}")
private String url;
@ -447,6 +445,8 @@ public class TbOrderInfoServiceImpl implements TbOrderInfoService {
tbOrderDetailRepository.save(detail);
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()]);
redisUtils.del(keysArray);
}