package com.ssj.bean.weixin.zyb.domain;

import com.alibaba.fastjson.annotation.JSONField;
import com.ssj.bean.common.framework.core.domain.BaseEntity;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;


/** 
 * @author  ZhangCaibao 
 * @version 2017年7月21日 上午11:22:42 
 * 类说明 推送记录表
 */
@Entity
@Table(name = "zyb_student_push")
public class ZuoybStudentPush extends BaseEntity{

	/**
	 * 
	 */
	private static final long serialVersionUID = -8578971159606383085L;

	/**
	 * 推送时间
	 */
	private Date    pushTime;
	
	/**
	 * 图书馆ID
	 */
	private String libId;
	
	/**
	 * 老师ID
	 */
	private String teacherId;
	
	private String vipId;
	
	private String  html;
	private String  subhtml;
	/**
	 * 评价总分
	 */
	private Integer total;
	
	/**
	 * 课程时段
	 */
	private String courseHour;
	/**
	 * 0初始， 1在馆老师编辑， 2已发送报告， 3提交待批改， 4批改待在馆老师提交
	 */
	private int  type;
	/**
	 * 建议
	 */
	private String suggest;
	
	private String img;
	/**
	 * 馆内排名
	 */
	private String gnpx;
	/**
	 * 今日学习状态
	 */
	private String jrxx;
	/**
	 * 勤奋指数
	 */
	private String qfzx;
	/**
	 * 知识点掌握
	 */
	private String zxzw;
	/**
	 * 发送时间
	 */
	private Date updateTime;
	
	private Date viewTime;
	/**
	 * 家长反馈
	 */
	private String evaluate;
	/**
	 * 家长评星
	 */
	private Integer level;

	/**
	 * 提交时间
	 */
	private Date submitTime;

	/**
	 * 作业速度, 1欠佳2一般3好
	 */
	private Integer workingSpeed;

	/**
	 * 积极性, 1欠佳2一般3好
	 */
	private Integer workingActivity;

	/**
	 * 自律性, 1欠佳2一般3好
	 */
	private Integer workingAutomaticity;

	/**
	 * 专注度, 1欠佳2一般3好
	 */
	private Integer workingConcentration;

	
	private List<Map<String, Object>> editImgList = new ArrayList<Map<String, Object>>(); 
	
	@Column(updatable =false)
	@JSONField(format = "MM月dd日")
	public Date getPushTime() {
		return pushTime;
	}

	public void setPushTime(Date pushTime) {
		this.pushTime = pushTime;
	}

	public String getLibId() {
		return libId;
	}

	public void setLibId(String libId) {
		this.libId = libId;
	}

	public String getTeacherId() {
		return teacherId;
	}

	public void setTeacherId(String teacherId) {
		this.teacherId = teacherId;
	}

	@Column(name = "vip_id", updatable = false)
	public String getVipId() {
		return vipId;
	}

	public void setVipId(String vipId) {
		this.vipId = vipId;
	}

	public String getHtml() {
		return html;
	}

	public void setHtml(String html) {
		this.html = html;
	}

	public Integer getTotal() {
		return total;
	}

	public void setTotal(Integer total) {
		this.total = total;
	}

	public String getSubhtml() {
		return subhtml;
	}

	public void setSubhtml(String subhtml) {
		this.subhtml = subhtml;
	}

	public String getCourseHour() {
		return courseHour;
	}

	public void setCourseHour(String courseHour) {
		this.courseHour = courseHour;
	}

	public int getType() {
		return type;
	}

	public void setType(int type) {
		this.type = type;
	}

	public String getSuggest() {
		return suggest;
	}

	public void setSuggest(String suggest) {
		this.suggest = suggest;
	}

	public String getImg() {
		return img;
	}

	public void setImg(String img) {
		this.img = img;
	}

	public String getGnpx() {
		return gnpx;
	}

	public void setGnpx(String gnpx) {
		this.gnpx = gnpx;
	}

	public String getJrxx() {
		return jrxx;
	}

	public void setJrxx(String jrxx) {
		this.jrxx = jrxx;
	}

	public String getQfzx() {
		return qfzx;
	}

	public void setQfzx(String qfzx) {
		this.qfzx = qfzx;
	}

	public String getZxzw() {
		return zxzw;
	}

	public void setZxzw(String zxzw) {
		this.zxzw = zxzw;
	}
	@Column(insertable =false)
	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}
	@Column(insertable =false)
	public Date getViewTime() {
		return viewTime;
	}

	public void setViewTime(Date viewTime) {
		this.viewTime = viewTime;
	}

	public String getEvaluate() {
		return evaluate;
	}

	public void setEvaluate(String evaluate) {
		this.evaluate = evaluate;
	}

	public Integer getLevel() {
		return level;
	}

	public void setLevel(Integer level) {
		this.level = level;
	}

	public Date getSubmitTime() {
		return submitTime;
	}

	public void setSubmitTime(Date submitTime) {
		this.submitTime = submitTime;
	}


	public Integer getWorkingSpeed() {
		return workingSpeed;
	}

	public void setWorkingSpeed(Integer workingSpeed) {
		this.workingSpeed = workingSpeed;
	}

	public Integer getWorkingActivity() {
		return workingActivity;
	}

	public void setWorkingActivity(Integer workingActivity) {
		this.workingActivity = workingActivity;
	}

	public Integer getWorkingAutomaticity() {
		return workingAutomaticity;
	}

	public void setWorkingAutomaticity(Integer workingAutomaticity) {
		this.workingAutomaticity = workingAutomaticity;
	}

	public Integer getWorkingConcentration() {
		return workingConcentration;
	}

	public void setWorkingConcentration(Integer workingConcentration) {
		this.workingConcentration = workingConcentration;
	}

	@Transient
	public List<Map<String, Object>> getEditImgList() {
		return editImgList;
	}

	public void setEditImgList(List<Map<String, Object>> editImgList) {
		this.editImgList = editImgList;
	}

	@Override
	public String toString() {
		return "ZuoybStudentPush{" +
				"pushTime=" + pushTime +
				", libId='" + libId + '\'' +
				", teacherId='" + teacherId + '\'' +
				", vipId='" + vipId + '\'' +
				", html='" + html + '\'' +
				", subhtml='" + subhtml + '\'' +
				", total=" + total +
				", courseHour='" + courseHour + '\'' +
				", type=" + type +
				", suggest='" + suggest + '\'' +
				", img='" + img + '\'' +
				", gnpx='" + gnpx + '\'' +
				", jrxx='" + jrxx + '\'' +
				", qfzx='" + qfzx + '\'' +
				", zxzw='" + zxzw + '\'' +
				", updateTime=" + updateTime +
				", viewTime=" + viewTime +
				", evaluate='" + evaluate + '\'' +
				", level=" + level +
				", submitTime=" + submitTime +
				", workingSpeed=" + workingSpeed +
				", workingActivity=" + workingActivity +
				", workingAutomaticity=" + workingAutomaticity +
				", workingConcentration=" + workingConcentration +
				", editImgList=" + editImgList +
				'}';
	}
}
