package com.xingxi.business.Order.service;

import com.xingxi.business.Order.domain.OrderDeliveryExpr;

import java.util.List;

/**
 * 订单商品快递明细Service接口
 *
 * @author xingxi
 * @date 2025-03-06
 */
public interface IOrderDeliveryExprService {
    /**
     * 查询订单商品快递明细
     *
     * @param id 订单商品快递明细主键
     * @return 订单商品快递明细
     */
    OrderDeliveryExpr selectOrderDeliveryExprById(Long id);

    /**
     * 查询订单商品快递明细列表
     *
     * @param OrderDeliveryExpr 订单商品快递明细
     * @return 订单商品快递明细集合
     */
    List<OrderDeliveryExpr> selectOrderDeliveryExprList(OrderDeliveryExpr OrderDeliveryExpr);

    /**
     * 新增订单商品快递明细
     *
     * @param OrderDeliveryExpr 订单商品快递明细
     * @return 结果
     */
    int insertOrderDeliveryExpr(OrderDeliveryExpr OrderDeliveryExpr);

    /**
     * 新增订单商品快递明细
     *
     * @param OrderDeliveryExprList 订单商品快递明细
     * @return 结果
     */
    int batchInsertOrderDeliveryExpr(List<OrderDeliveryExpr> OrderDeliveryExprList);

    /**
     * 修改订单商品快递明细
     *
     * @param OrderDeliveryExpr 订单商品快递明细
     * @return 结果
     */
    int updateOrderDeliveryExpr(OrderDeliveryExpr OrderDeliveryExpr);

    /**
     * 批量删除订单商品快递明细
     *
     * @param ids 需要删除的订单商品快递明细主键集合
     * @return 结果
     */
    int deleteOrderDeliveryExprByIds(String ids);

    /**
     * 删除订单商品快递明细信息
     *
     * @param id 订单商品快递明细主键
     * @return 结果
     */
    int deleteOrderDeliveryExprById(Long id);

    /**
     * 逻辑删除订单商品快递明细
     *
     * @param id 订单商品快递明细主键
     * @return 结果
     */
    int logicDeleteOrderDeliveryExprById(Long id);

    /**
     * 逻辑批量删除订单商品快递明细
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int logicDeleteOrderDeliveryExprByIds(String[] ids);

    /**
     * 逻辑批量删除订单商品快递明细
     *
     * @param OrderDeliveryExpr 订单商品快递明细
     * @return 结果
     */
    int logicDeleteOrderDeliveryExprByCondition(OrderDeliveryExpr OrderDeliveryExpr);
}
