| New file |
| | |
| | | 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.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 BaseEntity> { |
| | | 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); |
| | | Field field = ReflectUtil.getField(entity.getClass(), "tenantId"); |
| | | if (ObjectUtil.isNotEmpty(field)) { |
| | | Method getTenantId = ClassUtil.getMethod(entity.getClass(), "getTenantId", new Class[0]); |
| | | String tenantId = String.valueOf(getTenantId.invoke(entity)); |
| | | if (ObjectUtil.isEmpty(tenantId)) { |
| | | Method setTenantId = ClassUtil.getMethod(entity.getClass(), "setTenantId", new Class[]{String.class}); |
| | | setTenantId.invoke(entity, null); |
| | | } |
| | | } |
| | | |
| | | } catch (Throwable var8) { |
| | | try { |
| | | throw var8; |
| | | } catch (IllegalAccessException e) { |
| | | throw new RuntimeException(e); |
| | | } catch (InvocationTargetException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | } |
| | | } |