package com.qxueyou.scc.admin.classes.model; import java.io.Serializable; import java.math.BigDecimal; import java.math.BigInteger; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.Table; import javax.persistence.Transient; import org.hibernate.annotations.CollectionId; import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Type; import org.hibernate.annotations.Where; import org.springframework.format.annotation.DateTimeFormat; import com.fasterxml.jackson.annotation.JsonIgnore; import com.qxueyou.scc.base.model.ITrace; import com.qxueyou.scc.teach.live.model.MediaVideoLive; import com.qxueyou.scc.teach.subject.model.Subject; /** * The persistent class for the org_class database table. * */ @Entity @Table(name = "cls_class") public class ClsClass implements Serializable, ITrace { /** * UID */ private static final long serialVersionUID = 5971007065116777117L; /** 面授 */ public static final String CLASS_FACE = "FACE_TO_FACE"; /** 网络 */ public static final String CLASS_NETWORK = "NETWORK"; /** 有直播 */ public static final int HAVE_LIVE = 1; /** 无直播 */ public static final int NOT_HAVE_LIVE = 0; /** 有视频 */ public static final int HAVE_VIDEO = 1; /** 无视频 */ public static final int NOT_HAVE_VIDEO = 0; /** 有讲义 */ public static final int HAVE_HANDOUT = 1; /** 无讲义 */ public static final int NOT_HAVE_HANDOUT = 0; /** 有推荐奖励 */ public static final int HAVE_AWARD = 1; /** 无推荐奖励 */ public static final int NOT_HAVE_AWARD = 0; /** 消息处理业务类型:发送消息 */ public static final String MSG_ACTION_TYPE_SEND = "send_sms"; /** 消息处理业务类型:新建班级 */ public static final String MSG_ACTION_TYPE_ADD = "add_Class"; /** 消息处理业务类型:复制班级 */ public static final String MSG_ACTION_TYPE_COPY = "copy_Class"; /** 班级进度:报名 */ public static final String CLASS_PROGRESS_START = "报名"; /** 班级进度:学习 */ public static final String CLASS_PROGRESS_STUDY = "学习"; /** 班级进度:结束 */ public static final String CLASS_PROGRESS_END = "结束"; @Id @GeneratedValue(generator = "hibernate-uuid") @GenericGenerator(name = "hibernate-uuid", strategy = "uuid") @Column(name = "CLASS_ID", unique = true, nullable = false, length = 32) private String classId; @Column(name = "CLASS_CHARGER", length = 50) private String classCharger; @Column(name = "CLASS_CHARGER_ID", length = 32) private String classChargerId; @Column(name = "CODE", length = 50) private String code; @Column(name = "COLLEGE_COURSE_ID", length = 32) private String collegeCourseId; @Column(name = "COLLEGE_COURSE_NAME", length = 255) private String collegeCourseName; @Column(name = "CREATE_ID", nullable = false, length = 32) @JsonIgnore private String createId; @Column(name = "CREATE_TIME", nullable = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonIgnore private Date createTime; @Column(name = "CREATOR", nullable = false, length = 100) @JsonIgnore private String creator; @Column(name = "DELETE_FLAG", nullable = false) @JsonIgnore private boolean deleteFlag; @Column(name = "NAME", length = 255) private String name; @Column(name = "FULL_TEXT", length = 4096) private String fullText; @Column(name = "PROGRESS", length = 255) private String progress; @Column(name = "ADDRESS", length = 255) private String address; @Column(name = "ADDRESS_ID", length = 255) private String addressId; @Column(name = "ARRANGEMENT", length = 255) private String arrangement; /** 班级优势 */ @Column(name = "ADVANTAGE", length = 255) private String advantage; @Column(name = "PRICE", precision = 10, scale = 2) private BigDecimal price; @Column(name = "START_TIME", nullable = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") private Date startTime; @Column(name = "END_TIME") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm") private Date endTime; /** 当前已报名学生人数 */ @Column(name = "STUDENT_COUNT") private int studentCount; @Column(name = "RECOMMEND", nullable = false) private boolean recommend; @Column(name = "IMG_PATH", length = 255) private String imgPath; @Column(name = "UPDATE_ID", length = 32) @JsonIgnore private String updateId; @Column(name = "UPDATE_TIME", nullable = false) @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") @JsonIgnore private Date updateTime; @Column(name = "UPDATOR", length = 100) @JsonIgnore private String updator; /** 是否推广 false:不推广 true:推广 */ @Column(name = "EXTENDED") private boolean extended; @Column(name = "CLASS_TYPES", length = 100) private String classTypes; @Column(name = "DISCOUNT", precision = 10, scale = 2) private BigDecimal discount; @Column(name = "DISPRICE", precision = 10, scale = 2) private BigDecimal disprice; @Column(name = "STUDY_TIME", precision = 10, scale = 2) private BigDecimal studyTime; @Column(name = "SCORE", precision = 10, scale = 2) private BigDecimal score; /** 学生总数 计划招生人数,用于机构 指定 */ @Column(name = "STU_ALL_COUNT") private BigInteger stuAllCount; @Column(name = "COMMENT_COUNT") private BigInteger commentCount; @Column(name = "POINTER", length = 255) private String pointer; /*** 点击次数 **/ @Column(name = "CLICK_NUM", precision = 11, scale = 0) private BigDecimal clickNum; /*** 省份 **/ @Column(name = "PROVINCE", length = 255) private String province; /*** 城市 **/ @Column(name = "CITY", length = 255) private String city; /*** 区域 **/ @Column(name = "REGION", length = 255) private String region; /*** 是否置顶 **/ @Column(name = "TOP_FLAG", length = 255) private Boolean topFlag; /*** 方式 **/ @Column(name = "MODE", length = 255) private String mode; /*** 商品ID **/ @Column(name = "GOOD_ID", length = 32) private String goodId; /*** 产品ID **/ @Column(name = "PRODUCT_ID", length = 255) private String productId; /*** 机构ID **/ @Column(name = "ORG_ID", length = 32) private String orgId; /*** 是否有直播 **/ @Column(name = "HAVE_LIVE", length = 1) private Integer haveLive; /*** 是否有视频 **/ @Column(name = "HAVE_VIDEO", length = 1) private Integer haveVideo; /*** 是否有讲义 **/ @Column(name = "HAVE_HANDOUT", length = 1) private Integer haveHandout; /*** 经度 **/ @Column(name = "LONGITUDE_X", length = 32) private String logitudeX; /*** 纬度 **/ @Column(name = "LATITUDE_Y", length = 32) private String latitudeY; /*** 付款人数 **/ @Column(name = "PAYMENT_NUM", length = 11) private BigInteger paymentNum; /*** 是否有推荐奖励 **/ @Column(name = "HAVA_AWARD", length = 32) private Integer haveAward; @Transient private String content; @Column(name = "COURSE_ID", length = 4096) private String courseId; @Transient private String courseName; @Transient private String orgName; @Transient private String orgShortName; // 班级引荐费 @Transient private BigDecimal referFee; /** 激活人数 **/ @Transient private Integer registCount; // ============================新添加字段================================= /** 是否有学生加班审批 */ @Column(name = "NEED_JOIN_AUDIT", nullable = false) private Boolean needJoinAudit; /** 班级编码 */ @Column(name = "CLASS_NUMBER", nullable = false) private String classNumber; /** 是否有需要学生退班审批 */ @Column(name = "NEED_QUIT_AUDIT", nullable = false) private Boolean needQuitAudit; /** 完成练习是否显示答案 */ @Column(name = "SHOU_ANALYSIS_AFTER_EXER", nullable = false) private Boolean showAnalysisAfterExer; /** 是否允许重复练习 */ @Column(name = "CAN_MULTI_EXER", nullable = false) private Boolean canMultiExer; /** 是否开通班级论坛 */ @Column(name = "NEED_FORUM", nullable = false) private Boolean needForum; /** 班级老师 */ @Column(name = "TEACHER_ID", length = 32) private String teacherId; @ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.REFRESH) @JoinTable(name = "CLS_CLASS_RE_SUBJECT", joinColumns = { @JoinColumn(name = "CLASS_ID") }, inverseJoinColumns = { @JoinColumn(name = "SUBJECT_ID") }) @GeneratedValue(generator = "hibernate-uuid") @GenericGenerator(name = "hibernate-uuid", strategy = "uuid") @CollectionId( columns = @Column(name="CLS_RE_SUBJECT_ID"), type=@Type(type="string"), generator = "hibernate-uuid" ) @Where(clause="DELETE_FLAG=0") private List subjects = new ArrayList<>(); @ManyToMany(fetch = FetchType.LAZY, mappedBy = "classes") @JsonIgnore private List videoLives; public String getTeacherId() { return teacherId; } public void setTeacherId(String teacherId) { this.teacherId = teacherId; } public String getAddressId() { return addressId; } public void setAddressId(String addressId) { this.addressId = addressId; } public Integer getRegistCount() { return registCount; } public void setRegistCount(Integer registCount) { this.registCount = registCount; } public Integer getSignUpCount() { return this.studentCount; } public BigDecimal getReferFee() { return referFee; } public void setReferFee(BigDecimal referFee) { this.referFee = referFee; } public String getClassId() { return this.classId; } public String getOrgId() { return orgId; } public void setOrgId(String orgId) { this.orgId = orgId; } public void setClassId(String classId) { this.classId = classId; } public String getClassCharger() { return this.classCharger; } public void setClassCharger(String classCharger) { this.classCharger = classCharger; } public String getClassChargerId() { return this.classChargerId; } public void setClassChargerId(String classChargerId) { this.classChargerId = classChargerId; } public String getCode() { return this.code; } public void setCode(String code) { this.code = code; } public String getCreateId() { return this.createId; } public void setCreateId(String createId) { this.createId = createId; } public Date getCreateTime() { return this.createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getCreator() { return this.creator; } public void setCreator(String creator) { this.creator = creator; } public boolean getDeleteFlag() { return this.deleteFlag; } public void setDeleteFlag(boolean deleteFlag) { this.deleteFlag = deleteFlag; } public String getName() { return this.name; } public void setName(String name) { this.name = name; } public BigDecimal getPrice() { return this.price; } public void setPrice(BigDecimal price) { this.price = price; } public Date getStartTime() { return this.startTime; } public void setStartTime(Date startTime) { this.startTime = startTime; } public int getStudentCount() { return this.studentCount; } public void setStudentCount(int studentCount) { this.studentCount = studentCount; } public String getUpdateId() { return this.updateId; } public void setUpdateId(String updateId) { this.updateId = updateId; } public Date getUpdateTime() { return this.updateTime; } public void setUpdateTime(Date updateTime) { this.updateTime = updateTime; } public String getUpdator() { return this.updator; } public void setUpdator(String updator) { this.updator = updator; } public Date getEndTime() { return endTime; } public void setEndTime(Date endTime) { this.endTime = endTime; } public String getProgress() { return progress; } public void setProgress(String progress) { this.progress = progress; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } public boolean getRecommend() { return recommend; } public void setRecommend(boolean recommend) { this.recommend = recommend; } public String getImgPath() { return imgPath; } public void setImgPath(String imgPath) { this.imgPath = imgPath; } public boolean getExtended() { return extended; } public void setExtended(boolean extended) { this.extended = extended; } public String getClassTypes() { return classTypes; } public void setClassTypes(String classTypes) { this.classTypes = classTypes; } public BigDecimal getDiscount() { return discount; } public void setDiscount(BigDecimal discount) { this.discount = discount; } public BigDecimal getDisprice() { return disprice; } public void setDisprice(BigDecimal disprice) { this.disprice = disprice; } public BigDecimal getStudyTime() { return studyTime; } public void setStudyTime(BigDecimal studyTime) { this.studyTime = studyTime; } public BigDecimal getScore() { return score; } public void setScore(BigDecimal score) { this.score = score; } public BigInteger getStuAllCount() { return stuAllCount; } public void setStuAllCount(BigInteger stuAllCount) { this.stuAllCount = stuAllCount; } public BigInteger getCommentCount() { return commentCount; } public void setCommentCount(BigInteger commentCount) { this.commentCount = commentCount; } public String getPointer() { return pointer; } public void setPointer(String pointer) { this.pointer = pointer; } public String getCollegeCourseId() { return collegeCourseId; } public void setCollegeCourseId(String collegeCourseId) { this.collegeCourseId = collegeCourseId; } public String getCollegeCourseName() { return collegeCourseName; } public void setCollegeCourseName(String collegeCourseName) { this.collegeCourseName = collegeCourseName; } public String getCourseId() { return courseId; } public void setCourseId(String courseId) { this.courseId = courseId; } public String getCourseName() { return courseName; } public void setCourseName(String courseName) { this.courseName = courseName; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getArrangement() { return arrangement; } public void setArrangement(String arrangement) { this.arrangement = arrangement; } public String getAdvantage() { return advantage; } public void setAdvantage(String advantage) { this.advantage = advantage; } public BigDecimal getClickNum() { return clickNum; } public void setClickNum(BigDecimal clickNum) { this.clickNum = clickNum; } public String getProvince() { return province; } public void setProvince(String province) { this.province = province; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getRegion() { return region; } public void setRegion(String region) { this.region = region; } public Boolean getTopFlag() { return topFlag; } public void setTopFlag(Boolean topFlag) { this.topFlag = topFlag; } public String getMode() { return mode; } public void setMode(String mode) { this.mode = mode; } public String getGoodId() { return goodId; } public void setGoodId(String goodId) { this.goodId = goodId; } public String getProductId() { return productId; } public void setProductId(String productId) { this.productId = productId; } public String getOrgName() { return orgName; } public void setOrgName(String orgName) { this.orgName = orgName; } /** * @return the haveLive */ public Integer getHaveLive() { return haveLive; } /** * @param haveLive * the haveLive to set */ public void setHaveLive(Integer haveLive) { this.haveLive = haveLive; } /** * @return the haveVideo */ public Integer getHaveVideo() { return haveVideo; } /** * @param haveVideo * the haveVideo to set */ public void setHaveVideo(Integer haveVideo) { this.haveVideo = haveVideo; } /** * @return the haveHandout */ public Integer getHaveHandout() { return haveHandout; } /** * @param haveHandout * the haveHandout to set */ public void setHaveHandout(Integer haveHandout) { this.haveHandout = haveHandout; } /** * @return the logitudeX */ public String getLogitudeX() { return logitudeX; } /** * @param logitudeX * the logitudeX to set */ public void setLogitudeX(String logitudeX) { this.logitudeX = logitudeX; } /** * @return the latitudeY */ public String getLatitudeY() { return latitudeY; } /** * @param latitudeY * the latitudeY to set */ public void setLatitudeY(String latitudeY) { this.latitudeY = latitudeY; } /** * @return the paymentNum */ public BigInteger getPaymentNum() { return paymentNum; } /** * @param paymentNum * the paymentNum to set */ public void setPaymentNum(BigInteger paymentNum) { this.paymentNum = paymentNum; } /** * @return the haveAward */ public Integer getHaveAward() { return haveAward; } /** * @param haveAward * the haveAward to set */ public void setHaveAward(int haveAward) { this.haveAward = haveAward; } public String getOrgShortName() { return orgShortName; } public void setOrgShortName(String orgShortName) { this.orgShortName = orgShortName; } @Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((classId == null) ? 0 : classId.hashCode()); return result; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } ClsClass other = (ClsClass) obj; if (classId == null) { if (other.classId != null) { return false; } } else if (!classId.equals(other.classId)) { return false; } return true; } public String getFullText() { return fullText; } public void setFullText(String fullText) { this.fullText = fullText; } public String getClassNumber() { return classNumber; } public void setClassNumber(String classNumber) { this.classNumber = classNumber; } public void setHaveAward(Integer haveAward) { this.haveAward = haveAward; } public Boolean getNeedJoinAudit() { return needJoinAudit; } public void setNeedJoinAudit(Boolean needJoinAudit) { this.needJoinAudit = needJoinAudit; } public Boolean getNeedQuitAudit() { return needQuitAudit; } public void setNeedQuitAudit(Boolean needQuitAudit) { this.needQuitAudit = needQuitAudit; } public Boolean getShowAnalysisAfterExer() { return showAnalysisAfterExer; } public void setShowAnalysisAfterExer(Boolean showAnalysisAfterExer) { this.showAnalysisAfterExer = showAnalysisAfterExer; } public Boolean getCanMultiExer() { return canMultiExer; } public void setCanMultiExer(Boolean canMultiExer) { this.canMultiExer = canMultiExer; } public Boolean getNeedForum() { return needForum; } public void setNeedForum(Boolean needForum) { this.needForum = needForum; } public List getSubjects() { return subjects; } public List getVideoLives() { return videoLives; } public void setVideoLives(List videoLives) { this.videoLives = videoLives; } }