All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.yqjr.framework.base.BaseEntity Maven / Gradle / Ivy

/**
 * 
 */
package com.yqjr.framework.base;

import org.apache.commons.lang3.builder.ReflectionToStringBuilder;

import com.yqjr.framework.component.mapper.BeanMapper;
import com.yqjr.framework.component.sequence.AbstractSequenceManager;
import com.yqjr.framework.datatype.Date;
import com.yqjr.framework.utils.Constants;
import com.yqjr.framework.utils.Reflections;
import com.yqjr.framework.utils.UserUtils;
import com.yqjr.modules.user.entity.User;
import com.yqjr.modules.user.model.UserModel;

/**
 * ClassName: BaseEntity 
* Description: 实体基类
* Create By: admin
* Create Date: 2017年4月19日 上午10:57:00
* Modified By:
* Modified Date:
* Modified Content:
* Version: 1.0
*/ public abstract class BaseEntity extends BaseBean { private static final long serialVersionUID = 1587278644584263790L; public static final Integer NORMAL = 1; public static final Integer DELETE = 0; /** * 数据唯一标识 */ protected ID id; /** * 数据备注 */ protected String remarks; /** * 数据创建者 */ protected User createBy; /** * 数据创建时间 */ protected Date createDate; /** * 数据更改者 */ protected User updateBy; /** * 数据修改时间 */ protected Date updateDate; /** * 数据状态 */ protected Integer deleteStatus = NORMAL; /** * 数据版本 */ protected Long dataVersion; /** * 自动生成ID */ protected boolean isAutoId = true; /** * Description: 获取数据唯一标识(由子类实现)
* Create By: admin
* Create Data: 2017年4月19日 上午11:18:17 * * @return ID */ public abstract ID getId(); public abstract void setId(ID id); /** * Description: 自动生成ID
* Create By: admin
* Create Date: 2017年6月28日 上午10:55:29 * * @return ID */ @SuppressWarnings("unchecked") private ID autoId() { if (this.id == null) { String id = AbstractSequenceManager.getSequenceManager().generateStringSeq(Constants.DEFAULT_SEQ_NAME, 0); Class clazz = Reflections.getClassGenricType(this.getClass(), 0); if (clazz == Long.class) { return (ID) Long.valueOf(id); } else if (clazz == Integer.class) { return (ID) Integer.valueOf(id); } else { return (ID) id; } } else return id; } /** * Description: 插入数据前动作
* Create By: admin
* Create Data: 2017年4月19日 上午11:19:08 */ public void preInsert() { if (isAutoId) { this.id = autoId(); } UserModel userModel = UserUtils.getUser(); User user = new User(); BeanMapper.beanToBean(userModel, user); if (user.getId() > 0) { this.updateBy = user; this.createBy = user; } this.updateDate = new Date(); this.createDate = this.updateDate; } /** * Description: 更新数据前动作(由子类实现)
* Create By: admin
* Create Data: 2017年4月19日 上午11:19:27 */ public void preUpdate() { UserModel userModel = UserUtils.getUser(); User user = new User(); BeanMapper.beanToBean(userModel, user); if (user.getId() > 0) { this.updateBy = user; } this.updateDate = new Date(); } /** * @return the remarks */ public String getRemarks() { return remarks; } /** * @param remarks * the remarks to set */ public void setRemarks(String remarks) { this.remarks = remarks; } /** * @return the createBy */ public User getCreateBy() { return createBy; } /** * @param createBy * the createBy to set */ public void setCreateBy(User createBy) { this.createBy = createBy; } /** * @return the createDate */ public Date getCreateDate() { return createDate; } /** * @param createDate * the createDate to set */ public void setCreateDate(Date createDate) { this.createDate = createDate; } /** * @return the updateBy */ public User getUpdateBy() { return updateBy; } /** * @param updateBy * the updateBy to set */ public void setUpdateBy(User updateBy) { this.updateBy = updateBy; } /** * @return the updateDate */ public Date getUpdateDate() { return updateDate; } /** * @param updateDate * the updateDate to set */ public void setUpdateDate(Date updateDate) { this.updateDate = updateDate; } /** * @return the isAutoId */ public boolean isAutoId() { return isAutoId; } /** * @return the deleteStatus */ public Integer getDeleteStatus() { return deleteStatus; } /** * @param deleteStatus * the deleteStatus to set */ public void setDeleteStatus(Integer deleteStatus) { this.deleteStatus = deleteStatus; } /** * @param isAutoId * the isAutoId to set */ public void setAutoId(boolean isAutoId) { this.isAutoId = isAutoId; } public String toString() { return ReflectionToStringBuilder.toString(this); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy