package com.ruoyi.common.component; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.ruoyi.common.utils.SecurityUtils; import org.apache.ibatis.reflection.MetaObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import java.time.LocalDateTime; /** * @author Mr.huang * @decription * @date 2023/9/12 09:16 */ @Component public class MyMetaObjectHandler implements MetaObjectHandler { private final static String CREATE_BY = "createBy"; private final static String CREATE_TIME = "createTime"; private final static String UPDATE_BY = "updateBy"; private final static String UPDATE_TIME = "updateTime"; private static final Logger log = LoggerFactory.getLogger(MyMetaObjectHandler.class); @Override public void insertFill(MetaObject metaObject) { try { Object createBy = getFieldValByName(CREATE_BY, metaObject); Object createTime = getFieldValByName(CREATE_TIME, metaObject); Object updateBy = getFieldValByName(UPDATE_BY, metaObject); Object updateTime = getFieldValByName(UPDATE_TIME, metaObject); String username = SecurityUtils.getLoginUser().getUsername(); LocalDateTime now = LocalDateTime.now(); if (null == createBy) { setFieldValByName(CREATE_BY, username, metaObject); } if (null == createTime) { setFieldValByName(CREATE_TIME, now, metaObject); } if (null == updateBy) { setFieldValByName(UPDATE_BY, username, metaObject); } if (null == updateTime) { setFieldValByName(UPDATE_TIME, now, metaObject); } }catch (Exception e){ log.info("自动填充数据异常"); } } @Override public void updateFill(MetaObject metaObject) { try { String username = SecurityUtils.getLoginUser().getUsername(); LocalDateTime now = LocalDateTime.now(); setFieldValByName(UPDATE_BY, username, metaObject); setFieldValByName(UPDATE_TIME, now, metaObject); }catch (Exception e){ log.info("自动填充数据异常"); } } }