1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package com.fdkankan.site.handler;
- import cn.dev33.satoken.stp.StpUtil;
- import cn.hutool.core.util.ObjectUtil;
- import cn.hutool.core.util.StrUtil;
- import com.amazonaws.services.dynamodbv2.xspec.S;
- import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
- import com.fdkankan.site.entity.User;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.ibatis.reflection.MetaObject;
- import org.springframework.stereotype.Component;
- import java.time.LocalDateTime;
- import java.util.Date;
- /**
- * @description: 处理createTime,updateTime字段的插入和更新
- * @author: Xiewj
- * @date: 2021-08-16 15:32:55
- **/
- @Slf4j
- @Component
- public class MyMetaObjectHandler implements MetaObjectHandler {
- @Override
- public void insertFill(MetaObject metaObject) {
- // 起始版本 3.3.3(推荐)
- boolean createByTimeSetter = metaObject.hasSetter("createBy");
- if (StpUtil.isLogin()&&ObjectUtil.isNotEmpty(StpUtil.getSession().getModel("user",User.class))&&createByTimeSetter){
- User user = StpUtil.getSession().getModel("user",User.class);
- this.setFieldValByName( "createBy", String.valueOf(user.getUserId()),metaObject); // 起始版本 3.3.3(推荐)
- }
- this.setFieldValByName("createTime", LocalDateTime.now(), metaObject);
- }
- @Override
- public void updateFill(MetaObject metaObject) {
- // 起始版本 3.3.3(推荐)
- boolean updateByTimeSetter = metaObject.hasSetter("updateBy");
- if (StpUtil.isLogin()&&ObjectUtil.isNotEmpty(StpUtil.getSession().getModel("user",User.class))&&updateByTimeSetter){
- User user = StpUtil.getSession().getModel("user",User.class);
- this.setFieldValByName( "updateBy", String.valueOf(user.getUserId()),metaObject); // 起始版本 3.3.3(推荐)
- }
- this.setFieldValByName("updateTime", LocalDateTime.now(), metaObject);
- }
- }
|