|
|
@@ -7,6 +7,7 @@ import org.springframework.stereotype.Component;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.Date;
|
|
|
import java.util.Objects;
|
|
|
+import cn.qinys.platform.base.security.utils.CurrentUtils;
|
|
|
|
|
|
/**
|
|
|
* MyBatis-Plus 自动填充处理器:
|
|
|
@@ -18,6 +19,8 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
|
|
|
|
|
|
private static final String CREATED_FIELD = "createdAt";
|
|
|
private static final String UPDATED_FIELD = "updatedAt";
|
|
|
+ private static final String CREATED_BY_FIELD = "createdBy";
|
|
|
+ private static final String UPDATED_BY_FIELD = "updatedBy";
|
|
|
|
|
|
@Override
|
|
|
public void insertFill(MetaObject metaObject) {
|
|
|
@@ -46,6 +49,24 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
|
|
|
this.setFieldValByName(UPDATED_FIELD, System.currentTimeMillis(), metaObject);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ // createdBy / updatedBy (set from current user)
|
|
|
+ String current = CurrentUtils.getCurrentUsername();
|
|
|
+ if (current == null || current.isEmpty()) {
|
|
|
+ current = "system";
|
|
|
+ }
|
|
|
+ if (hasGetter(metaObject, CREATED_BY_FIELD)) {
|
|
|
+ Object createdByVal = getFieldValByName(CREATED_BY_FIELD, metaObject);
|
|
|
+ if (Objects.isNull(createdByVal)) {
|
|
|
+ this.setFieldValByName(CREATED_BY_FIELD, current, metaObject);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (hasGetter(metaObject, UPDATED_BY_FIELD)) {
|
|
|
+ Object updatedByVal = getFieldValByName(UPDATED_BY_FIELD, metaObject);
|
|
|
+ if (Objects.isNull(updatedByVal)) {
|
|
|
+ this.setFieldValByName(UPDATED_BY_FIELD, current, metaObject);
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -60,6 +81,14 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
|
|
|
this.setFieldValByName(UPDATED_FIELD, System.currentTimeMillis(), metaObject);
|
|
|
}
|
|
|
}
|
|
|
+ // updatedBy
|
|
|
+ if (hasGetter(metaObject, UPDATED_BY_FIELD)) {
|
|
|
+ String current = CurrentUtils.getCurrentUsername();
|
|
|
+ if (current == null || current.isEmpty()) {
|
|
|
+ current = "system";
|
|
|
+ }
|
|
|
+ this.setFieldValByName(UPDATED_BY_FIELD, current, metaObject);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
private boolean hasGetter(MetaObject metaObject, String name) {
|