package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.UsageRecord;
import org.apache.ibatis.annotations.Param;

/**
 * 使用记录Mapper接口
 * 
 * @author boman
 * @date 2022-06-13
 */
public interface UsageRecordMapper 
{
    /**
     * 查询使用记录
     * 
     * @param recordId 使用记录主键
     * @return 使用记录
     */
    public UsageRecord selectUsageRecordByRecordId(Long recordId);

    /**
     * 根据使用人id查询列表
     * @param recordId
     * @return
     */
    public List<UsageRecord> selectUsageRecordListByRecordId(Long recordId);

    /**
     * 查询使用记录列表
     * 
     * @param usageRecord 使用记录
     * @return 使用记录集合
     */
    public List<UsageRecord> selectUsageRecordList(UsageRecord usageRecord);

    /**
     * 新增使用记录
     * 
     * @param usageRecord 使用记录
     * @return 结果
     */
    public int insertUsageRecord(UsageRecord usageRecord);

    /**
     * 修改使用记录
     * 
     * @param usageRecord 使用记录
     * @return 结果
     */
    public int updateUsageRecord(UsageRecord usageRecord);

    /**
     * 删除使用记录
     * 
     * @param recordId 使用记录主键
     * @return 结果
     */
    public int deleteUsageRecordByRecordId(Long recordId);

    /**
     * 批量删除使用记录
     * 
     * @param recordIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteUsageRecordByRecordIds(Long[] recordIds);

    /***
     * 查询该用户已在该商家使用次数（按年来查询）
     * @param creditPhone 使用者手机号
     * @param interestsId 权益id
     * @param year 当前年
     * @return
     */
    int selectUsageRecordByRecordNum(@Param("creditPhone")String creditPhone, @Param("interestsId")Long interestsId, @Param("year")String year);
}
