package com.xiaopeng.order.config; import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; import com.xiaopeng.common.core.utils.StringUtils; import com.xiaopeng.common.security.utils.SecurityUtils; import lombok.extern.slf4j.Slf4j; import org.apache.ibatis.reflection.MetaObject; import org.springframework.context.annotation.Configuration; import java.time.LocalDateTime; /** * 数据更新操作处理 * 自动填充 createBy、updateBy、createTime、updateTime 字段 * * @author mitao * @date 2026-02-14 */ @Slf4j @Configuration public class DataUpdateHandlerConfig implements MetaObjectHandler { /** * 新增数据执行 * * @param metaObject 元对象 */ @Override public void insertFill(MetaObject metaObject) { String userName = ""; try { userName = SecurityUtils.getLoginUser().getSysUser().getNickName(); log.info("DataUpdateInterceptor insertFill"); } catch (Exception e) { log.error("DataUpdateInterceptor insertFill error:{}", e.getMessage()); } this.setFieldValByName("createBy", userName, metaObject); this.setFieldValByName("updateBy", userName, metaObject); this.setFieldValByName("createTime", LocalDateTime.now(), metaObject); this.setFieldValByName("updateTime", LocalDateTime.now(), metaObject); } /** * 修改数据执行 * * @param metaObject 元对象 */ @Override public void updateFill(MetaObject metaObject) { String userName = ""; try { userName = SecurityUtils.getLoginUser().getSysUser().getNickName(); log.info("DataUpdateInterceptor updateFill"); } catch (Exception e) { log.error("DataUpdateInterceptor updateFill error:{}", e.getMessage()); } this.setFieldValByName("updateTime", LocalDateTime.now(), metaObject); this.setFieldValByName("updateBy", userName, metaObject); } }