You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tamguo/tamguo-crawler/src/main/java/com/tamguo/model/PaperEntity.java

357 lines
23 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

package com.tamguo.model;
import java.io.Serializable;
import org.apache.commons.lang3.StringUtils;
// 引入Apache Commons Lang3库中的StringUtils类用于进行字符串相关的操作比如判断字符串是否为空等方便后续代码中对字符串的处理逻辑。
import com.alibaba.fastjson.JSONArray;
// 引入阿里巴巴的FastJSON库中的JSONArray类用于处理JSON格式的数据在本类中可能用于解析和操作与题目信息等相关的JSON数据结构。
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
// 这两个注解来自MyBatis-Plus框架@TableName用于指定该实体类对应的数据库表名@TableField用于对实体类中的字段进行一些额外的配置比如指定与数据库表字段的映射关系等。
import com.tamguo.config.dao.SuperEntity;
// 自定义的SuperEntity类当前类继承自它SuperEntity可能包含了一些通用的实体相关属性和方法具体取决于其定义供子类继承使用以减少重复代码编写。
// PaperEntity类用于表示试卷相关的实体信息它继承自SuperEntity类并实现了Serializable接口使得该类的对象能够进行序列化操作方便在网络传输、存储等场景下使用。
// 通过@TableName注解将其与数据库中的tiku_paper表进行关联这里表名指定为tiku_paper意味着这个类在数据库操作层面会对应这个表来进行数据的增删改查等操作。
@TableName(value = "tiku_paper")
public class PaperEntity extends SuperEntity<PaperEntity> implements Serializable {
private static final long serialVersionUID = 1L;
// 学科ID用于标识该试卷所属的学科通过这个字段可以关联到具体的学科信息比如与学科表中的对应学科进行关联方便进行按学科筛选、查询试卷等操作。
private String subjectId;
// 课程ID用于表明该试卷所属的课程可用于将试卷与特定课程进行关联便于课程相关的业务逻辑处理例如查找某课程下的所有试卷等。
private String courseId;
// 学校ID用于确定该试卷所属的学校通过它可以与学校相关信息建立联系比如获取该学校发布的所有试卷等在多学校应用场景下很有用。
private String schoolId;
// 区域ID用于标识试卷所涉及的区域可能关联到某个地区的行政区划等信息可用于按区域统计、查询试卷等业务场景。
private String areaId;
// 创建者ID用于记录创建该试卷的用户的唯一标识方便追踪试卷的创建来源以及后续涉及权限管理等相关操作比如只有创建者能修改试卷等情况。
private String createrId;
// 试卷名称,用于存储试卷的具体名称,在系统中可通过这个名称直观地展示试卷,方便用户识别和选择不同的试卷,也便于进行试卷名称相关的搜索等操作。
private String name;
// 题目信息以字符串形式存储试卷中包含的题目相关内容可能采用JSON格式等进行序列化存储后续需要通过相应的解析方法如本类中的getQueInfo方法来处理并获取具体的题目数据结构。
private String questionInfo;
// 试卷类型,用于区分不同类型的试卷,例如模拟试卷、真题试卷、专项练习试卷等,方便根据类型进行试卷分类展示、筛选等业务逻辑处理。
private String type;
// 年份,用于记录试卷对应的年份信息,可能是试卷的出题年份、适用年份等,有助于按年份对试卷进行分类、查询以及统计分析等操作。
private String year;
// 下载次数,用于统计该试卷被下载的频次,方便了解试卷的受欢迎程度以及在数据分析等方面提供下载相关的数据支持。
private Integer downHits;
// 查看次数,用于统计该试卷被用户打开查看的频次,可辅助分析试卷的关注度等情况,与下载次数一起可以综合评估试卷在系统中的使用热度。
private Integer openHits;
// SEO标题用于搜索引擎优化当试卷相关页面在搜索引擎中展示时这个标题会影响搜索结果的展示效果以及排名等情况提高试卷页面的曝光度。
private String seoTitle;
// SEO关键词同样是为了搜索引擎优化而设置的属性填写与试卷相关的关键搜索词汇帮助搜索引擎更好地理解试卷内容从而提高在搜索结果中的出现概率。
private String seoKeywords;
// SEO描述用于提供试卷的简要描述信息便于搜索引擎展示更详细准确的内容摘要吸引用户点击查看试卷详情也是搜索引擎优化的重要组成部分。
private String seoDescription;
// 这里使用@TableField注解并指定value="free",表示该属性与数据库表中的"free"字段进行映射,其含义可能与试卷是否免费等相关业务逻辑有关,具体取决于业务需求。
@TableField(value = "free")
private String free;
// 要点信息,可能用于存储试卷所涵盖的重点知识点等相关内容,方便用户提前了解试卷考查的关键内容,也有助于进行试卷内容相关的分析和整理。
private String point;
// 价格信息,用于记录试卷的售价(如果试卷是收费的情况),在涉及试卷购买等业务场景下会用到这个属性来进行价格相关的计算和展示等操作。
private String money;
// 这里使用@TableField注解并指定exist=false说明该属性在数据库表中不存在对应字段它可能是为了在业务逻辑处理过程中临时存储学科名称信息方便在不直接关联查询数据库的情况下进行展示等操作。
@TableField(exist = false)
private String subjectName;
// 同样,该属性在数据库表中不存在对应字段,用于临时存储课程名称信息,以便在相关业务逻辑中使用,比如在展示试卷详情时将课程名称一并展示出来等情况。
@TableField(exist = false)
private String courseName;
// 也是数据库表中不存在对应字段的属性用于临时存储区域名称信息方便在页面展示或者业务逻辑处理中使用区域的具体名称而不是只展示区域ID等情况。
@TableField(exist = false)
private String areaName;
// 同样是不在数据库表中有对应字段的属性,用于临时存储学校名称信息,便于在需要展示试卷所属学校的具体名称时使用,提升用户体验和信息展示的完整性。
@TableField(exist = false)
private String schoolName;
// getQueInfo方法用于获取经过解析后的题目信息它首先判断questionInfo属性是否为空字符串通过StringUtils.isEmpty方法判断
// 如果为空则返回null表示没有有效的题目信息可获取如果不为空则使用FastJSON的JSONArray.parseArray方法将questionInfo字符串解析为JSONArray对象并返回
// 这样外部代码就可以通过这个方法获取到解析后的题目数据结构,方便进行后续关于题目方面的操作,比如遍历题目、提取题目具体内容等。
public JSONArray getQueInfo() {
if (StringUtils.isEmpty(getQuestionInfo())) {
return null;
}
return JSONArray.parseArray(getQuestionInfo());
}
}
// 获取课程ID的方法用于返回当前对象中存储的课程ID属性值。
// 外部代码可以通过调用这个方法来获取试卷所属课程对应的唯一标识,便于后续进行与课程相关的业务逻辑处理,比如根据课程筛选试卷等。
public String getCourseId() {
return courseId;
}
// 设置课程ID的方法通过传入一个新的课程ID字符串参数来更新当前对象中存储的课程ID属性值。
// 常用于在修改试卷相关信息时对试卷所属课程进行重新指定等业务场景例如试卷被调整到其他课程下时使用该方法更新课程ID信息。
public void setCourseId(String courseId) {
this.courseId = courseId;
}
// 获取区域ID的方法用于返回当前对象中存储的区域ID属性值。
// 外部代码调用此方法后,可以得知试卷所涉及的区域标识,方便进行按区域分类、查询试卷等操作,例如获取某个特定区域内的所有试卷情况。
public String getAreaId() {
return areaId;
}
// 设置区域ID的方法传入一个新的区域ID字符串即可更新当前对象中存储的区域ID属性值。
// 可应用于试卷的区域信息变更场景比如试卷的适用区域发生改变时通过该方法来修改对应的区域ID。
public void setAreaId(String areaId) {
this.areaId = areaId;
}
// 获取试卷名称的方法,返回当前对象中存储的试卷名称属性值。
// 使得外部代码能够获取到试卷的具体名称,方便在系统中展示试卷信息给用户查看,也利于进行试卷名称相关的搜索、筛选等操作。
public String getName() {
return name;
}
// 设置试卷名称的方法,通过传入新的试卷名称字符串,可更新当前对象中存储的试卷名称属性值。
// 常用于修改试卷名称的业务场景,比如对试卷进行重新命名,使其名称更符合实际内容或者更便于用户识别等情况。
public void setName(String name) {
this.name = name;
}
// 获取试卷类型的方法,用于返回当前对象中存储的试卷类型属性值。
// 外部代码调用该方法后,就能知晓试卷属于何种类型(如模拟试卷、真题试卷等),便于按照类型对试卷进行分类展示、筛选、统计分析等业务逻辑处理。
public String getType() {
return type;
}
// 设置试卷类型的方法,传入一个新的试卷类型字符串,来更新当前对象中存储的试卷类型属性值。
// 可应用于试卷类型变更的场景,例如将一份模拟试卷重新标记为专项练习试卷等情况,通过此方法来修改试卷类型信息。
public void setType(String type) {
this.type = type;
}
// 获取试卷年份的方法,返回当前对象中存储的试卷年份属性值。
// 调用该方法后,外部代码可以获取到试卷对应的年份信息,方便按年份对试卷进行分类、查询以及相关的数据统计分析等操作,比如查看某一年的所有试卷情况。
public String getYear() {
return year;
}
// 设置试卷年份的方法,通过传入新的年份字符串,更新当前对象中存储的试卷年份属性值。
// 常用于修正试卷年份信息或者对试卷适用年份进行调整等业务场景,确保试卷年份信息的准确性。
public void setYear(String year) {
this.year = year;
}
// 此方法用于获取序列化版本号serialVersionUID不过在实际应用中serialVersionUID通常是作为一个静态常量直接使用
// 很少通过这样的方法去获取它。它主要用于判断对象序列化和反序列化过程中的兼容性,确保在不同版本的类定义下序列化操作的正确性。
public static long getSerialversionuid() {
return serialVersionUID;
}
// 获取学校ID的方法返回当前对象中存储的学校ID属性值。
// 外部代码调用该方法后,能够得知试卷所属的学校标识,方便进行与学校相关的业务逻辑处理,例如获取某学校发布的所有试卷等操作。
public String getSchoolId() {
return schoolId;
}
// 设置学校ID的方法传入一个新的学校ID字符串用于更新当前对象中存储的学校ID属性值。
// 可应用于试卷所属学校发生变更的场景比如试卷从一个学校转移到另一个学校管理时通过该方法来修改学校ID信息。
public void setSchoolId(String schoolId) {
this.schoolId = schoolId;
}
// 获取试卷下载次数的方法,返回当前对象中存储的试卷下载次数属性值。
// 外部代码通过调用这个方法可以获取到试卷被下载的频次情况,方便了解试卷的受欢迎程度以及用于数据分析等方面,比如统计热门试卷下载量排名等操作。
public Integer getDownHits() {
return downHits;
}
// 设置试卷下载次数的方法,通过传入一个新的下载次数整数值,来更新当前对象中存储的下载次数属性值。
// 常用于在每次试卷被下载后,相应地更新下载次数统计信息的业务场景,确保下载次数数据的准确性。
public void setDownHits(Integer downHits) {
this.downHits = downHits;
}
// 获取试卷查看次数的方法,返回当前对象中存储的试卷查看次数属性值。
// 外部代码调用此方法后,可以得知试卷被用户打开查看的频次情况,有助于分析试卷的关注度等,与下载次数结合可综合评估试卷在系统中的使用热度。
public Integer getOpenHits() {
return openHits;
}
// 设置试卷查看次数的方法,传入一个新的查看次数整数值,更新当前对象中存储的查看次数属性值。
// 一般在每次试卷页面被用户打开查看后,通过该方法来更新查看次数的统计数据,以便准确记录试卷的查看热度情况。
public void setOpenHits(Integer openHits) {
this.openHits = openHits;
}
// 获取试卷题目信息的方法,返回当前对象中存储的试卷题目信息属性值。
// 外部代码调用该方法后,能够获取到试卷包含的题目相关内容(通常是以某种格式序列化后的字符串,可能需要进一步解析处理),以便进行后续关于题目方面的操作。
public String getQuestionInfo() {
return questionInfo;
}
// 设置试卷题目信息的方法,通过传入新的题目信息字符串,更新当前对象中存储的题目信息属性值。
// 常用于更新试卷题目内容的业务场景,比如对试卷中的题目进行修改、替换等操作后,使用该方法来保存新的题目信息。
public void setQuestionInfo(String questionInfo) {
this.questionInfo = questionInfo;
}
// 获取试卷创建者ID的方法返回当前对象中存储的创建者ID属性值。
// 外部代码调用该方法后,可以得知是谁创建了该试卷,方便追踪试卷的创建来源以及进行后续涉及权限管理等相关操作,例如只有创建者能修改试卷等情况。
public String getCreaterId() {
return createrId;
}
// 设置试卷创建者ID的方法传入一个新的创建者ID字符串用于更新当前对象中存储的创建者ID属性值。
// 可应用于试卷创建者信息变更的场景比如将试卷的创建权限转移给其他用户时通过该方法来修改创建者ID。
public void setCreaterId(String createrId) {
this.createrId = createrId;
}
// 获取试卷SEO标题的方法返回当前对象中存储的SEO标题属性值。
// 外部代码调用该方法后,能够获取到用于搜索引擎优化的试卷标题内容,方便在搜索引擎相关业务处理中使用,比如设置网页标题等操作,以提高试卷页面的曝光度。
public String getSeoTitle() {
return seoTitle;
}
// 设置试卷SEO标题的方法通过传入新的SEO标题字符串更新当前对象中存储的SEO标题属性值。
// 常用于优化试卷在搜索引擎中展示效果的业务场景,比如修改标题使其更符合搜索引擎排名规则,吸引更多用户点击查看试卷详情等情况。
public void setSeoTitle(String seoTitle) {
this.seoTitle = seoTitle;
}
// 获取试卷SEO关键词的方法返回当前对象中存储的SEO关键词属性值。
// 外部代码调用该方法后,可以获取到用于搜索引擎优化的关键搜索词汇,帮助搜索引擎更好地理解试卷内容,从而提高试卷在搜索结果中的出现概率。
public String getSeoKeywords() {
return seoKeywords;
}
// 设置试卷SEO关键词的方法传入一个新的SEO关键词字符串来更新当前对象中存储的SEO关键词属性值。
// 常用于根据试卷内容和业务需求调整关键词的业务场景,使得试卷在搜索引擎中更容易被用户搜索到,提升流量和曝光度。
public void setSeoKeywords(String seoKeywords) {
this.seoKeywords = seoKeywords;
}
// 获取试卷SEO描述的方法返回当前对象中存储的SEO描述属性值。
// 外部代码调用该方法后,能够获取到试卷的简要描述信息,便于搜索引擎展示更详细准确的内容摘要,吸引用户点击查看试卷详情,是搜索引擎优化的重要组成部分。
public String getSeoDescription() {
return seoDescription;
}
// 设置试卷SEO描述的方法通过传入新的SEO描述字符串更新当前对象中存储的SEO描述属性值。
// 常用于更新试卷在搜索引擎中展示的描述内容的业务场景,使其更具吸引力,提高用户点击进入试卷详情页面的概率。
public void setSeoDescription(String seoDescription) {
this.seoDescription = seoDescription;
}
// 获取课程名称的方法,返回当前对象中存储的课程名称属性值。
// 需注意该属性在数据库表中通常不存在对应字段,它可能是为了在业务逻辑处理过程中临时存储课程名称信息,方便在不直接关联查询数据库的情况下进行展示等操作。
public String getCourseName() {
return courseName;
}
// 设置课程名称的方法,传入一个新的课程名称字符串,更新当前对象中存储的课程名称属性值。
// 常用于在业务逻辑处理中,当获取到课程相关信息后,将课程名称保存到该属性中,以便后续方便地展示课程名称给用户查看等情况。
public void setCourseName(String courseName) {
this.courseName = courseName;
}
// 获取区域名称的方法,返回当前对象中存储的区域名称属性值。
// 同样该属性在数据库表中一般无对应字段是用于临时存储区域名称信息方便在页面展示或者业务逻辑处理中使用区域的具体名称而不是只展示区域ID等情况。
public String getAreaName() {
return areaName;
}
// 设置区域名称的方法,传入一个新的区域名称字符串,用于更新当前对象中存储的区域名称属性值。
// 常用于在获取区域相关信息后,将具体的区域名称赋值给该属性,便于后续展示给用户或者在业务逻辑中使用区域的具体名称进行判断、筛选等操作。
public void setAreaName(String areaName) {
this.areaName = areaName;
}
// 获取学校名称的方法,返回当前对象中存储的学校名称属性值。
// 此属性在数据库表中通常也不存在对应字段,它用于临时存储学校名称信息,便于在需要展示试卷所属学校的具体名称时使用,提升用户体验和信息展示的完整性。
public String getSchoolName() {
return schoolName;
}
// 设置学校名称的方法,传入一个新的学校名称字符串,更新当前对象中存储的学校名称属性值。
// 常用于在业务逻辑处理中,当得知试卷所属学校后,将学校的具体名称保存到该属性中,方便后续展示给用户查看,使试卷信息展示更全面直观。
public void setSchoolName(String schoolName) {
this.schoolName = schoolName;
}
// 获取学科ID的方法返回当前对象中存储的学科ID属性值。
// 外部代码通过调用这个方法可以获取试卷所属学科对应的唯一标识,便于后续进行与学科相关的业务逻辑处理,比如根据学科筛选试卷等操作。
public String getSubjectId() {
return subjectId;
}
// 设置学科ID的方法通过传入一个新的学科ID字符串来更新当前对象中存储的学科ID属性值。
// 常用于在试卷学科归属发生变化等业务场景下对学科ID进行相应的更新确保试卷与正确的学科相关联。
public void setSubjectId(String subjectId) {
this.subjectId = subjectId;
}
// 获取学科名称的方法,返回当前对象中存储的学科名称属性值。
// 该属性在数据库表中一般不存在对应字段,主要是为了在业务逻辑处理过程中临时存储学科名称信息,方便在不直接关联查询数据库的情况下进行展示等操作。
public String getSubjectName() {
return subjectName;
}
// 设置学科名称的方法,传入一个新的学科名称字符串,更新当前对象中存储的学科名称属性值。
// 常用于在获取学科相关信息后,将学科的具体名称保存到该属性中,以便后续方便地展示学科名称给用户查看等情况。
public void setSubjectName(String subjectName) {
this.subjectName = subjectName;
}
// 获取试卷要点信息的方法,返回当前对象中存储的试卷要点属性值。
// 外部代码调用该方法后,可以获取到试卷所涵盖的重点知识点等相关内容,方便用户提前了解试卷考查的关键内容,也有助于进行试卷内容相关的分析和整理。
public String getPoint() {
return point;
}
// 设置试卷要点信息的方法,通过传入新的要点信息字符串,更新当前对象中存储的要点属性值。
// 常用于更新试卷重点知识点相关内容的业务场景,比如根据教学大纲变化或者试卷调整对试卷考查要点进行修改后,使用该方法保存新的要点信息。
public void setPoint(String point) {
this.point = point;
}
// 获取试卷价格信息的方法,返回当前对象中存储的试卷价格属性值。
// 外部代码调用该方法后,能够得知试卷的售价情况(如果试卷是收费的),在涉及试卷购买等业务场景下会用到这个属性来进行价格相关的计算和展示等操作。
public String getMoney() {
return money;
}
// 设置试卷价格信息的方法,传入一个新的价格信息字符串,更新当前对象中存储的价格属性值。
// 常用于调整试卷价格的业务场景,比如试卷进行促销活动或者价格调整时,通过该方法来修改试卷的售价信息。
public void setMoney(String money) {
this.money = money;
}
// 获取试卷是否免费相关信息的方法,返回当前对象中存储的与试卷是否免费相关的属性值。
// 该属性通过@TableField(value = "free")注解与数据库表中的"free"字段进行映射,其具体含义取决于业务需求,可能表示试卷是否免费等情况。
public String getFree() {
return free;
}
// 设置试卷是否免费相关信息的方法,传入一个新的表示免费相关信息的字符串,更新当前对象中存储的该属性值。
// 常用于修改试卷免费与否状态的业务场景,比如将原本收费的试卷设置为免费,或者反之等情况,通过该方法来更新对应的属性信息。
public void setFree(String free) {
this.free = free;
}