|
@@ -11,6 +11,7 @@ import org.dromara.common.mybatis.core.domain.BaseAllPo;
|
|
|
import org.dromara.common.mybatis.core.domain.BaseCreatePo;
|
|
|
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
|
|
import org.dromara.common.mybatis.core.domain.BaseTimePo;
|
|
|
+import org.dromara.common.mybatis.helper.MetaObjectHelp;
|
|
|
import org.dromara.common.satoken.utils.LoginHelper;
|
|
|
|
|
|
import java.util.Date;
|
|
@@ -26,44 +27,61 @@ public class InjectionMetaObjectHandler implements MetaObjectHandler {
|
|
|
|
|
|
@Override
|
|
|
public void insertFill(MetaObject metaObject) {
|
|
|
+ if (ObjectUtil.isNull(metaObject)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ Object originalObject = metaObject.getOriginalObject();
|
|
|
try {
|
|
|
- if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof BaseEntity baseEntity) {
|
|
|
- Date current = ObjectUtil.isNotNull(baseEntity.getCreateTime())
|
|
|
- ? baseEntity.getCreateTime() : new Date();
|
|
|
- baseEntity.setCreateTime(current);
|
|
|
- baseEntity.setUpdateTime(current);
|
|
|
+ if (originalObject instanceof BaseEntity po) {
|
|
|
+ Date current = ObjectUtil.defaultIfNull(po.getCreateTime(), new Date());
|
|
|
+ po.setCreateTime(current);
|
|
|
+ po.setUpdateTime(current);
|
|
|
+
|
|
|
LoginUser loginUser = getLoginUser();
|
|
|
- if (ObjectUtil.isNotNull(loginUser)) {
|
|
|
- Long userId = ObjectUtil.isNotNull(baseEntity.getCreateBy())
|
|
|
- ? baseEntity.getCreateBy() : loginUser.getUserId();
|
|
|
- // 当前已登录 且 创建人为空 则填充
|
|
|
- baseEntity.setCreateBy(userId);
|
|
|
- // 当前已登录 且 更新人为空 则填充
|
|
|
- baseEntity.setUpdateBy(userId);
|
|
|
- baseEntity.setCreateDept(ObjectUtil.isNotNull(baseEntity.getCreateDept())
|
|
|
- ? baseEntity.getCreateDept() : loginUser.getDeptId());
|
|
|
+ if (ObjectUtil.isNull(loginUser)) {
|
|
|
+ return;
|
|
|
}
|
|
|
- } else if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof BaseAllPo po) {
|
|
|
- Date current = new Date();
|
|
|
+
|
|
|
+ Long userId = ObjectUtil.defaultIfNull(po.getCreateBy(), loginUser.getUserId());
|
|
|
+ Long deptId = ObjectUtil.defaultIfNull(po.getCreateDept(), loginUser.getDeptId());
|
|
|
+
|
|
|
+ // 当前已登录 且 创建人为空 则填充
|
|
|
+ po.setCreateBy(userId);
|
|
|
+ // 当前已登录 且 更新人为空 则填充
|
|
|
+ po.setUpdateBy(userId);
|
|
|
+ // 当前已登录 且 部门为空 则填充
|
|
|
+ po.setCreateDept(deptId);
|
|
|
+
|
|
|
+ } else if (originalObject instanceof BaseAllPo po) {
|
|
|
+ Date current = ObjectUtil.defaultIfNull(MetaObjectHelp.getTime(), ObjectUtil.defaultIfNull(po.getCreateTime(), new Date()));
|
|
|
po.setCreateTime(current);
|
|
|
po.setUpdateTime(current);
|
|
|
|
|
|
LoginUser loginUser = getLoginUser();
|
|
|
- if (ObjectUtil.isNotNull(loginUser)) {
|
|
|
- Long userId = loginUser.getUserId();
|
|
|
- po.setCreateBy(userId);
|
|
|
- po.setUpdateBy(userId);
|
|
|
+ if (ObjectUtil.isNull(loginUser)) {
|
|
|
+ return;
|
|
|
}
|
|
|
- } else if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof BaseCreatePo po) {
|
|
|
- Date current = new Date();
|
|
|
+
|
|
|
+ Long userId = ObjectUtil.defaultIfNull(MetaObjectHelp.getUserId(), ObjectUtil.defaultIfNull(po.getCreateBy(), loginUser.getUserId()));
|
|
|
+ po.setCreateBy(userId);
|
|
|
+ po.setUpdateBy(userId);
|
|
|
+
|
|
|
+ } else if (originalObject instanceof BaseCreatePo po) {
|
|
|
+ Date current = ObjectUtil.defaultIfNull(MetaObjectHelp.getTime(), ObjectUtil.defaultIfNull(po.getCreateTime(), new Date()));
|
|
|
po.setCreateTime(current);
|
|
|
|
|
|
LoginUser loginUser = getLoginUser();
|
|
|
- if (ObjectUtil.isNotNull(loginUser)) {
|
|
|
- po.setCreateBy(loginUser.getUserId());
|
|
|
+ if (ObjectUtil.isNull(loginUser)) {
|
|
|
+ return;
|
|
|
}
|
|
|
- } else if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof BaseTimePo po) {
|
|
|
- po.setCreateTime(new Date());
|
|
|
+
|
|
|
+ Long userId = ObjectUtil.defaultIfNull(MetaObjectHelp.getUserId(), ObjectUtil.defaultIfNull(po.getCreateBy(), loginUser.getUserId()));
|
|
|
+ po.setCreateBy(userId);
|
|
|
+
|
|
|
+ } else if (originalObject instanceof BaseTimePo po) {
|
|
|
+ Date current = ObjectUtil.defaultIfNull(MetaObjectHelp.getTime(), ObjectUtil.defaultIfNull(po.getCreateTime(), new Date()));
|
|
|
+ po.setCreateTime(current);
|
|
|
}
|
|
|
|
|
|
} catch (Exception e) {
|
|
@@ -75,25 +93,23 @@ public class InjectionMetaObjectHandler implements MetaObjectHandler {
|
|
|
public void updateFill(MetaObject metaObject) {
|
|
|
try {
|
|
|
if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof BaseEntity baseEntity) {
|
|
|
- Date current = new Date();
|
|
|
// 更新时间填充(不管为不为空)
|
|
|
- baseEntity.setUpdateTime(current);
|
|
|
- LoginUser loginUser = getLoginUser();
|
|
|
+ baseEntity.setUpdateTime(ObjectUtil.defaultIfNull(MetaObjectHelp.getTime(), new Date()));
|
|
|
+
|
|
|
// 当前已登录 更新人填充(不管为不为空)
|
|
|
+ LoginUser loginUser = getLoginUser();
|
|
|
if (ObjectUtil.isNotNull(loginUser)) {
|
|
|
- baseEntity.setUpdateBy(loginUser.getUserId());
|
|
|
+ baseEntity.setUpdateBy(ObjectUtil.defaultIfNull(MetaObjectHelp.getUserId(), loginUser.getUserId()));
|
|
|
}
|
|
|
} else if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof BaseAllPo baseEntity) {
|
|
|
- Date current = new Date();
|
|
|
- baseEntity.setUpdateTime(current);
|
|
|
+ baseEntity.setUpdateTime(ObjectUtil.defaultIfNull(MetaObjectHelp.getTime(), new Date()));
|
|
|
|
|
|
LoginUser loginUser = getLoginUser();
|
|
|
if (ObjectUtil.isNotNull(loginUser)) {
|
|
|
- Long userId = loginUser.getUserId();
|
|
|
- baseEntity.setUpdateBy(userId);
|
|
|
+ baseEntity.setUpdateBy(ObjectUtil.defaultIfNull(MetaObjectHelp.getUserId(), loginUser.getUserId()));
|
|
|
}
|
|
|
} else if (ObjectUtil.isNotNull(metaObject) && metaObject.getOriginalObject() instanceof BaseTimePo po) {
|
|
|
- po.setUpdateTime(new Date());
|
|
|
+ po.setUpdateTime(ObjectUtil.defaultIfNull(MetaObjectHelp.getTime(), new Date()));
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
throw new ServiceException("自动注入异常 => " + e.getMessage(), HttpStatus.HTTP_UNAUTHORIZED);
|