💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
``` /** * @author 张跃帅 * @Description: 自动填充-相关字段值 * @date 2020/08/12 */ @Slf4j public class SystemFieidFill implements MetaObjectHandler { /** * 逻辑删除标识 */ private static final String DEL_FLAG = "delFlag"; /** * 创建人 */ private static final String CREATE_USER = "createUser"; /** * 创建时间 */ private static final String CREATE_TIME = "createTime"; /** * 更新人 */ private static final String UPDATE_USER = "updateUser"; /** * 更新时间 */ private static final String UPDATE_TIME = "updateTime"; @Override public void insertFill(MetaObject metaObject) { try { // 获取实体类字段 Object delFlag = metaObject.getValue(DEL_FLAG); // 判断-防止实体类无字段-继承BaseEntity,使用自动填充报错 if (ObjectUtil.isNull(delFlag)) { // 赋值 setFieldValByName(DEL_FLAG, CommonDelFlagEnum.NOT_DELETE.getCode(), metaObject); } } catch (ReflectionException e) { log.warn(">>> mybatisPlus-<新增>-处理过程中无相关字段,不做处理"); } try { // 获取实体类字段 Object createUser = metaObject.getValue(CREATE_USER); // 判断-防止实体类无字段-继承BaseEntity,使用自动填充报错 if (ObjectUtil.isNull(createUser)) { // 赋值 setFieldValByName(CREATE_USER, this.getUserId(), metaObject); } } catch (ReflectionException e) { log.warn(">>> mybatisPlus-<新增>-处理过程中无相关字段,不做处理"); } try { // 获取实体类字段 Object createTime = metaObject.getValue(CREATE_TIME); // 判断-防止实体类无字段-继承BaseEntity,使用自动填充报错 if (ObjectUtil.isNull(createTime)) { // 赋值 setFieldValByName(CREATE_TIME, DateUtil.now(), metaObject); } } catch (ReflectionException e) { log.warn(">>> mybatisPlus-<新增>-处理过程中无相关字段,不做处理"); } } @Override public void updateFill(MetaObject metaObject) { try { // 获取实体类字段 Object updateUser = metaObject.getValue(UPDATE_USER); // 判断-防止实体类无字段-继承BaseEntity,使用自动填充报错 if (ObjectUtil.isNull(updateUser)) { // 赋值 setFieldValByName(UPDATE_USER, this.getUserId(), metaObject); } } catch (ReflectionException e) { log.warn(">>> mybatisPlus-<更新>-处理过程中无相关字段,不做处理"); } try { // 获取实体类字段 Object updateTime = metaObject.getValue(UPDATE_TIME); // 判断-防止实体类无字段-继承BaseEntity,使用自动填充报错 if (ObjectUtil.isNull(updateTime)) { // 赋值 setFieldValByName(UPDATE_TIME, DateUtil.now(), metaObject); } } catch (ReflectionException e) { log.warn(">>> mybatisPlus-<更新>-处理过程中无相关字段,不做处理"); } } /** * 获取-用户id */ private Long getUserId() { // 获取参数 Long userId = LoginUserUtil.getLoginSatokenUserByToken().getUserId(); // 判断 if (userId < 1) { // 如果获取不到就-1,代表未知 return -1L; } // 返回 return userId; } }