1. 系统新增用户标记为外部用户;e 办同步用户标记为系统用户
2. 业务表新增基础业务字段,创建人与更新人名称
(cherry picked from commit 9ee1100b29)
This commit is contained in:
@@ -34,6 +34,12 @@ public class BusinessBaseDO extends BaseDO {
|
||||
* 多租户编号
|
||||
*/
|
||||
private Long tenantId;
|
||||
/** 创建人名称 */
|
||||
@TableField(fill = FieldFill.INSERT, jdbcType = JdbcType.VARCHAR)
|
||||
private String creatorName;
|
||||
/** 更新人名称 */
|
||||
@TableField(fill = FieldFill.INSERT_UPDATE, jdbcType = JdbcType.VARCHAR)
|
||||
private String updaterName;
|
||||
|
||||
@TableField(exist = false)
|
||||
private List<String> inputStrs;
|
||||
@@ -49,6 +55,8 @@ public class BusinessBaseDO extends BaseDO {
|
||||
this.deptId = null;
|
||||
this.deptName = null;
|
||||
this.postId = null;
|
||||
this.creatorName = null;
|
||||
this.updaterName = null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import cn.iocoder.yudao.framework.mybatis.core.annotation.BusinessCode;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BusinessBaseDO;
|
||||
import cn.iocoder.yudao.framework.security.core.LoginUser;
|
||||
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
|
||||
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
|
||||
import jakarta.annotation.Resource;
|
||||
@@ -51,6 +52,7 @@ public class DefaultDBFieldHandler implements MetaObjectHandler {
|
||||
}
|
||||
|
||||
Long userId = WebFrameworkUtils.getLoginUserId();
|
||||
String userNickname = SecurityFrameworkUtils.getLoginUserNickname();
|
||||
// 当前登录用户不为空,创建人为空,则当前登录用户为创建人
|
||||
if (Objects.nonNull(userId) && Objects.isNull(baseDO.getCreator())) {
|
||||
baseDO.setCreator(userId.toString());
|
||||
@@ -65,6 +67,9 @@ public class DefaultDBFieldHandler implements MetaObjectHandler {
|
||||
// 需要在业务层手动设置
|
||||
autoFillDeptInfo(businessBaseDO);
|
||||
|
||||
// 自动填充用户名称字段
|
||||
autoFillUserNames(businessBaseDO);
|
||||
|
||||
// 自动填充带 @BusinessCode 注解的字段序列
|
||||
autoFillBusinessCode(businessBaseDO);
|
||||
}
|
||||
@@ -81,9 +86,32 @@ public class DefaultDBFieldHandler implements MetaObjectHandler {
|
||||
// 当前登录用户不为空,更新人为空,则当前登录用户为更新人
|
||||
Object modifier = getFieldValByName("updater", metaObject);
|
||||
Long userId = WebFrameworkUtils.getLoginUserId();
|
||||
String userNickname = SecurityFrameworkUtils.getLoginUserNickname();
|
||||
if (Objects.nonNull(userId) && Objects.isNull(modifier)) {
|
||||
setFieldValByName("updater", userId.toString(), metaObject);
|
||||
}
|
||||
|
||||
// 对于 BusinessBaseDO,自动填充更新人名称
|
||||
if (Objects.nonNull(metaObject) && metaObject.getOriginalObject() instanceof BusinessBaseDO) {
|
||||
Object updaterNameVal = getFieldValByName("updaterName", metaObject);
|
||||
if (Objects.nonNull(userNickname) && Objects.isNull(updaterNameVal)) {
|
||||
setFieldValByName("updaterName", userNickname, metaObject);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void autoFillUserNames(BusinessBaseDO businessBaseDO) {
|
||||
String userNickname = SecurityFrameworkUtils.getLoginUserNickname();
|
||||
if (Objects.nonNull(userNickname)) {
|
||||
// 创建人名称为空,则填充当前用户昵称
|
||||
if (Objects.isNull(businessBaseDO.getCreatorName())) {
|
||||
businessBaseDO.setCreatorName(userNickname);
|
||||
}
|
||||
// 更新人名称为空,则填充当前用户昵称
|
||||
if (Objects.isNull(businessBaseDO.getUpdaterName())) {
|
||||
businessBaseDO.setUpdaterName(userNickname);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void autoFillBusinessCode(BusinessBaseDO businessBaseDO) {
|
||||
|
||||
Reference in New Issue
Block a user