| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package jnpf.database.config;
- import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
- import jnpf.constant.GlobalConst;
- import jnpf.database.util.LogicDeleteHelper;
- import jnpf.database.util.TenantDataSourceUtil;
- import jnpf.util.DateUtil;
- import jnpf.util.UserProvider;
- import org.apache.ibatis.reflection.MetaObject;
- import org.springframework.stereotype.Component;
- import java.util.Date;
- /**
- * @author JNPF开发平台组
- * @version V3.1.0
- * @copyright 引迈信息技术有限公司(https://www.jnpfsoft.com)
- * @date 2020年12月22日 下午20:14
- */
- @Component
- public class MybatisPlusMetaObjectHandler implements MetaObjectHandler {
- @Override
- public void insertFill(MetaObject metaObject) {
- String userId = UserProvider.getLoginUserId();
- Object enabledMark = this.getFieldValByName("enabledMark", metaObject);
- Object creatorUserId = this.getFieldValByName("creatorUserId", metaObject);
- Object creatorTime = this.getFieldValByName("creatorTime", metaObject);
- Object creatorUser = this.getFieldValByName("creatorUser", metaObject);
- if (enabledMark == null) {
- this.strictInsertFill(metaObject, "enabledMark", () -> 1, Integer.class);
- }
- if (creatorUserId == null) {
- this.strictInsertFill(metaObject, "creatorUserId", () -> userId, String.class);
- }
- if (creatorTime == null) {
- this.strictInsertFill(metaObject, "creatorTime", DateUtil::getNowDate, Date.class);
- }
- if (creatorUser == null) {
- this.strictInsertFill(metaObject, "creatorUser", () -> userId, String.class);
- }
- String tenantColumn = TenantDataSourceUtil.getTenantColumn();
- if (GlobalConst.DEFAULT_TENANT_VALUE.equals(tenantColumn)) {
- this.strictInsertFill(metaObject, "tenantId", () -> tenantColumn, String.class);
- } else {
- this.setFieldValByName("tenantId", TenantDataSourceUtil.getTenantColumn(), metaObject);
- }
- }
- @Override
- public void updateFill(MetaObject metaObject) {
- String userId = UserProvider.getLoginUserId();
- this.strictUpdateFill(metaObject, "lastModifyTime", DateUtil::getNowDate, Date.class);
- this.strictUpdateFill(metaObject, "lastModifyUserId", () -> userId, String.class);
- this.strictUpdateFill(metaObject, "lastModifyUser", () -> userId, String.class);
- String tenantColumn = TenantDataSourceUtil.getTenantColumn();
- if (GlobalConst.DEFAULT_TENANT_VALUE.equals(tenantColumn)) {
- this.strictUpdateFill(metaObject, "tenantId", () -> tenantColumn, String.class);
- } else {
- this.setFieldValByName("tenantId", TenantDataSourceUtil.getTenantColumn(), metaObject);
- }
- if(LogicDeleteHelper.isDeleteAction()){
- this.strictUpdateFill(metaObject, "deleteTime", DateUtil::getNowDate, Date.class);
- this.strictUpdateFill(metaObject, "deleteUserId", () -> userId, String.class);
- }
- }
- }
|