package com.younike.system.service;

import com.younike.common.core.domain.AjaxResult;
import com.younike.system.domain.OrderVerificationRecord;
import com.younike.system.domain.vo.OrderVerificationRecordVO;
import com.younike.system.param.GroupOrderVerifyParam;

import java.util.List;

/**
 * 团购订单核销记录Service接口
 * 
 * @author dail
 * @date 2022-03-14
 */
public interface IOrderVerificationRecordService {
    /**
     * 查询团购订单核销记录
     * 
     * @param orderVerificationRecordId 团购订单核销记录主键
     * @return 团购订单核销记录
     */
    OrderVerificationRecord selectOrderVerificationRecordByOrderVerificationRecordId(Long orderVerificationRecordId);

    /**
     * 查询团购订单核销记录列表
     * 
     * @param orderVerificationRecord 团购订单核销记录
     * @return 团购订单核销记录集合
     */
    List<OrderVerificationRecord> selectOrderVerificationRecordList(OrderVerificationRecord orderVerificationRecord);

    /**
     * 新增团购订单核销记录
     * 
     * @param orderVerificationRecord 团购订单核销记录
     * @return 结果
     */
    int insertOrderVerificationRecord(OrderVerificationRecord orderVerificationRecord);

    /**
     * 修改团购订单核销记录
     * 
     * @param orderVerificationRecord 团购订单核销记录
     * @return 结果
     */
    int updateOrderVerificationRecord(OrderVerificationRecord orderVerificationRecord);

    /**
     * 批量删除团购订单核销记录
     * 
     * @param orderVerificationRecordIds 需要删除的团购订单核销记录主键集合
     * @return 结果
     */
    int deleteOrderVerificationRecordByOrderVerificationRecordIds(Long[] orderVerificationRecordIds);

    /**
     * 删除团购订单核销记录信息
     * 
     * @param orderVerificationRecordId 团购订单核销记录主键
     * @return 结果
     */
    int deleteOrderVerificationRecordByOrderVerificationRecordId(Long orderVerificationRecordId);

    /**
     * 核销团购订单
     *
     * @param orderVerifyParam
     * @return
     */
    AjaxResult handleVerifyGroupOrder(GroupOrderVerifyParam orderVerifyParam);

    /**
     * 查询团购订单核销记录列表
     *
     * @param orderVerificationRecord
     * @return
     */
    List<OrderVerificationRecordVO> selectOrderVerificationRecordVOList(OrderVerificationRecord orderVerificationRecord);
}
