【fix sonar】MybatisInterceptor文件

This commit is contained in:
梁琦涛
2023-03-06 15:00:56 +08:00
parent 672a9fd972
commit d28391ce05
@@ -10,6 +10,7 @@ import org.apache.shiro.SecurityUtils;
import com.jero.common.system.vo.LoginUser; import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.oConvertUtils; import com.jero.common.util.oConvertUtils;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.ReflectionUtils;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.Date; import java.util.Date;
@@ -44,51 +45,42 @@ public class MybatisInterceptor implements Interceptor {
for (Field field : fields) { for (Field field : fields) {
log.debug("------field.name------" + field.getName()); log.debug("------field.name------" + field.getName());
try { try {
if ("createBy".equals(field.getName())) { if ("createBy".equals(field.getName()) && sysUser != null) {
field.setAccessible(true); ReflectionUtils.makeAccessible(field);
Object local_createBy = field.get(parameter); Object localCreateBy = ReflectionUtils.getField(field,parameter);
field.setAccessible(false); if (localCreateBy == null || "".equals(localCreateBy)) {
if (local_createBy == null || local_createBy.equals("")) { // 登录人账号
if (sysUser != null) { ReflectionUtils.makeAccessible(field);
// 登录人账号 ReflectionUtils.setField(field,parameter,sysUser.getUsername());
field.setAccessible(true);
field.set(parameter, sysUser.getUsername());
field.setAccessible(false);
}
} }
} }
// 注入创建时间 // 注入创建时间
if ("createTime".equals(field.getName())) { if ("createTime".equals(field.getName())) {
field.setAccessible(true); ReflectionUtils.makeAccessible(field);
Object local_createDate = field.get(parameter); Object localCreateDate = ReflectionUtils.getField(field,parameter);
field.setAccessible(false); if (localCreateDate == null || "".equals(localCreateDate)) {
if (local_createDate == null || local_createDate.equals("")) { ReflectionUtils.makeAccessible(field);
field.setAccessible(true); ReflectionUtils.setField(field,parameter,new Date());
field.set(parameter, new Date());
field.setAccessible(false);
} }
} }
//注入部门编码 //注入部门编码
if ("sysOrgCode".equals(field.getName())) { if ("sysOrgCode".equals(field.getName()) && sysUser != null) {
field.setAccessible(true); ReflectionUtils.makeAccessible(field);
Object local_sysOrgCode = field.get(parameter); Object localSysOrgCode = ReflectionUtils.getField(field,parameter);
field.setAccessible(false); if (localSysOrgCode == null || "".equals(localSysOrgCode)) {
if (local_sysOrgCode == null || local_sysOrgCode.equals("")) {
// 获取登录用户信息 // 获取登录用户信息
if (sysUser != null) { ReflectionUtils.makeAccessible(field);
field.setAccessible(true); ReflectionUtils.setField(field,parameter,sysUser.getOrgCode());
field.set(parameter, sysUser.getOrgCode());
field.setAccessible(false);
}
} }
} }
} catch (Exception e) { } catch (Exception e) {
log.error("异常", e);
} }
} }
} }
if (SqlCommandType.UPDATE == sqlCommandType) { if (SqlCommandType.UPDATE == sqlCommandType) {
LoginUser sysUser = this.getLoginUser(); LoginUser sysUser = this.getLoginUser();
Field[] fields = null; Field[] fields;
if (parameter instanceof ParamMap) { if (parameter instanceof ParamMap) {
ParamMap<?> p = (ParamMap<?>) parameter; ParamMap<?> p = (ParamMap<?>) parameter;
//update-begin-author:scott date:20190729 for:批量更新报错issues/IZA3Q-- //update-begin-author:scott date:20190729 for:批量更新报错issues/IZA3Q--
@@ -113,22 +105,18 @@ public class MybatisInterceptor implements Interceptor {
for (Field field : fields) { for (Field field : fields) {
log.debug("------field.name------" + field.getName()); log.debug("------field.name------" + field.getName());
try { try {
if ("updateBy".equals(field.getName())) { if ("updateBy".equals(field.getName()) && sysUser != null) {
//获取登录用户信息 //获取登录用户信息
if (sysUser != null) { // 登录账号
// 登录账号 ReflectionUtils.makeAccessible(field);
field.setAccessible(true); ReflectionUtils.setField(field,parameter,sysUser.getUsername());
field.set(parameter, sysUser.getUsername());
field.setAccessible(false);
}
} }
if ("updateTime".equals(field.getName())) { if ("updateTime".equals(field.getName())) {
field.setAccessible(true); ReflectionUtils.makeAccessible(field);
field.set(parameter, new Date()); ReflectionUtils.setField(field,parameter,new Date());
field.setAccessible(false);
} }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); log.error("异常", e);
} }
} }
} }
@@ -151,7 +139,6 @@ public class MybatisInterceptor implements Interceptor {
try { try {
sysUser = SecurityUtils.getSubject().getPrincipal() != null ? (LoginUser) SecurityUtils.getSubject().getPrincipal() : null; sysUser = SecurityUtils.getSubject().getPrincipal() != null ? (LoginUser) SecurityUtils.getSubject().getPrincipal() : null;
} catch (Exception e) { } catch (Exception e) {
//e.printStackTrace();
sysUser = null; sysUser = null;
} }
return sysUser; return sysUser;