package org.springblade.common.tool;
|
|
import org.springblade.core.mp.base.BaseEntity;
|
import org.springblade.core.secure.BladeUser;
|
import org.springblade.core.secure.utils.AuthUtil;
|
import org.springblade.core.tenant.mp.TenantEntity;
|
import org.springblade.core.tool.utils.*;
|
|
import java.lang.reflect.Field;
|
import java.lang.reflect.InvocationTargetException;
|
import java.lang.reflect.Method;
|
import java.util.Date;
|
|
/**
|
* @ClassName EnhancementServicesTool
|
* @Description TODO 给框架重写save方法导致没有默认技术字段赋值的解决方法
|
* @Author aix
|
* @Date 2022/9/20 16:16
|
* @Version 1.0
|
*/
|
public class EnhancementServicesTool <T extends TenantEntity> {
|
public void resolveEntity(T entity) {
|
try {
|
BladeUser user = AuthUtil.getUser();
|
Date now = DateUtil.now();
|
if (entity.getId() == null) {
|
if (user != null) {
|
entity.setCreateUser(user.getUserId());
|
entity.setCreateDept(Func.firstLong(user.getDeptId()));
|
entity.setUpdateUser(user.getUserId());
|
}
|
|
if (entity.getStatus() == null) {
|
entity.setStatus(1);
|
}
|
|
entity.setCreateTime(now);
|
} else if (user != null) {
|
entity.setUpdateUser(user.getUserId());
|
}
|
|
entity.setUpdateTime(now);
|
entity.setIsDeleted(0);
|
entity.setTenantId(user.getTenantId());
|
|
} catch (Throwable var8) {
|
throw var8;
|
}
|
}
|
}
|