package com.ym.mec.biz.dal.entity;

import io.swagger.annotations.ApiModelProperty;

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

import com.ym.mec.biz.dal.entity.CourseSchedule.CourseScheduleType;
import com.ym.mec.common.enums.BaseEnum;

/**
 * 对应数据库表(course_schedule_rewards_rules):
 */
public class CourseScheduleRewardsRules {

	public enum RewardMode implements BaseEnum<String, RewardMode> {
		PER, TOTAL;

		@Override
		public String getCode() {
			return name();
		}

	}

	/**  */
	private Integer id;

	@ApiModelProperty(value = "名称", required = true)
	private String name;

	@ApiModelProperty(value = "课程类型", required = true)
	private CourseScheduleType courseScheduleType;

	@ApiModelProperty(value = "奖励方式(PER, TOTAL)", required = true)
	private RewardMode rewardMode;

	@ApiModelProperty(value = "分部列表（用逗号分开）", required = true)
	private String organIdList;

	@ApiModelProperty(value = "梯度奖励规则", required = true)
	private String rewardsRulesJson;

	/**  */
	private java.util.Date createTime;

	/**  */
	private java.util.Date updateTime;

	public void setId(Integer id) {
		this.id = id;
	}

	public Integer getId() {
		return this.id;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getName() {
		return this.name;
	}

	public void setCourseScheduleType(CourseScheduleType courseScheduleType) {
		this.courseScheduleType = courseScheduleType;
	}

	public CourseScheduleType getCourseScheduleType() {
		return this.courseScheduleType;
	}

	public void setRewardMode(RewardMode rewardMode) {
		this.rewardMode = rewardMode;
	}

	public RewardMode getRewardMode() {
		return this.rewardMode;
	}

	public void setOrganIdList(String organIdList) {
		this.organIdList = organIdList;
	}

	public String getOrganIdList() {
		return this.organIdList;
	}

	public void setRewardsRulesJson(String rewardsRulesJson) {
		this.rewardsRulesJson = rewardsRulesJson;
	}

	public String getRewardsRulesJson() {
		return this.rewardsRulesJson;
	}

	public void setCreateTime(java.util.Date createTime) {
		this.createTime = createTime;
	}

	public java.util.Date getCreateTime() {
		return this.createTime;
	}

	public void setUpdateTime(java.util.Date updateTime) {
		this.updateTime = updateTime;
	}

	public java.util.Date getUpdateTime() {
		return this.updateTime;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}

}
