admin
2020-05-20 98b1a0affd69bbe63223c21fdd2c404e8bedfccb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
package com.yeshi.fanli.service.inter.user;
 
import java.util.Date;
 
import org.springframework.web.multipart.MultipartFile;
 
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 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);
    
}