Skip to content
This repository was archived by the owner on Jan 24, 2019. It is now read-only.

Commit 53bb91b

Browse files
committed
optimize base controller
1 parent d0fe7e1 commit 53bb91b

File tree

1 file changed

+27
-13
lines changed

1 file changed

+27
-13
lines changed

src/main/java/com/zhazhapan/util/web/BaseController.java

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import javax.servlet.http.HttpServletRequest;
1010
import java.lang.reflect.Field;
11+
import java.util.List;
1112

1213
/**
1314
* @author pantao
@@ -21,8 +22,6 @@ public class BaseController {
2122

2223
private boolean checkSensitiveData = false;
2324

24-
private String sensitiveDataTip = "******";
25-
2625
public BaseController() {}
2726

2827
public BaseController(boolean checkSensitiveData) {
@@ -69,25 +68,40 @@ protected ResultObject parseResult(String okMsg, String errMsg, boolean isOk) {
6968
return isOk ? new ResultObject(okMsg) : CheckResult.getErrorResult(errMsg);
7069
}
7170

71+
protected <T> ResultObject<List<T>> parseResult(String errMsg, List<T> list) {
72+
if (Checker.isEmpty(list)) {
73+
return CheckResult.getErrorResult(errMsg);
74+
}
75+
if (checkSensitiveData) {
76+
list.forEach(this::setSensitiveData);
77+
}
78+
return new ResultObject<>(list);
79+
}
80+
7281
protected <T> ResultObject<T> parseResult(String okMsg, String errMsg, T t) {
7382
if (Checker.isNull(t)) {
7483
return CheckResult.getErrorResult(errMsg);
7584
}
7685
if (checkSensitiveData) {
77-
Field[] fields = t.getClass().getDeclaredFields();
78-
try {
79-
for (Field field : fields) {
80-
SensitiveData sensitiveData = field.getAnnotation(SensitiveData.class);
81-
if (Checker.isNotNull(sensitiveData) && field.getType() == String.class) {
82-
field.setAccessible(true);
83-
field.set(t, sensitiveDataTip);
84-
}
86+
setSensitiveData(t);
87+
}
88+
return new ResultObject<>(okMsg, t);
89+
}
90+
91+
private <T> void setSensitiveData(T t) {
92+
Field[] fields = t.getClass().getDeclaredFields();
93+
String sensitiveDataTip = "******";
94+
try {
95+
for (Field field : fields) {
96+
SensitiveData sensitiveData = field.getAnnotation(SensitiveData.class);
97+
if (Checker.isNotNull(sensitiveData) && field.getType() == String.class) {
98+
field.setAccessible(true);
99+
field.set(t, sensitiveDataTip);
85100
}
86-
} catch (IllegalAccessException e) {
87-
LoggerUtils.error("set sensitive data error: {}", e.getMessage());
88101
}
102+
} catch (IllegalAccessException e) {
103+
LoggerUtils.error("set sensitive data error: {}", e.getMessage());
89104
}
90-
return new ResultObject<>(okMsg, t);
91105
}
92106

93107
protected <T> ResultObject<T> parseResult(String errMsg, T t) {

0 commit comments

Comments
 (0)