admin
2019-11-23 486e22c57ca8a1e2dc6877b539e2f3add67250f1
fanli/src/main/java/com/yeshi/fanli/service/inter/user/UserInfoExtraService.java
@@ -1,6 +1,14 @@
package com.yeshi.fanli.service.inter.user;
import java.util.Date;
import org.apache.ibatis.annotations.Param;
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;
@@ -8,6 +16,7 @@
   /**
    * 获取用户等级一级其他附加信息
    *
    * @param uid
    * @return
    * @throws UserInfoExtraException
@@ -16,6 +25,7 @@
   /**
    * 保存用户额外信息-新增或更新
    *
    * @param userInfoExtra
    * @throws UserInfoExtraException
    */
@@ -23,14 +33,17 @@
   /**
    * 更新用户等级
    * @param uid 用户id
    *
    * @param uid
    *            用户id
    * @return
    * @throws UserInfoExtraException
    */
   public UserInfoExtra updateUserRankByUid(Long uid) throws UserInfoExtraException;
   public void updateUserRankByUid(Long uid) throws UserInfoExtraException;
   /**
    * 根据订单更新
    *
    * @param userInfoExtra
    * @return
    * @throws UserInfoExtraException
@@ -39,6 +52,7 @@
   /**
    * 用户激活邀请码
    *
    * @param uid
    * @param inviteCode
    * @return
@@ -48,17 +62,141 @@
   /**
    * 获取用户附加信息
    *
    * @param uid
    * @return
    */
   public UserInfoExtra getUserInfoExtra(Long uid);
   /**
    * 获取用户邀请码
    * 获取用户邀请码,若没有且存在队员关系 那么自动生成邀请码
    *
    * @param uid
    * @return
    * @throws UserInfoExtraException
    */
   public String getUserInviteCode(Long uid) throws UserInfoExtraException;
   /**
    * 获取用户额外信息全部衍生信息
    *
    * @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 updateInviteCode(String inviteCode, Long uid) throws UserInfoExtraException;
}