package com.ruoyi.system.service.impl;

import java.util.List;

import com.ruoyi.system.domain.dto.OrderInfoDto;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.OrderInfoMapper;
import com.ruoyi.system.domain.OrderInfo;
import com.ruoyi.system.service.IOrderInfoService;

/**
 * 订单信息，若一个订单存在购买多个资源位，则添加多条数据Service业务层处理
 * 
 * @author haotian
 * @date 2024-12-17
 */
@Service
public class OrderInfoServiceImpl implements IOrderInfoService 
{
    @Autowired
    private OrderInfoMapper orderInfoMapper;

    /**
     * 查询订单信息，若一个订单存在购买多个资源位，则添加多条数据
     * 
     * @param orderInfoId 订单信息，若一个订单存在购买多个资源位，则添加多条数据主键
     * @return 订单信息，若一个订单存在购买多个资源位，则添加多条数据
     */
    @Override
    public OrderInfo selectOrderInfoByOrderInfoId(String orderInfoId)
    {
        return orderInfoMapper.selectOrderInfoByOrderInfoId(orderInfoId);
    }

    /**
     * 查询订单信息，若一个订单存在购买多个资源位，则添加多条数据列表
     * 
     * @param orderInfo 订单信息，若一个订单存在购买多个资源位，则添加多条数据
     * @return 订单信息，若一个订单存在购买多个资源位，则添加多条数据
     */
    @Override
    public List<OrderInfo> selectOrderInfoList(OrderInfo orderInfo)
    {
        return orderInfoMapper.selectOrderInfoList(orderInfo);
    }

    /**
     * 新增订单信息，若一个订单存在购买多个资源位，则添加多条数据
     * 
     * @param orderInfo 订单信息，若一个订单存在购买多个资源位，则添加多条数据
     * @return 结果
     */
    @Override
    public int insertOrderInfo(OrderInfo orderInfo)
    {
        return orderInfoMapper.insertOrderInfo(orderInfo);
    }

    /**
     * 修改订单信息，若一个订单存在购买多个资源位，则添加多条数据
     * 
     * @param orderInfo 订单信息，若一个订单存在购买多个资源位，则添加多条数据
     * @return 结果
     */
    @Override
    public int updateOrderInfo(OrderInfo orderInfo)
    {
        return orderInfoMapper.updateOrderInfo(orderInfo);
    }

    /**
     * 批量删除订单信息，若一个订单存在购买多个资源位，则添加多条数据
     * 
     * @param orderInfoIds 需要删除的订单信息，若一个订单存在购买多个资源位，则添加多条数据主键
     * @return 结果
     */
    @Override
    public int deleteOrderInfoByOrderInfoIds(Long[] orderInfoIds)
    {
        return orderInfoMapper.deleteOrderInfoByOrderInfoIds(orderInfoIds);
    }

    /**
     * 删除订单信息，若一个订单存在购买多个资源位，则添加多条数据信息
     * 
     * @param orderInfoId 订单信息，若一个订单存在购买多个资源位，则添加多条数据主键
     * @return 结果
     */
    @Override
    public int deleteOrderInfoByOrderInfoId(Long orderInfoId)
    {
        return orderInfoMapper.deleteOrderInfoByOrderInfoId(orderInfoId);
    }

    @Override
    public List<OrderInfoDto> getOrderInfoDtoList(String orderInfoId){
        return orderInfoMapper.getOrderInfoDtoList(orderInfoId);
    }

    @Override
    public OrderInfoDto getOrderInfoDto(Long id){
        return orderInfoMapper.getOrderInfoDto(id);
    }

    /**
     * 根据orderInfoId返回orderInfo
     * */
    @Override
    public List<Long> getOrderInfoByOrderInfoId(String orderInfoId){
        return orderInfoMapper.getOrderInfoByOrderInfoId(orderInfoId);
    }
}
