Skip to content
This repository was archived by the owner on Nov 21, 2020. It is now read-only.

Commit ac2f2c5

Browse files
committed
fix: base controller and base service
1 parent be4fe1d commit ac2f2c5

File tree

4 files changed

+141
-64
lines changed

4 files changed

+141
-64
lines changed
Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,22 @@
11
package org.code4everything.boot.service.impl;
22

3-
import cn.hutool.core.util.StrUtil;
43
import org.code4everything.boot.service.BootBaseService;
5-
import org.code4everything.boot.service.BootUserService;
64
import org.code4everything.boot.web.http.HttpUtils;
7-
import org.code4everything.boot.web.mvc.AssertUtils;
85

96
import javax.annotation.Resource;
107
import javax.servlet.http.HttpServletRequest;
11-
import java.util.Objects;
128

139
/**
10+
* 服务基类
11+
*
1412
* @author pantao
1513
* @since 2019/6/11
1614
**/
17-
public class BaseServiceImpl<U> implements BootBaseService {
15+
public class BaseServiceImpl implements BootBaseService {
1816

1917
@Resource
2018
public HttpServletRequest request;
2119

22-
@Resource
23-
protected BootUserService<U> userService;
24-
2520
/**
2621
* 只能继承
2722
*
@@ -33,13 +28,11 @@ protected BaseServiceImpl() {}
3328
* 创建对象
3429
*
3530
* @param request {@link HttpServletRequest}
36-
* @param userService {@link BootUserService}
3731
*
3832
* @since 1.1.3
3933
*/
40-
public BaseServiceImpl(HttpServletRequest request, BootUserService<U> userService) {
34+
public BaseServiceImpl(HttpServletRequest request) {
4135
this.request = request;
42-
this.userService = userService;
4336
}
4437

4538
@Override
@@ -53,14 +46,12 @@ public String getToken(boolean require) {
5346
}
5447

5548
@Override
56-
public U getUser() {
49+
public Object getUser() {
5750
return getUser(true);
5851
}
5952

6053
@Override
61-
public U getUser(boolean require) {
62-
Objects.requireNonNull(userService, "please set interface 'BootUserService<T>'");
63-
U user = userService.getUserByToken(StrUtil.nullToEmpty(getToken(require)));
64-
return require ? AssertUtils.assertUserLoggedIn(user) : user;
54+
public Object getUser(boolean require) {
55+
throw new RuntimeException("if you want to get user directly, please use class 'BaseSignServiceImpl'");
6556
}
6657
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package org.code4everything.boot.service.impl;
2+
3+
import cn.hutool.core.util.StrUtil;
4+
import org.code4everything.boot.service.BootUserService;
5+
import org.code4everything.boot.web.mvc.AssertUtils;
6+
7+
import javax.annotation.Resource;
8+
import javax.servlet.http.HttpServletRequest;
9+
import java.util.Objects;
10+
11+
/**
12+
* 可获取用户的服务基类
13+
*
14+
* @author pantao
15+
* @since 2019/6/19
16+
**/
17+
public class BaseSignServiceImpl<U> extends BaseServiceImpl {
18+
19+
@Resource
20+
protected BootUserService<U> userService;
21+
22+
/**
23+
* 只能继承
24+
*
25+
* @since 1.1.4
26+
*/
27+
protected BaseSignServiceImpl() {}
28+
29+
/**
30+
* 创建对象
31+
*
32+
* @param request {@link HttpServletRequest}
33+
* @param userService {@link BootUserService}
34+
*
35+
* @since 1.1.3
36+
*/
37+
public BaseSignServiceImpl(HttpServletRequest request, BootUserService<U> userService) {
38+
super(request);
39+
this.userService = userService;
40+
}
41+
42+
@Override
43+
public U getUser(boolean require) {
44+
Objects.requireNonNull(userService, "please set interface 'BootUserService<T>'");
45+
U user = userService.getUserByToken(StrUtil.nullToEmpty(getToken(require)));
46+
return require ? AssertUtils.assertUserLoggedIn(user) : user;
47+
}
48+
49+
@Override
50+
public U getUser() {
51+
return getUser(true);
52+
}
53+
}

src/main/java/org/code4everything/boot/web/mvc/BaseController.java

Lines changed: 2 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
package org.code4everything.boot.web.mvc;
22

33
import cn.hutool.core.collection.CollUtil;
4-
import com.google.common.base.Strings;
54
import org.code4everything.boot.base.constant.MessageConsts;
65
import org.code4everything.boot.config.BootConfig;
7-
import org.code4everything.boot.service.BootUserService;
86
import org.code4everything.boot.web.http.HttpUtils;
97
import org.code4everything.boot.web.mvc.exception.ExceptionBiscuit;
108
import org.springframework.http.HttpEntity;
@@ -23,7 +21,7 @@
2321
* @author pantao
2422
* @since 2018/11/2
2523
**/
26-
public class BaseController<U> {
24+
public class BaseController {
2725

2826
private static final int DEFAULT_ERROR_CODE = BootConfig.DEFAULT_ERROR_CODE;
2927

@@ -32,12 +30,6 @@ public class BaseController<U> {
3230
@Resource
3331
public HttpServletRequest request;
3432

35-
/**
36-
* @since 1.1.2
37-
*/
38-
@Resource
39-
private BootUserService<U> userService;
40-
4133
/**
4234
* 只允许继承
4335
*
@@ -49,13 +41,11 @@ protected BaseController() {}
4941
* 创建对象
5042
*
5143
* @param request {@link HttpServletRequest}
52-
* @param userService {@link BootUserService}
5344
*
5445
* @since 1.1.3
5546
*/
56-
public BaseController(HttpServletRequest request, BootUserService<U> userService) {
47+
public BaseController(HttpServletRequest request) {
5748
this.request = request;
58-
this.userService = userService;
5949
}
6050

6151
/**
@@ -184,42 +174,6 @@ public String getToken(String tokenKey) {
184174
return HttpUtils.getToken(tokenKey, request);
185175
}
186176

187-
/**
188-
* 获取用户
189-
*
190-
* @return 用户
191-
*
192-
* @since 1.0.4
193-
*/
194-
public U getUser() {
195-
return getUser(Strings.nullToEmpty(getToken()));
196-
}
197-
198-
/**
199-
* 获取用户
200-
*
201-
* @param token 令牌
202-
*
203-
* @return 用户
204-
*
205-
* @since 1.1.3
206-
*/
207-
public U getUser(String token) {
208-
Objects.requireNonNull(userService, "please implementation interface 'BootUserService<T>'");
209-
return userService.getUserByToken(token);
210-
}
211-
212-
/**
213-
* 获取用户
214-
*
215-
* @return 用户
216-
*
217-
* @since 1.0.4
218-
*/
219-
public U requireUser() {
220-
return AssertUtils.assertUserLoggedIn(getUser(requireToken()));
221-
}
222-
223177
/**
224178
* 获取Token
225179
*
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
package org.code4everything.boot.web.mvc;
2+
3+
import com.google.common.base.Strings;
4+
import org.code4everything.boot.service.BootUserService;
5+
6+
import javax.annotation.Resource;
7+
import javax.servlet.http.HttpServletRequest;
8+
import java.util.Objects;
9+
10+
/**
11+
* 可获取用户信息的控制器基类
12+
*
13+
* @author pantao
14+
* @since 2019/6/19
15+
**/
16+
public class BaseSignController<U> extends BaseController {
17+
18+
/**
19+
* @since 1.1.4
20+
*/
21+
@Resource
22+
private BootUserService<U> userService;
23+
24+
/**
25+
* 只能继承
26+
*
27+
* @since 1.1.4
28+
*/
29+
protected BaseSignController() {}
30+
31+
/**
32+
* 创建对象
33+
*
34+
* @param request {@link HttpServletRequest}
35+
* @param userService {@link BootUserService}
36+
*
37+
* @since 1.1.4
38+
*/
39+
public BaseSignController(HttpServletRequest request, BootUserService<U> userService) {
40+
super(request);
41+
this.userService = userService;
42+
}
43+
44+
/**
45+
* 获取用户
46+
*
47+
* @param token 令牌
48+
*
49+
* @return 用户
50+
*
51+
* @since 1.1.4
52+
*/
53+
public U getUser(String token) {
54+
Objects.requireNonNull(userService, "please implementation interface 'BootUserService<U>'");
55+
return userService.getUserByToken(token);
56+
}
57+
58+
/**
59+
* 获取用户
60+
*
61+
* @return 用户
62+
*
63+
* @since 1.1.4
64+
*/
65+
public U getUser() {
66+
return getUser(Strings.nullToEmpty(getToken()));
67+
}
68+
69+
/**
70+
* 获取用户
71+
*
72+
* @return 用户
73+
*
74+
* @since 1.1.4
75+
*/
76+
public U requireUser() {
77+
return AssertUtils.assertUserLoggedIn(getUser(requireToken()));
78+
}
79+
}

0 commit comments

Comments
 (0)