package common.model.base;

import com.jfinal.plugin.activerecord.Model;
import com.jfinal.plugin.activerecord.IBean;

/**
 * Generated by JFinal, do not modify this file.
 */
@SuppressWarnings("serial")
public abstract class BaseOrderLog<M extends BaseOrderLog<M>> extends Model<M> implements IBean {
	/**
	 * 主键ID，自增
	 */
	public void setId(java.lang.Long id) {
		set("id", id);
	}
	
	/**
	 * 主键ID，自增
	 */
	public java.lang.Long getId() {
		return getLong("id");
	}
	/**
	 * 关联的订单ID，关联t_order表的主键
	 */
	public void setOrderId(java.lang.Long orderId) {
		set("order_id", orderId);
	}
	
	/**
	 * 关联的订单ID，关联t_order表的主键
	 */
	public java.lang.Long getOrderId() {
		return getLong("order_id");
	}
	/**
	 * 状态变更前：订单的状态码
	 */
	public void setFromStatus(java.lang.Integer fromStatus) {
		set("from_status", fromStatus);
	}
	
	/**
	 * 状态变更前：订单的状态码
	 */
	public java.lang.Integer getFromStatus() {
		return getInt("from_status");
	}
	/**
	 * 状态变更后：订单的状态码
	 */
	public void setToStatus(java.lang.Integer toStatus) {
		set("to_status", toStatus);
	}
	
	/**
	 * 状态变更后：订单的状态码
	 */
	public java.lang.Integer getToStatus() {
		return getInt("to_status");
	}
	/**
	 * 操作人ID (用户ID或管理员ID)
	 */
	public void setOperatorId(java.lang.Long operatorId) {
		set("operator_id", operatorId);
	}
	
	/**
	 * 操作人ID (用户ID或管理员ID)
	 */
	public java.lang.Long getOperatorId() {
		return getLong("operator_id");
	}
	/**
	 * 操作人类型：1=用户, 2=管理员, 3=系统
	 */
	public void setOperatorType(java.lang.Integer operatorType) {
		set("operator_type", operatorType);
	}
	
	/**
	 * 操作人类型：1=用户, 2=管理员, 3=系统
	 */
	public java.lang.Integer getOperatorType() {
		return getInt("operator_type");
	}
	/**
	 * 状态变更原因或描述
	 */
	public void setChangeReason(java.lang.String changeReason) {
		set("change_reason", changeReason);
	}
	
	/**
	 * 状态变更原因或描述
	 */
	public java.lang.String getChangeReason() {
		return getStr("change_reason");
	}
	/**
	 * 日志创建时间戳
	 */
	public void setCreateTime(java.lang.Long createTime) {
		set("create_time", createTime);
	}
	
	/**
	 * 日志创建时间戳
	 */
	public java.lang.Long getCreateTime() {
		return getLong("create_time");
	}
	
	public boolean save() {
		set("create_time", System.currentTimeMillis());
		
		return super.save();
	}
	
	public boolean update() {
		set("update_time", System.currentTimeMillis());
		
		return super.update();
	}

	public boolean delete() {
		set("is_deleted", 1);

		return super.update();
	}
}