package com.yeshi.buwan.service.inter; import com.yeshi.buwan.domain.user.LoginUser; import com.yeshi.buwan.domain.user.LoginUserExtra; import com.yeshi.buwan.exception.user.LoginUserException; import com.yeshi.buwan.exception.PPTVException; import org.yeshi.utils.entity.wx.WeiXinUser; public interface LoginUserService { /** * 初始化附加信息 * * @param extra */ public void initExtra(LoginUserExtra extra); /** * 主键查询 * * @param id * @return */ public LoginUser getLoginUser(String id); /** * 根据openId查询 * * @param systemId * @param openid * @return */ public LoginUser getLoginUserByOpenId(String systemId, String openid); /** * 根据邮箱查询 * * @param systemId * @param email * @return */ public LoginUser getLoginUserByEmail(String systemId, String email); /** * 根据QQ openId查询 * * @param systemId * @param openId * @return */ public LoginUser getLoginUserByQQOpenId(String systemId, String openId); /** * 根据微信查询 * * @param systemId * @param unionId * @return */ public LoginUser getLoginUserByWxUnionId(String systemId, String unionId); /** * 根据电话号码查询 * * @param systemId * @param phone * @return */ public LoginUser getLoginUserByPhone(String systemId, String phone); /** * 绑定手机号 * * @param loginUid * @param phone */ public void bindPhone(String loginUid, String phone) throws LoginUserException; /** * 绑定QQ * * @param loginUid * @param openId * @param nickName * @throws LoginUserException */ public void bindQQ(String loginUid, String openId, String nickName, String portrait) throws LoginUserException; /** * 绑定微信 * * @param loginUid * @param info * @throws LoginUserException */ public void bindWX(String loginUid, WeiXinUser info) throws LoginUserException; /** * 获取附加信息 * * @param uid * @return */ public LoginUserExtra getExtra(String uid); /** * 初始化附加信息 * * @param uid */ public LoginUserExtra initExtra(String uid); public LoginUserExtra initPPTVUid(String uid); /** * 根据主键更新 * * @param loginUser */ public void updateSelectiveByPrimaryKey(LoginUser loginUser); /** * 根据主键更新 * * @param extra */ public void updateSelectiveByPrimaryKey(LoginUserExtra extra); /** * 更新PPTV的openId * * @param uid * @return */ public String updatePPTVOpenId(String uid) throws PPTVException; /** * 设置utdid * * @param uid * @param utdId */ public void setUtdId(String uid, String utdId); }