package com.ruoyi.framework.recovery.mapper;

import java.util.Date;
import java.util.List;
import com.ruoyi.framework.recovery.domain.WxCredit;
import org.apache.ibatis.annotations.Param;

/**
 * 积分明细Mapper接口
 *
 * @author jin
 * @date 2024-12-01
 */
public interface WxCreditMapper
{
    /**
     * 查询积分明细
     *
     * @param id 积分明细主键
     * @return 积分明细
     */
    public WxCredit selectWxCreditById(Long id);

    /**
     * 查询积分明细列表
     *
     * @param wxCredit 积分明细
     * @return 积分明细集合
     */
    public List<WxCredit> selectWxCreditList(WxCredit wxCredit);

    /**
     * 新增积分明细
     *
     * @param wxCredit 积分明细
     * @return 结果
     */
    public int insertWxCredit(WxCredit wxCredit);

    /**
     * 修改积分明细
     *
     * @param wxCredit 积分明细
     * @return 结果
     */
    public int updateWxCredit(WxCredit wxCredit);

    /**
     * 删除积分明细
     *
     * @param id 积分明细主键
     * @return 结果
     */
    public int deleteWxCreditById(Long id);

    /**
     * 批量删除积分明细
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWxCreditByIds(Long[] ids);

    /**
     * 添加用户积分领取记录表
     *
     * @param wxOpenid 用户标识
     * @param id 积分id
     * @param date 创建时间
     */
    void insertWxCreditUser(@Param("openId") String wxOpenid, @Param("id") Long id, @Param("date") Date date);

    /**
     * 查询当前登录人积分领取记录
     *
     * @param wxOpenid 登录人表示
     * @param start 开始时间
     * @param end 结束时间
     * @return 结果集
     */
    List<Long> selectWxCreditUser(@Param("openId") String wxOpenid, @Param("start") Date start, @Param("end") Date end);
}
