package com.yeshi.fanli.service.inter.user;
|
|
import java.util.Date;
|
|
import org.apache.ibatis.annotations.Param;
|
import org.springframework.web.multipart.MultipartFile;
|
|
import com.yeshi.fanli.dto.user.UserInviteLevelEnum;
|
import com.yeshi.fanli.dto.wx.WXAccountInfoDTO;
|
import com.yeshi.fanli.entity.bus.user.UserInfo;
|
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
|
import com.yeshi.fanli.entity.bus.user.UserRank;
|
import com.yeshi.fanli.entity.bus.user.WeiXinUser;
|
import com.yeshi.fanli.exception.user.UserInfoExtraException;
|
import com.yeshi.fanli.vo.user.UserInfoExtraVO;
|
|
public interface UserInfoExtraService {
|
|
/**
|
* 获取用户等级一级其他附加信息
|
*
|
* @param uid
|
* @return
|
* @throws UserInfoExtraException
|
*/
|
public UserInfoExtraVO getRankInfo(Long uid) throws UserInfoExtraException, Exception;
|
|
/**
|
* 保存用户额外信息-新增或更新
|
*
|
* @param userInfoExtra
|
* @throws UserInfoExtraException
|
*/
|
public UserInfoExtra saveUserInfoExtra(UserInfoExtra userInfoExtra) throws UserInfoExtraException;
|
|
/**
|
* 更新用户等级
|
*
|
* @param uid
|
* 用户id
|
* @return
|
* @throws UserInfoExtraException
|
*/
|
public void updateUserRankByUid(Long uid) throws UserInfoExtraException;
|
|
|
/**
|
* 用户激活邀请码
|
*
|
* @param uid
|
* @param inviteCode
|
* @return
|
* @throws UserInfoExtraException
|
*/
|
public String activateInviteCode(Long uid, String inviteCode) throws UserInfoExtraException;
|
|
/**
|
* 获取用户附加信息
|
*
|
* @param uid
|
* @return
|
*/
|
public UserInfoExtra getUserInfoExtra(Long uid);
|
|
/**
|
* 获取用户邀请码,若没有且存在队员关系 那么自动生成邀请码
|
*
|
* @param uid
|
* @return
|
* @throws UserInfoExtraException
|
*/
|
public String getInviteCodeByUid(Long uid);
|
|
/**
|
* 获取用户额外信息全部衍生信息
|
*
|
* @param uid
|
* @return
|
*/
|
public UserInfoExtraVO getInfoExtraVOByUid(Long uid);
|
|
/**
|
* 统计各个等级用户数
|
*/
|
public long countByRankId(Long rankId);
|
|
/**
|
* 微信邀请激活上级关系 1.5.3
|
*
|
* @param uid
|
* @param code
|
* @throws UserInfoExtraException
|
*/
|
public void activationInviteWX(WXAccountInfoDTO wxAccount, Long uid, String code) throws UserInfoExtraException;
|
|
/**
|
* 判断是否是新用户
|
*
|
* @param uid
|
* @return
|
*/
|
public boolean isNewUser(Long uid);
|
|
/**
|
* 创建额外信息
|
*
|
* @param uid
|
* @throws UserInfoExtraException
|
*/
|
public void createUserInfoExtra(Long uid) throws UserInfoExtraException;
|
|
/**
|
* 获取用户等级
|
*
|
* @param uid
|
* @return
|
*/
|
public UserRank gerUserRank(Long uid);
|
|
/**
|
* 根据邀请码查询用户
|
*
|
* @param inviteCode
|
* @return
|
* @throws UserInfoExtraException
|
*/
|
public UserInfo getUserByInviteCode(String inviteCode) throws UserInfoExtraException;
|
|
/**
|
* 获取邀请人关系信息
|
*
|
* @param uid
|
* @param code
|
* @return
|
* @throws UserInfoExtraException
|
*/
|
public UserInfo getInviterInfo(Long uid, String wxUnionId) throws UserInfoExtraException;
|
|
/**
|
* 更新信息 + 加锁
|
*
|
* @param uid
|
* @return
|
*/
|
public UserInfoExtra getByUidForUpdate(Long uid);
|
|
/**
|
* 更新用户金币
|
*
|
* @param id
|
* @param goldCoin
|
* @return
|
*/
|
public void updateGoldCoin(Long id, Integer goldCoin);
|
|
/**
|
* 新版邀请激活
|
*
|
* @param uid
|
* @param weiXinUser
|
* @throws UserInfoExtraException
|
*/
|
public void activeInviteWX(Long uid, WeiXinUser weiXinUser) throws UserInfoExtraException;
|
|
/**
|
* 根据用户id更新信息
|
*
|
* @param userInfoExtra
|
*/
|
public void updateActiveTime(Long uid, Date date);
|
|
/**
|
* 开启自动提现: 更新超过期限的
|
*
|
* @param days
|
*/
|
public void updateAutoExtract(@Param("days") Integer days);
|
|
/**
|
* 返回用户所有相关额外信息
|
*
|
* @param uid
|
* @return
|
*/
|
public UserInfoExtra getUserALLInfo(Long uid);
|
|
/**
|
* 修改邀请码
|
*
|
* @param inviteCode
|
* @param uid
|
* @throws UserInfoExtraException
|
*/
|
public void updateInviteCodeVip(String inviteCode, Long uid) throws UserInfoExtraException;
|
|
|
public void updateByPrimaryKeySelective(UserInfoExtra record);
|
|
|
/**
|
* 更新金币
|
* @param uid
|
* @param goldCoin
|
*/
|
public void addGoldCoinByUid(Long uid, Integer goldCoin);
|
|
|
/**
|
* 上传二维码
|
* @param file
|
* @param uid
|
*/
|
public void uploadERCode(MultipartFile file, Long uid);
|
|
}
|