package com.xunwang.ucenter.service;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.xunwang.ucenter.entity.MpOpenidUid;
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author Long
 * @since 2022-11-09
 */
public interface MiniProgramOpenidUidService extends IService<MpOpenidUid> {

    /**
     * 获取用户openid，unionid等
     *
     * @param appid
     * @param secret
     * @param code
     * @param grant_type
     * @param recoUID
     * @return
     */
    Map<String, Object> getOpenId(HttpServletRequest request, String appid, String secret, String code, String grant_type, String recoUID) throws Exception;

    /**
     * 修改微信昵称
     * @param uid
     * @param alias
     */
    void editAlias(String uid, String alias, String avatar);

    /**
     * 获取手机号
     * @param uid
     * @param code
     * @return
     * @throws Exception
     */
    String getUserPhone(String uid, String code) throws Exception;

    /**
     * 获取 推荐人uid 注册的数量
     * @param recoUID
     * @return int
     */
    int getShareCount(String recoUID);

    /**
     * 获取 推荐人uid 对应的 认证通过 教员 条数
     * @param recoUID
     * @return int
     */
    int getShareTeacherCount(String recoUID);

    /**
     * 获取 推荐人uid  有效学员 订单条数
     * @param recoUID
     * @return int
     */
    int getShareOrderCount(String recoUID);

    /**
     * TODO
     *
     * @Description
     * @Author Paul  Email:8203193@qq.com
     * @Version 1.0
     * @Date 2023/6/12 15:49
     *
     */
    void updateOwnQRcodeUrl(String uid,String qrurl);

    /**
     * TODO
     *
     * @Description
     * @Author Paul  Email:8203193@qq.com
     * @Version 1.0
     * @Date 2023/6/12 15:49
     *
     */
    String getOwnQRcodeUrl(String uid);

}
