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 { 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; } } }