package cn.ysk.cashier.mybatis.service;

import cn.ysk.cashier.dto.shoptable.ReturnOrderDTO;
import cn.ysk.cashier.enums.OrderStatusEnums;
import cn.ysk.cashier.pojo.order.TbFullOrderDetail;
import cn.ysk.cashier.pojo.order.TbOrderDetail;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.ArrayList;
import java.util.List;

/**
 * (TbShopPermission)表服务接口
 *
 * @author makejava
 * @since 2024-09-14 17:08:48
 */
public interface MpOrderDetailService extends IService<TbOrderDetail> {

    /**
     * 根据orderId和id修改detail状态
     * @param oldOrderStatusEnums 原始订单状态
     * @param orderStatusEnums 状态
     * @param orderId 订单id
     * @param orderDetails detailIds
     * @return 影响数量
     */
    boolean updateStatusByOrderIdAndIds(OrderStatusEnums oldOrderStatusEnums, OrderStatusEnums orderStatusEnums, Integer orderId, List<Integer> orderDetails);

    /**
     * 根据购物车id修改用餐类型
     * @param cartIds 购物车ids
     * @param useType 用餐类型
     * @return 是否成功
     */
    boolean updateUseTypeByCartIds(ArrayList<Integer> cartIds, String useType);

    /**
     * 根据订单id查询订单详情
     * @param orderId 订单id
     * @return 详情信息
     */
    List<TbOrderDetail> selectByOrderId(Integer orderId);

}

