【fix sonar】MybatisInterceptor文件

This commit is contained in:
梁琦涛
2023-03-09 12:04:07 +08:00
parent 9fbaf42ce0
commit e66ca828e3
@@ -42,8 +42,65 @@ public class MybatisInterceptor implements Interceptor {
if (SqlCommandType.INSERT == sqlCommandType) { if (SqlCommandType.INSERT == sqlCommandType) {
LoginUser sysUser = this.getLoginUser(); LoginUser sysUser = this.getLoginUser();
Field[] fields = oConvertUtils.getAllFields(parameter); Field[] fields = oConvertUtils.getAllFields(parameter);
setInsert(parameter, sysUser, fields);
}
if (SqlCommandType.UPDATE == sqlCommandType) {
LoginUser sysUser = this.getLoginUser();
Field[] fields;
if (parameter instanceof ParamMap) {
ParamMap<?> p = (ParamMap<?>) parameter;
//update-begin-author:scott date:20190729 for:批量更新报错issues/IZA3Q--
if (p.containsKey("et")) {
parameter = p.get("et");
} else {
parameter = p.get("param1");
}
//update-end-author:scott date:20190729 for:批量更新报错issues/IZA3Q-
//update-begin-author:scott date:20190729 for:更新指定字段时报错 issues/#516-
if (parameter == null) {
return invocation.proceed();
}
//update-end-author:scott date:20190729 for:更新指定字段时报错 issues/#516-
fields = oConvertUtils.getAllFields(parameter);
} else {
fields = oConvertUtils.getAllFields(parameter);
}
setUpdateField(parameter, sysUser, fields);
}
return invocation.proceed();
}
private void setUpdateField(Object parameter, LoginUser sysUser, Field[] fields) {
for (Field field : fields) { for (Field field : fields) {
log.debug("------field.name------" + field.getName()); log.debug("------field.name------" + field.getName());
try {
if ("updateBy".equals(field.getName()) && sysUser != null) {
//获取登录用户信息
// 登录账号
ReflectionUtils.makeAccessible(field);
ReflectionUtils.setField(field,parameter,sysUser.getUsername());
}
if ("updateTime".equals(field.getName())) {
ReflectionUtils.makeAccessible(field);
ReflectionUtils.setField(field,parameter,new Date());
}
} catch (Exception e) {
log.error("异常", e);
}
}
}
private void setInsert(Object parameter, LoginUser sysUser, Field[] fields) {
for (Field field : fields) {
log.debug("------field.name------" + field.getName());
setInsertField(parameter, sysUser, field);
}
}
private void setInsertField(Object parameter, LoginUser sysUser, Field field) {
try { try {
if ("createBy".equals(field.getName()) && sysUser != null) { if ("createBy".equals(field.getName()) && sysUser != null) {
ReflectionUtils.makeAccessible(field); ReflectionUtils.makeAccessible(field);
@@ -77,51 +134,6 @@ public class MybatisInterceptor implements Interceptor {
log.error("异常", e); log.error("异常", e);
} }
} }
}
if (SqlCommandType.UPDATE == sqlCommandType) {
LoginUser sysUser = this.getLoginUser();
Field[] fields;
if (parameter instanceof ParamMap) {
ParamMap<?> p = (ParamMap<?>) parameter;
//update-begin-author:scott date:20190729 for:批量更新报错issues/IZA3Q--
if (p.containsKey("et")) {
parameter = p.get("et");
} else {
parameter = p.get("param1");
}
//update-end-author:scott date:20190729 for:批量更新报错issues/IZA3Q-
//update-begin-author:scott date:20190729 for:更新指定字段时报错 issues/#516-
if (parameter == null) {
return invocation.proceed();
}
//update-end-author:scott date:20190729 for:更新指定字段时报错 issues/#516-
fields = oConvertUtils.getAllFields(parameter);
} else {
fields = oConvertUtils.getAllFields(parameter);
}
for (Field field : fields) {
log.debug("------field.name------" + field.getName());
try {
if ("updateBy".equals(field.getName()) && sysUser != null) {
//获取登录用户信息
// 登录账号
ReflectionUtils.makeAccessible(field);
ReflectionUtils.setField(field,parameter,sysUser.getUsername());
}
if ("updateTime".equals(field.getName())) {
ReflectionUtils.makeAccessible(field);
ReflectionUtils.setField(field,parameter,new Date());
}
} catch (Exception e) {
log.error("异常", e);
}
}
}
return invocation.proceed();
}
@Override @Override
public Object plugin(Object target) { public Object plugin(Object target) {