package com.starry.admin.modules.order.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.starry.admin.modules.order.module.entity.PlayOrderComplaintInfoEntity;
import com.starry.admin.modules.order.module.vo.PlayOrderComplaintQueryVo;
import com.starry.admin.modules.order.module.vo.PlayOrderComplaintReturnVo;
import java.util.List;

/**
 * 订单投诉信息Service接口
 *
 * @author admin
 * @since 2024-05-07
 */
public interface IPlayOrderComplaintInfoService extends IService<PlayOrderComplaintInfoEntity> {
    /**
     * 查询订单投诉信息
     *
     * @param id
     *            订单投诉信息主键
     * @return 订单投诉信息
     */
    PlayOrderComplaintInfoEntity selectPlayOrderComplaintInfoById(String id);

    /**
     * 查询顾客对订单的评价内容
     *
     * @param customId
     *            顾客ID
     * @param orderId
     *            订单ID
     * @return boolean true:已评价，false:未评价
     **/
    PlayOrderComplaintInfoEntity queryCustomToOrderOrderComplaintInfo(String customId, String orderId);

    /**
     * 查询订单评价列表
     *
     * @param entity
     *            订单评价对象
     * @return 订单评价列表
     */
    List<PlayOrderComplaintInfoEntity> selectByList(PlayOrderComplaintInfoEntity entity);

    /**
     * 分页查询订单投诉列表
     *
     * @param vo
     *            订单投诉查询对象
     * @return 订单投诉列表
     */

    IPage<PlayOrderComplaintReturnVo> selectByPage(PlayOrderComplaintQueryVo vo);

    /**
     * 查询订单投诉信息列表
     *
     * @param playOrderComplaintInfo
     *            订单投诉信息
     * @return 订单投诉信息集合
     */
    IPage<PlayOrderComplaintInfoEntity> selectPlayOrderComplaintInfoByPage(
            PlayOrderComplaintInfoEntity playOrderComplaintInfo);

    /**
     * 新增订单投诉信息
     *
     * @param playOrderComplaintInfo
     *            订单投诉信息
     * @return 结果
     */
    boolean create(PlayOrderComplaintInfoEntity playOrderComplaintInfo);

    /**
     * 修改订单投诉信息
     *
     * @param playOrderComplaintInfo
     *            订单投诉信息
     * @return 结果
     */
    boolean update(PlayOrderComplaintInfoEntity playOrderComplaintInfo);

    /**
     * 批量删除订单投诉信息
     *
     * @param ids
     *            需要删除的订单投诉信息主键集合
     * @return 结果
     */
    int deletePlayOrderComplaintInfoByIds(String[] ids);

    /**
     * 删除订单投诉信息信息
     *
     * @param id
     *            订单投诉信息主键
     * @return 结果
     */
    int deletePlayOrderComplaintInfoById(String id);
}
