From e66ca828e351f417cf77efb48bbd11864e14e30f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A2=81=E7=90=A6=E6=B6=9B?= Date: Thu, 9 Mar 2023 12:04:07 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90fix=20sonar=E3=80=91MybatisInterceptor?= =?UTF-8?q?=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/mybatis/MybatisInterceptor.java | 116 ++++++++++-------- 1 file changed, 64 insertions(+), 52 deletions(-) diff --git a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/mybatis/MybatisInterceptor.java b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/mybatis/MybatisInterceptor.java index c8d2a645..df4f5d81 100644 --- a/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/mybatis/MybatisInterceptor.java +++ b/jero-boot/jero-boot-base/jero-boot-base-core/src/main/java/com/jero/config/mybatis/MybatisInterceptor.java @@ -42,41 +42,7 @@ public class MybatisInterceptor implements Interceptor { if (SqlCommandType.INSERT == sqlCommandType) { LoginUser sysUser = this.getLoginUser(); Field[] fields = oConvertUtils.getAllFields(parameter); - for (Field field : fields) { - log.debug("------field.name------" + field.getName()); - try { - if ("createBy".equals(field.getName()) && sysUser != null) { - ReflectionUtils.makeAccessible(field); - Object localCreateBy = ReflectionUtils.getField(field,parameter); - if (localCreateBy == null || "".equals(localCreateBy)) { - // 登录人账号 - ReflectionUtils.makeAccessible(field); - ReflectionUtils.setField(field,parameter,sysUser.getUsername()); - } - } - // 注入创建时间 - if ("createTime".equals(field.getName())) { - ReflectionUtils.makeAccessible(field); - Object localCreateDate = ReflectionUtils.getField(field,parameter); - if (localCreateDate == null || "".equals(localCreateDate)) { - ReflectionUtils.makeAccessible(field); - ReflectionUtils.setField(field,parameter,new Date()); - } - } - //注入部门编码 - if ("sysOrgCode".equals(field.getName()) && sysUser != null) { - ReflectionUtils.makeAccessible(field); - Object localSysOrgCode = ReflectionUtils.getField(field,parameter); - if (localSysOrgCode == null || "".equals(localSysOrgCode)) { - // 获取登录用户信息 - ReflectionUtils.makeAccessible(field); - ReflectionUtils.setField(field,parameter,sysUser.getOrgCode()); - } - } - } catch (Exception e) { - log.error("异常", e); - } - } + setInsert(parameter, sysUser, fields); } if (SqlCommandType.UPDATE == sqlCommandType) { LoginUser sysUser = this.getLoginUser(); @@ -102,27 +68,73 @@ public class MybatisInterceptor implements Interceptor { 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); - } - } + setUpdateField(parameter, sysUser, fields); } return invocation.proceed(); } + private void setUpdateField(Object parameter, LoginUser sysUser, Field[] fields) { + 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); + } + } + } + + 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 { + if ("createBy".equals(field.getName()) && sysUser != null) { + ReflectionUtils.makeAccessible(field); + Object localCreateBy = ReflectionUtils.getField(field,parameter); + if (localCreateBy == null || "".equals(localCreateBy)) { + // 登录人账号 + ReflectionUtils.makeAccessible(field); + ReflectionUtils.setField(field,parameter,sysUser.getUsername()); + } + } + // 注入创建时间 + if ("createTime".equals(field.getName())) { + ReflectionUtils.makeAccessible(field); + Object localCreateDate = ReflectionUtils.getField(field,parameter); + if (localCreateDate == null || "".equals(localCreateDate)) { + ReflectionUtils.makeAccessible(field); + ReflectionUtils.setField(field,parameter,new Date()); + } + } + //注入部门编码 + if ("sysOrgCode".equals(field.getName()) && sysUser != null) { + ReflectionUtils.makeAccessible(field); + Object localSysOrgCode = ReflectionUtils.getField(field,parameter); + if (localSysOrgCode == null || "".equals(localSysOrgCode)) { + // 获取登录用户信息 + ReflectionUtils.makeAccessible(field); + ReflectionUtils.setField(field,parameter,sysUser.getOrgCode()); + } + } + } catch (Exception e) { + log.error("异常", e); + } + } + @Override public Object plugin(Object target) { return Plugin.wrap(target, this);