|
@@ -49,9 +49,8 @@ public class MybatisEncryptInterceptor implements Interceptor {
|
|
|
|
|
|
@Override
|
|
|
public Object plugin(Object target) {
|
|
|
- if (target instanceof ParameterHandler) {
|
|
|
+ if (target instanceof ParameterHandler parameterHandler) {
|
|
|
// 进行加密操作
|
|
|
- ParameterHandler parameterHandler = (ParameterHandler) target;
|
|
|
Object parameterObject = parameterHandler.getParameterObject();
|
|
|
if (ObjectUtil.isNotNull(parameterObject) && !(parameterObject instanceof String)) {
|
|
|
this.encryptHandler(parameterObject);
|
|
@@ -65,19 +64,18 @@ public class MybatisEncryptInterceptor implements Interceptor {
|
|
|
*
|
|
|
* @param sourceObject 待加密对象
|
|
|
*/
|
|
|
- @SuppressWarnings("unchecked cast")
|
|
|
private void encryptHandler(Object sourceObject) {
|
|
|
- if (sourceObject instanceof Map) {
|
|
|
- ((Map<?, Object>) sourceObject).values().forEach(this::encryptHandler);
|
|
|
+ if (sourceObject instanceof Map<?, ?> map) {
|
|
|
+ map.values().forEach(this::encryptHandler);
|
|
|
return;
|
|
|
}
|
|
|
- if (sourceObject instanceof List) {
|
|
|
+ if (sourceObject instanceof List<?> list) {
|
|
|
// 判断第一个元素是否含有注解。如果没有直接返回,提高效率
|
|
|
- Object firstItem = ((List<?>) sourceObject).get(0);
|
|
|
+ Object firstItem = list.get(0);
|
|
|
if (CollectionUtil.isEmpty(encryptorManager.getFieldCache(firstItem.getClass()))) {
|
|
|
return;
|
|
|
}
|
|
|
- ((List<?>) sourceObject).forEach(this::encryptHandler);
|
|
|
+ list.forEach(this::encryptHandler);
|
|
|
return;
|
|
|
}
|
|
|
Set<Field> fields = encryptorManager.getFieldCache(sourceObject.getClass());
|