package com.sv.mapper;

import com.sv.entity.MemberAuth;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Mapper - 用户auth表
 *
 * @author lihong
 * @since 2018-08-02
 */
public interface MemberAuthMapper {

    /**
     * 新建用户auth表
     *
     * @param memberAuth 用户auth表
     */
    void insert(MemberAuth memberAuth);

    /**
     * 更新用户auth表
     *
     * @param memberAuth 用户auth表
     */
    void update(MemberAuth memberAuth);

    /**
     * 删除用户auth表
     *
     * @param id 编号
     * @return 删除数量
     */
    int delete(Integer id);

    /**
     * 删除用户auth表
     *
     * @param ids 编号数组
     * @return 删除数量
     */
    int deleteByIds(Integer[] ids);

    /**
     * 查询用户auth表
     *
     * @param id 编号
     * @return 用户auth表
     */
    MemberAuth findById(Integer id);

    /**
     * 查询用户auth表
     *
     * @return 用户auth表集合
     */
    List<MemberAuth> findAll();

    /**
     * 查询登录认证
     * @param mobile
     * @return
     */
    MemberAuth findByMobile(String mobile);

    /**
     * 微信快捷登录判断用户是否注册
     */

    MemberAuth findByAuthId(@Param("openId") String openId);

    /**
     * 查询用户的登录方式
     */

    MemberAuth checkLoginWay(@Param("memberId") Integer memberId,@Param("type") Integer type);

    /**
     * 统计数量
     *
     * @param mobile    手机号码
     * @param excludeId 排除编号
     * @return 数量
     */
    int countByMobile(@Param("mobile") String mobile, @Param("excludeId") Integer excludeId);

    /**
     * api 通话用户Id查找用户auth_id
     */
    MemberAuth findByMemberId(@Param("memberId") Integer memberId);

    /**
     * api 判断用户是否用手机登陆过
     */
    MemberAuth findByType(Integer memberId);

    /**
     * api 修改手机号
     */
    void updateMobile(@Param("mobile") String mobile,@Param("memberId")Integer memberId);
}