From ece09f22e2fe16255ca8c7cf1565a66be540d78d Mon Sep 17 00:00:00 2001 From: pz2femycj <1468034451@qq.com> Date: Mon, 28 Apr 2025 21:50:57 +0800 Subject: [PATCH] Update JianshenkechengEntity.java --- JianshenkechengEntity.java | 638 ++++++++++++++++--------------------- 1 file changed, 282 insertions(+), 356 deletions(-) diff --git a/JianshenkechengEntity.java b/JianshenkechengEntity.java index 933cde8..2783952 100644 --- a/JianshenkechengEntity.java +++ b/JianshenkechengEntity.java @@ -1,356 +1,282 @@ -package com.entity; - -import com.annotation.ColumnInfo; -import javax.validation.constraints.*; -import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import java.lang.reflect.InvocationTargetException; -import java.io.Serializable; -import java.util.*; -import org.apache.tools.ant.util.DateUtils; -import org.springframework.format.annotation.DateTimeFormat; -import com.fasterxml.jackson.annotation.JsonFormat; -import org.apache.commons.beanutils.BeanUtils; -import com.baomidou.mybatisplus.annotations.TableField; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.annotations.TableName; -import com.baomidou.mybatisplus.enums.IdType; -import com.baomidou.mybatisplus.enums.FieldFill; -import com.utils.DateUtil; - - -/** - * 健身课程 - * - * @author - * @email - */ -@TableName("jianshenkecheng") -public class JianshenkechengEntity implements Serializable { - private static final long serialVersionUID = 1L; - - - public JianshenkechengEntity() { - - } - - public JianshenkechengEntity(T t) { - try { - BeanUtils.copyProperties(this, t); - } catch (IllegalAccessException | InvocationTargetException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - - /** - * 主键 - */ - @TableId(type = IdType.AUTO) - @ColumnInfo(comment="主键",type="int(11)") - @TableField(value = "id") - - private Integer id; - - - /** - * 教练 - */ - @ColumnInfo(comment="教练",type="int(11)") - @TableField(value = "jiaolian_id") - - private Integer jiaolianId; - - - /** - * 健身课程名称 - */ - @ColumnInfo(comment="健身课程名称",type="varchar(200)") - @TableField(value = "jianshenkecheng_name") - - private String jianshenkechengName; - - - /** - * 健身课程照片 - */ - @ColumnInfo(comment="健身课程照片",type="varchar(200)") - @TableField(value = "jianshenkecheng_photo") - - private String jianshenkechengPhoto; - - - /** - * 课程视频 - */ - @ColumnInfo(comment="课程视频",type="varchar(200)") - @TableField(value = "jianshenkecheng_video") - - private String jianshenkechengVideo; - - - /** - * 赞 - */ - @ColumnInfo(comment="赞",type="int(11)") - @TableField(value = "zan_number") - - private Integer zanNumber; - - - /** - * 踩 - */ - @ColumnInfo(comment="踩",type="int(11)") - @TableField(value = "cai_number") - - private Integer caiNumber; - - - /** - * 健身课程类型 - */ - @ColumnInfo(comment="健身课程类型",type="int(11)") - @TableField(value = "jianshenkecheng_types") - - private Integer jianshenkechengTypes; - - - /** - * 健身课程热度 - */ - @ColumnInfo(comment="健身课程热度",type="int(11)") - @TableField(value = "jianshenkecheng_clicknum") - - private Integer jianshenkechengClicknum; - - - /** - * 健身课程介绍 - */ - @ColumnInfo(comment="健身课程介绍",type="longtext") - @TableField(value = "jianshenkecheng_content") - - private String jianshenkechengContent; - - - /** - * 逻辑删除 - */ - @ColumnInfo(comment="逻辑删除",type="int(11)") - @TableField(value = "data_delete") - - private Integer dataDelete; - - - /** - * 录入时间 - */ - @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") - @DateTimeFormat - @ColumnInfo(comment="录入时间",type="timestamp") - @TableField(value = "insert_time",fill = FieldFill.INSERT) - - private Date insertTime; - - - /** - * 创建时间 homeMain - */ - @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") - @DateTimeFormat - @ColumnInfo(comment="创建时间",type="timestamp") - @TableField(value = "create_time",fill = FieldFill.INSERT) - - private Date createTime; - - - /** - * 获取:主键 - */ - public Integer getId() { - return id; - } - /** - * 设置:主键 - */ - - public void setId(Integer id) { - this.id = id; - } - /** - * 获取:教练 - */ - public Integer getJiaolianId() { - return jiaolianId; - } - /** - * 设置:教练 - */ - - public void setJiaolianId(Integer jiaolianId) { - this.jiaolianId = jiaolianId; - } - /** - * 获取:健身课程名称 - */ - public String getJianshenkechengName() { - return jianshenkechengName; - } - /** - * 设置:健身课程名称 - */ - - public void setJianshenkechengName(String jianshenkechengName) { - this.jianshenkechengName = jianshenkechengName; - } - /** - * 获取:健身课程照片 - */ - public String getJianshenkechengPhoto() { - return jianshenkechengPhoto; - } - /** - * 设置:健身课程照片 - */ - - public void setJianshenkechengPhoto(String jianshenkechengPhoto) { - this.jianshenkechengPhoto = jianshenkechengPhoto; - } - /** - * 获取:课程视频 - */ - public String getJianshenkechengVideo() { - return jianshenkechengVideo; - } - /** - * 设置:课程视频 - */ - - public void setJianshenkechengVideo(String jianshenkechengVideo) { - this.jianshenkechengVideo = jianshenkechengVideo; - } - /** - * 获取:赞 - */ - public Integer getZanNumber() { - return zanNumber; - } - /** - * 设置:赞 - */ - - public void setZanNumber(Integer zanNumber) { - this.zanNumber = zanNumber; - } - /** - * 获取:踩 - */ - public Integer getCaiNumber() { - return caiNumber; - } - /** - * 设置:踩 - */ - - public void setCaiNumber(Integer caiNumber) { - this.caiNumber = caiNumber; - } - /** - * 获取:健身课程类型 - */ - public Integer getJianshenkechengTypes() { - return jianshenkechengTypes; - } - /** - * 设置:健身课程类型 - */ - - public void setJianshenkechengTypes(Integer jianshenkechengTypes) { - this.jianshenkechengTypes = jianshenkechengTypes; - } - /** - * 获取:健身课程热度 - */ - public Integer getJianshenkechengClicknum() { - return jianshenkechengClicknum; - } - /** - * 设置:健身课程热度 - */ - - public void setJianshenkechengClicknum(Integer jianshenkechengClicknum) { - this.jianshenkechengClicknum = jianshenkechengClicknum; - } - /** - * 获取:健身课程介绍 - */ - public String getJianshenkechengContent() { - return jianshenkechengContent; - } - /** - * 设置:健身课程介绍 - */ - - public void setJianshenkechengContent(String jianshenkechengContent) { - this.jianshenkechengContent = jianshenkechengContent; - } - /** - * 获取:逻辑删除 - */ - public Integer getDataDelete() { - return dataDelete; - } - /** - * 设置:逻辑删除 - */ - - public void setDataDelete(Integer dataDelete) { - this.dataDelete = dataDelete; - } - /** - * 获取:录入时间 - */ - public Date getInsertTime() { - return insertTime; - } - /** - * 设置:录入时间 - */ - - public void setInsertTime(Date insertTime) { - this.insertTime = insertTime; - } - /** - * 获取:创建时间 homeMain - */ - public Date getCreateTime() { - return createTime; - } - /** - * 设置:创建时间 homeMain - */ - - public void setCreateTime(Date createTime) { - this.createTime = createTime; - } - - @Override - public String toString() { - return "Jianshenkecheng{" + - ", id=" + id + - ", jiaolianId=" + jiaolianId + - ", jianshenkechengName=" + jianshenkechengName + - ", jianshenkechengPhoto=" + jianshenkechengPhoto + - ", jianshenkechengVideo=" + jianshenkechengVideo + - ", zanNumber=" + zanNumber + - ", caiNumber=" + caiNumber + - ", jianshenkechengTypes=" + jianshenkechengTypes + - ", jianshenkechengClicknum=" + jianshenkechengClicknum + - ", jianshenkechengContent=" + jianshenkechengContent + - ", dataDelete=" + dataDelete + - ", insertTime=" + DateUtil.convertString(insertTime,"yyyy-MM-dd") + - ", createTime=" + DateUtil.convertString(createTime,"yyyy-MM-dd") + - "}"; - } -} +// 包声明:实体类包,存放所有与数据库表映射的JavaBean对象 +package com.entity; + +// 字段描述注解:自定义数据库字段元数据 +import com.annotation.ColumnInfo; +// 数据校验注解:提供非空、范围等验证规则 +import javax.validation.constraints.*; +// JSON序列化配置:忽略未定义属性 +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +// 反射异常类:处理属性拷贝时的异常 +import java.lang.reflect.InvocationTargetException; +// 序列化接口标识 +import java.io.Serializable; +// 集合工具类 +import java.util.*; +// Apache Ant日期工具(代码中未使用,建议移除) +import org.apache.tools.ant.util.DateUtils; +// Spring日期参数绑定注解 +import org.springframework.format.annotation.DateTimeFormat; +// Jackson日期格式化注解 +import com.fasterxml.jackson.annotation.JsonFormat; +// Bean属性拷贝工具 +import org.apache.commons.beanutils.BeanUtils; +// MyBatis Plus字段注解 +import com.baomidou.mybatisplus.annotations.TableField; +// MyBatis Plus主键注解 +import com.baomidou.mybatisplus.annotations.TableId; +// MyBatis Plus表名注解 +import com.baomidou.mybatisplus.annotations.TableName; +// MyBatis Plus主键策略枚举 +import com.baomidou.mybatisplus.enums.IdType; +// MyBatis Plus字段填充策略 +import com.baomidou.mybatisplus.enums.FieldFill; +// 自定义日期格式化工具 +import com.utils.DateUtil; + + + // 健身课程实体 + //映射数据库表 jianshenkecheng + //存储健身课程基本信息、统计数据和关联信息 + +@TableName("jianshenkecheng") // 指定关联数据库表名 +public class JianshenkechengEntity implements Serializable { + // 序列化版本标识(类版本控制) + private static final long serialVersionUID = 1L; + + // 空构造器(持久层框架需要) + public JianshenkechengEntity() { + + } + + // 泛型构造器:通过反射进行属性拷贝 + public JianshenkechengEntity(T t) { + try { + BeanUtils.copyProperties(this, t); // 使用Apache工具类拷贝属性 + } catch (IllegalAccessException | InvocationTargetException e) { + e.printStackTrace(); // 生产环境建议改为日志记录 + } + } + + // 主键字段(自增策略) + @TableId(type = IdType.AUTO) // 主键生成策略:数据库自增 + @ColumnInfo(comment="主键",type="int(11)") // 字段注释:主键,数据库类型int(11) + @TableField("id") // 映射数据库字段名(可省略) + private Integer id; + + // 关联教练ID(外键) + @ColumnInfo(comment="教练",type="int(11)") // 关联jiaolian表主键 + @TableField("jiaolian_id") + private Integer jiaolianId; + + // 课程名称(需考虑唯一性约束) + @ColumnInfo(comment="健身课程名称",type="varchar(200)") // 数据库类型varchar(200) + @TableField("jianshenkecheng_name") + private String jianshenkechengName; + + // 课程封面图URL(建议添加OSS存储注释) + @ColumnInfo(comment="健身课程照片",type="varchar(200)") // 存储图片路径 + @TableField("jianshenkecheng_photo") + private String jianshenkechengPhoto; + + // 课程视频地址(建议标注支持的格式) + @ColumnInfo(comment="课程视频",type="varchar(200)") // 存储视频文件路径或URL + @TableField("jianshenkecheng_video") + private String jianshenkechengVideo; + + // 点赞计数器(建议添加并发控制) + @ColumnInfo(comment="赞",type="int(11)") // 默认值建议设置为0 + @TableField("zan_number") + private Integer zanNumber; + + // 点踩计数器(考虑是否需要负值限制) + @ColumnInfo(comment="踩",type="int(11)") + @TableField("cai_number") + private Integer caiNumber; + + // 课程分类(应关联字典表或使用枚举类) + @ColumnInfo(comment="健身课程类型",type="int(11)") // 例:1-有氧 2-力量 3-柔韧 + @TableField("jianshenkecheng_types") + private Integer jianshenkechengTypes; + + // 点击量统计(可考虑每日统计优化) + @ColumnInfo(comment="健身课程热度",type="int(11)") // 记录课程查看次数 + @TableField("jianshenkecheng_clicknum") + private Integer jianshenkechengClicknum; + + // 富文本课程介绍(需考虑XSS防护) + @ColumnInfo(comment="健身课程介绍",type="longtext") // 存储HTML格式内容 + @TableField("jianshenkecheng_content") + private String jianshenkechengContent; + + // 逻辑删除标志(0-未删除 1-已删除) + @ColumnInfo(comment="逻辑删除",type="int(11)") // 替代物理删除 + @TableField("data_delete") + private Integer dataDelete; + + // 数据录入时间(管理后台操作时间) + @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") // 响应格式 + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") // 请求参数格式 + @ColumnInfo(comment="录入时间",type="timestamp") // 数据库类型timestamp + @TableField(value = "insert_time", fill = FieldFill.INSERT) // 新增时自动填充 + private Date insertTime; + + // 课程创建时间(业务时间,可能与insert_time重复) + @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ColumnInfo(comment="创建时间",type="timestamp") // 建议确认与insert_time的区别 + @TableField(value = "create_time", fill = FieldFill.INSERT) + private Date createTime; + + // ----------------------------- Getter/Setter方法 ----------------------------- + + // 主键访问器 + public Integer getId() { + return id; + } + + // 主键修改器 + public void setId(Integer id) { + this.id = id; + } + + // 教练ID访问器 + public Integer getJiaolianId() { + return jiaolianId; + } + + // 教练ID修改器(应校验教练存在性) + public void setJiaolianId(Integer jiaolianId) { + this.jiaolianId = jiaolianId; + } + + // 课程名称访问器 + public String getJianshenkechengName() { + return jianshenkechengName; + } + + // 课程名称修改器(建议添加唯一性校验) + public void setJianshenkechengName(String jianshenkechengName) { + this.jianshenkechengName = jianshenkechengName; + } + + // 课程图片访问器 + public String getJianshenkechengPhoto() { + return jianshenkechengPhoto; + } + + // 课程图片修改器(建议添加格式校验) + public void setJianshenkechengPhoto(String jianshenkechengPhoto) { + this.jianshenkechengPhoto = jianshenkechengPhoto; + } + + // 课程视频访问器 + public String getJianshenkechengVideo() { + return jianshenkechengVideo; + } + + // 课程视频修改器(建议添加视频格式校验) + public void setJianshenkechengVideo(String jianshenkechengVideo) { + this.jianshenkechengVideo = jianshenkechengVideo; + } + + // 点赞数访问器 + public Integer getZanNumber() { + return zanNumber; + } + + // 点赞数修改器(建议添加非负校验) + public void setZanNumber(Integer zanNumber) { + this.zanNumber = zanNumber; + } + + // 点踩数访问器 + public Integer getCaiNumber() { + return caiNumber; + } + + // 点踩数修改器(建议添加非负校验) + public void setCaiNumber(Integer caiNumber) { + this.caiNumber = caiNumber; + } + + // 课程类型访问器 + public Integer getJianshenkechengTypes() { + return jianshenkechengTypes; + } + + // 课程类型修改器(应限制有效值范围) + public void setJianshenkechengTypes(Integer jianshenkechengTypes) { + this.jianshenkechengTypes = jianshenkechengTypes; + } + + // 点击量访问器 + public Integer getJianshenkechengClicknum() { + return jianshenkechengClicknum; + } + + // 点击量修改器(建议只允许递增) + public void setJianshenkechengClicknum(Integer jianshenkechengClicknum) { + this.jianshenkechengClicknum = jianshenkechengClicknum; + } + + // 课程详情访问器 + public String getJianshenkechengContent() { + return jianshenkechengContent; + } + + // 课程详情修改器(建议添加HTML过滤) + public void setJianshenkechengContent(String jianshenkechengContent) { + this.jianshenkechengContent = jianshenkechengContent; + } + + // 逻辑删除标志访问器 + public Integer getDataDelete() { + return dataDelete; + } + + // 逻辑删除标志修改器(应限制0/1取值) + public void setDataDelete(Integer dataDelete) { + this.dataDelete = dataDelete; + } + + // 录入时间访问器(通常自动生成) + public Date getInsertTime() { + return insertTime; + } + + // 录入时间修改器(通常无需手动设置) + public void setInsertTime(Date insertTime) { + this.insertTime = insertTime; + } + + // 创建时间访问器(注意与insert_time区别) + public Date getCreateTime() { + return createTime; + } + + // 创建时间修改器(需确认业务场景) + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + // 对象字符串表示(调试用) + @Override + public String toString() { + return "Jianshenkecheng{" + + ", id=" + id + + ", jiaolianId=" + jiaolianId + + ", jianshenkechengName=" + jianshenkechengName + + ", jianshenkechengPhoto=" + jianshenkechengPhoto + + ", jianshenkechengVideo=" + jianshenkechengVideo + + ", zanNumber=" + zanNumber + + ", caiNumber=" + caiNumber + + ", jianshenkechengTypes=" + jianshenkechengTypes + + ", jianshenkechengClicknum=" + jianshenkechengClicknum + + ", jianshenkechengContent=" + jianshenkechengContent + + ", dataDelete=" + dataDelete + + ", insertTime=" + DateUtil.convertString(insertTime,"yyyy-MM-dd") + // 格式化丢失时间精度 + ", createTime=" + DateUtil.convertString(createTime,"yyyy-MM-dd") + + "}"; + } +} \ No newline at end of file