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 getSharePublishCount(String recoUID);

    /**
     * 获取 推荐人uid 对应的已发布的有效的（未下架） 课程与需求 之和
     * @param recoUID
     * @return int
     */
    int getShareOrderCount(String recoUID);
}
