12
12
import org .springframework .stereotype .Service ;
13
13
import org .springframework .ui .Model ;
14
14
import org .springframework .util .DigestUtils ;
15
+ import org .springframework .util .StringUtils ;
15
16
import tk .mybatis .mapper .entity .Example ;
16
17
17
18
import javax .servlet .http .Cookie ;
@@ -37,6 +38,7 @@ public class UserServiceImpl implements UserService {
37
38
RegisterValidateServiceImpl registerValidateService ;
38
39
@ Autowired
39
40
RedisTemplate redisTemplate ;
41
+
40
42
@ Override
41
43
public User getUser (User user ) {
42
44
return userMapper .selectOne (user );
@@ -45,7 +47,7 @@ public User getUser(User user) {
45
47
@ Override
46
48
public boolean addUser (User user ) {
47
49
if (userMapper .insert (user ) > 0 ) {
48
- logger .info ("有新的用户啦!--" + user .getUsername ());
50
+ logger .info ("有新的用户啦!--" + user .getUsername ());
49
51
return true ;
50
52
}
51
53
return false ;
@@ -83,13 +85,13 @@ public boolean yzUser(User user, HttpServletRequest request, HttpServletResponse
83
85
user1 .setUsername (user .getUsername ());
84
86
User user2 = getUser (user1 );
85
87
if (user2 != null ) {
86
- if (DigestUtils .md5DigestAsHex ((user .getUsername ()+ user .getPassword ()).getBytes ()).equals (user2 .getPassword ())) {
88
+ if (DigestUtils .md5DigestAsHex ((user .getUsername () + user .getPassword ()).getBytes ()).equals (user2 .getPassword ())) {
87
89
HttpSession sessoin = request .getSession ();
88
90
sessoin .setMaxInactiveInterval (60 * 60 * 24 );
89
91
user2 .setPassword ("password" );
90
92
sessoin .setAttribute ("user" , user2 );
91
93
Cookie cookie = new Cookie ("JSESSIONID" , sessoin .getId ());
92
- cookie .setMaxAge (60 * 60 * 24 * 7 );
94
+ cookie .setMaxAge (60 * 60 * 24 * 7 );
93
95
response .addCookie (cookie );
94
96
return true ;
95
97
}
@@ -106,7 +108,7 @@ public void reg(User user, Model model, String yzm) {
106
108
return ;
107
109
}
108
110
109
- if (!Pattern .matches ("^[\u4e00 -\u9fa5 _a-zA-Z0-9]+$" ,user .getUsername ())){
111
+ if (!Pattern .matches ("^[\u4e00 -\u9fa5 _a-zA-Z0-9]+$" , user .getUsername ())) {
110
112
model .addAttribute ("message" , "用户名不能有符号" );
111
113
return ;
112
114
}
@@ -122,7 +124,7 @@ public void reg(User user, Model model, String yzm) {
122
124
return ;
123
125
}
124
126
if (user1 == null ) {
125
- user .setPassword (DigestUtils .md5DigestAsHex ((user .getUsername ()+ user .getPassword ()).getBytes ()));
127
+ user .setPassword (DigestUtils .md5DigestAsHex ((user .getUsername () + user .getPassword ()).getBytes ()));
126
128
user .setUserType (1 );
127
129
user .setHeadurl ("http://gravatar.com/avatar/" + user .getUsername () + "?s=256&d=identicon" );
128
130
if (addUser (user )) {
@@ -159,7 +161,7 @@ public String regapp(User user, String yzm) {
159
161
return JSON .toJSONString (map );
160
162
}
161
163
if (user1 == null ) {
162
- user .setPassword (DigestUtils .md5DigestAsHex ((user .getUsername ()+ user .getPassword ()).getBytes ()));
164
+ user .setPassword (DigestUtils .md5DigestAsHex ((user .getUsername () + user .getPassword ()).getBytes ()));
163
165
user .setUserType (1 );
164
166
user .setHeadurl ("http://gravatar.com/avatar/" + user .getUsername () + "?s=256&d=identicon" );
165
167
if (addUser (user )) {
@@ -179,29 +181,29 @@ public String regapp(User user, String yzm) {
179
181
180
182
@ Override
181
183
public Token createToken (String username ) {
182
- String tokenid = UUID .randomUUID ().toString ().replace ("-" , "" );
183
- Token token = new Token (username ,tokenid );
184
- redisTemplate .opsForValue ().set (Token .TOKEN + username ,token ,7 , TimeUnit .DAYS );
184
+ String tokenid = UUID .randomUUID ().toString ().replace ("-" , "" );
185
+ Token token = new Token (username , tokenid );
186
+ redisTemplate .opsForValue ().set (Token .TOKEN + username , token , 7 , TimeUnit .DAYS );
185
187
return token ;
186
188
}
187
189
188
190
@ Override
189
191
public boolean checkToken (Token token ) {
190
- if (token == null || token .getUsername ()== null || token .getToken ()== null || token .getUsername ().length ()< 1 | token .getToken ().length ()< 1 ) {
192
+ if (token == null || token .getUsername () == null || token .getToken () == null || token .getUsername ().length () < 1 | token .getToken ().length () < 1 ) {
191
193
return false ;
192
194
}
193
- Token rtoken = (Token ) redisTemplate .opsForValue ().get (Token .TOKEN + token .getUsername ());
194
- if (rtoken != null && rtoken .getToken ().equals (token .getToken ())){
195
+ Token rtoken = (Token ) redisTemplate .opsForValue ().get (Token .TOKEN + token .getUsername ());
196
+ if (rtoken != null && rtoken .getToken ().equals (token .getToken ())) {
195
197
// 如果验证成功,说明此用户进行了一次有效操作,延长 token 的过期时间
196
- redisTemplate .expire (Token .TOKEN + token .getUsername (),7 , TimeUnit .DAYS );
198
+ redisTemplate .expire (Token .TOKEN + token .getUsername (), 7 , TimeUnit .DAYS );
197
199
return true ;
198
200
}
199
201
return false ;
200
202
}
201
203
202
204
@ Override
203
205
public void deleteToken (String username ) {
204
- redisTemplate .delete (Token .TOKEN + username );
206
+ redisTemplate .delete (Token .TOKEN + username );
205
207
}
206
208
207
209
@ Override
@@ -211,10 +213,40 @@ public Token login(User user) {
211
213
user1 .setUsername (user .getUsername ());
212
214
User user2 = getUser (user1 );
213
215
if (user2 != null ) {
214
- if (DigestUtils .md5DigestAsHex ((user .getUsername ()+user .getPassword ()).getBytes ()).equals (user2 .getPassword ())) {
215
- return createToken (user .getUsername ()); }
216
+ if (DigestUtils .md5DigestAsHex ((user .getUsername () + user .getPassword ()).getBytes ()).equals (user2 .getPassword ())) {
217
+ return createToken (user .getUsername ());
218
+ }
216
219
}
217
220
}
218
221
return null ;
219
222
}
223
+
224
+ @ Override
225
+ public String forgetPass (User user , String yzm ) {
226
+ if (StringUtils .isEmpty (yzm )) {
227
+ return "验证码不能为空" ;
228
+ }
229
+ if (user != null ) {
230
+ String str = registerValidateService .getVerificationCode (user .getEmail ());
231
+ if (str != null && str .equals (yzm )) {
232
+ registerValidateService .deleteVerificationCode (user .getEmail ());
233
+ User user2 = new User ();
234
+ user2 .setUsername (user .getUsername ());
235
+ User user1 = getUser (user2 );
236
+ if (!user1 .getEmail ().equals (user .getEmail ())) {
237
+ return "用户名和邮箱不匹配" ;
238
+ }
239
+ user1 .setPassword (DigestUtils .md5DigestAsHex ((user .getUsername () + user .getPassword ()).getBytes ()));
240
+ if (userMapper .updateByPrimaryKey (user1 ) == 1 ) {
241
+ //退出登录
242
+ deleteToken (user1 .getUsername ());
243
+ return "修改成功" ;
244
+ }
245
+
246
+ } else {
247
+ return "验证码有误" ;
248
+ }
249
+ }
250
+ return "请求数据有误,请检查" ;
251
+ }
220
252
}
0 commit comments