package com.ruoyi.hezhi.mapper;

import com.ruoyi.hezhi.domain.TbSmsCode;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 短信验证码Mapper接口
 *
 * @author ruoyi
 * @date 2024-11-06
 */
public interface TbSmsCodeMapper
{
    /**
     * 查询短信验证码
     *
     * @param smsCodeId 短信验证码主键
     * @return 短信验证码
     */
    public TbSmsCode selectTbSmsCodeBySmsCodeId(Long smsCodeId);

    /**
     * 查询短信验证码列表
     *
     * @param tbSmsCode 短信验证码
     * @return 短信验证码集合
     */
    public List<TbSmsCode> selectTbSmsCodeList(TbSmsCode tbSmsCode);

    /**
     * 新增短信验证码
     *
     * @param tbSmsCode 短信验证码
     * @return 结果
     */
    public int insertTbSmsCode(TbSmsCode tbSmsCode);

    /**
     * 修改短信验证码
     *
     * @param tbSmsCode 短信验证码
     * @return 结果
     */
    public int updateTbSmsCode(TbSmsCode tbSmsCode);

    /**
     * 删除短信验证码
     *
     * @param smsCodeId 短信验证码主键
     * @return 结果
     */
    public int deleteTbSmsCodeBySmsCodeId(Long smsCodeId);

    /**
     * 批量删除短信验证码
     *
     * @param smsCodeIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbSmsCodeBySmsCodeIds(Long[] smsCodeIds);

    /**
     * 校验验证码
     * @param phone 手机号
     * @param smsCode 验证码
     * @param type 类型（0-默认，1-手机号登录，2-修改个人资料，3-考试报名）
     * @return 结果
     */
    public TbSmsCode checkSmsCode(@Param("phone") String phone, @Param("smsCode")  String smsCode, @Param("type") Integer type);
}
