feat: 新增前台业务数据模型
- 新增TargetTypeEnum目标类型枚举(非遗项目、传承人、新闻、活动) - 新增前台用户实体类HrtUser - 新增非遗项目实体类HrtHeritage - 新增传承人实体类HrtInheritor - 新增新闻资讯实体类HrtNews - 新增活动实体类HrtEvent - 新增评论实体类HrtComment - 新增收藏实体类HrtFavorite - 新增点赞实体类HrtLike - 新增浏览历史实体类HrtViewHistory - 新增活动报名实体类HrtEventRegistration - 新增所有实体对应的VO类(查询、新增、更新等)
This commit is contained in:
parent
a45a400238
commit
d082e2f830
@ -0,0 +1,87 @@
|
||||
package org.leocoder.heritage.domain.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [目标类型枚举]
|
||||
*/
|
||||
@Getter
|
||||
public enum TargetTypeEnum {
|
||||
|
||||
/**
|
||||
* 非遗项目
|
||||
*/
|
||||
HERITAGE("heritage", "非遗项目"),
|
||||
|
||||
/**
|
||||
* 传承人
|
||||
*/
|
||||
INHERITOR("inheritor", "传承人"),
|
||||
|
||||
/**
|
||||
* 新闻资讯
|
||||
*/
|
||||
NEWS("news", "新闻资讯"),
|
||||
|
||||
/**
|
||||
* 评论(仅点赞支持)
|
||||
*/
|
||||
COMMENT("comment", "评论");
|
||||
|
||||
/**
|
||||
* 类型代码
|
||||
*/
|
||||
private final String code;
|
||||
|
||||
/**
|
||||
* 类型名称
|
||||
*/
|
||||
private final String name;
|
||||
|
||||
TargetTypeEnum(String code, String name) {
|
||||
this.code = code;
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
/**
|
||||
* @description [根据代码获取枚举]
|
||||
* @author Leocoder
|
||||
*/
|
||||
public static TargetTypeEnum fromCode(String code) {
|
||||
for (TargetTypeEnum type : values()) {
|
||||
if (type.getCode().equals(code)) {
|
||||
return type;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @description [验证代码是否有效]
|
||||
* @author Leocoder
|
||||
*/
|
||||
public static boolean isValid(String code) {
|
||||
return fromCode(code) != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @description [验证是否支持收藏]
|
||||
* @author Leocoder
|
||||
*/
|
||||
public static boolean isFavoriteSupported(String code) {
|
||||
TargetTypeEnum type = fromCode(code);
|
||||
// 收藏不支持评论类型
|
||||
return type != null && type != COMMENT;
|
||||
}
|
||||
|
||||
/**
|
||||
* @description [验证是否支持点赞]
|
||||
* @author Leocoder
|
||||
*/
|
||||
public static boolean isLikeSupported(String code) {
|
||||
// 点赞支持所有类型
|
||||
return isValid(code);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,44 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import jakarta.validation.constraints.*;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [发表评论请求VO]
|
||||
*/
|
||||
@Data
|
||||
public class CommentAddVo {
|
||||
|
||||
/**
|
||||
* 目标类型:heritage、inheritor、news、event
|
||||
*/
|
||||
@NotBlank(message = "目标类型不能为空")
|
||||
private String targetType;
|
||||
|
||||
/**
|
||||
* 目标ID
|
||||
*/
|
||||
@NotNull(message = "目标ID不能为空")
|
||||
private Long targetId;
|
||||
|
||||
/**
|
||||
* 评论内容
|
||||
*/
|
||||
@NotBlank(message = "评论内容不能为空")
|
||||
@Size(min = 1, max = 500, message = "评论内容长度必须在1-500字符之间")
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 评分:1-5星(仅针对非遗项目,可选)
|
||||
*/
|
||||
@Min(value = 1, message = "评分不能小于1星")
|
||||
@Max(value = 5, message = "评分不能大于5星")
|
||||
private Integer rating;
|
||||
|
||||
/**
|
||||
* 父评论ID(0或null表示一级评论)
|
||||
*/
|
||||
private Long parentId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,87 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [评论项展示VO]
|
||||
*/
|
||||
@Data
|
||||
public class CommentItemVo {
|
||||
|
||||
/**
|
||||
* 评论ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 用户昵称
|
||||
*/
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 用户头像
|
||||
*/
|
||||
private String userAvatar;
|
||||
|
||||
/**
|
||||
* 目标类型:heritage、inheritor、news、event
|
||||
*/
|
||||
private String targetType;
|
||||
|
||||
/**
|
||||
* 目标ID
|
||||
*/
|
||||
private Long targetId;
|
||||
|
||||
/**
|
||||
* 评论内容
|
||||
*/
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 评分:1-5星(仅针对非遗项目)
|
||||
*/
|
||||
private Integer rating;
|
||||
|
||||
/**
|
||||
* 父评论ID(0表示一级评论)
|
||||
*/
|
||||
private Long parentId;
|
||||
|
||||
/**
|
||||
* 点赞数
|
||||
*/
|
||||
private Integer likeCount;
|
||||
|
||||
/**
|
||||
* 当前用户是否已点赞
|
||||
*/
|
||||
private Boolean isLiked = false;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 回复列表(仅一级评论包含)
|
||||
*/
|
||||
private List<CommentItemVo> replies;
|
||||
|
||||
/**
|
||||
* 回复数量
|
||||
*/
|
||||
private Integer replyCount = 0;
|
||||
|
||||
}
|
||||
@ -0,0 +1,41 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [评论列表查询VO]
|
||||
*/
|
||||
@Data
|
||||
public class CommentQueryVo {
|
||||
|
||||
/**
|
||||
* 页码
|
||||
*/
|
||||
private Integer pageNum = 1;
|
||||
|
||||
/**
|
||||
* 每页数量
|
||||
*/
|
||||
private Integer pageSize = 10;
|
||||
|
||||
/**
|
||||
* 目标类型:heritage、inheritor、news、event
|
||||
*/
|
||||
@NotBlank(message = "目标类型不能为空")
|
||||
private String targetType;
|
||||
|
||||
/**
|
||||
* 目标ID
|
||||
*/
|
||||
@NotNull(message = "目标ID不能为空")
|
||||
private Long targetId;
|
||||
|
||||
/**
|
||||
* 排序方式:latest-最新、hottest-最热(默认最新)
|
||||
*/
|
||||
private String sortType = "latest";
|
||||
|
||||
}
|
||||
@ -0,0 +1,99 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [活动详情展示VO]
|
||||
*/
|
||||
@Data
|
||||
public class EventDetailVo {
|
||||
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 活动标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 活动摘要
|
||||
*/
|
||||
private String summary;
|
||||
|
||||
/**
|
||||
* 活动详情
|
||||
*/
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 封面图
|
||||
*/
|
||||
private String coverImage;
|
||||
|
||||
/**
|
||||
* 活动地点
|
||||
*/
|
||||
private String location;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
/**
|
||||
* 最大参与人数
|
||||
*/
|
||||
private Integer maxParticipants;
|
||||
|
||||
/**
|
||||
* 当前参与人数
|
||||
*/
|
||||
private Integer currentParticipants;
|
||||
|
||||
/**
|
||||
* 报名开始时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime registrationStart;
|
||||
|
||||
/**
|
||||
* 报名结束时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime registrationEnd;
|
||||
|
||||
/**
|
||||
* 状态:upcoming、ongoing、finished、cancelled
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 浏览量
|
||||
*/
|
||||
private Integer viewCount;
|
||||
|
||||
/**
|
||||
* 是否已报名
|
||||
*/
|
||||
private Boolean isRegistered = false;
|
||||
|
||||
/**
|
||||
* 是否可以报名
|
||||
*/
|
||||
private Boolean canRegister = false;
|
||||
|
||||
}
|
||||
@ -0,0 +1,89 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [活动列表展示VO]
|
||||
*/
|
||||
@Data
|
||||
public class EventListVo {
|
||||
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 活动标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 活动摘要
|
||||
*/
|
||||
private String summary;
|
||||
|
||||
/**
|
||||
* 封面图
|
||||
*/
|
||||
private String coverImage;
|
||||
|
||||
/**
|
||||
* 活动地点
|
||||
*/
|
||||
private String location;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
/**
|
||||
* 最大参与人数
|
||||
*/
|
||||
private Integer maxParticipants;
|
||||
|
||||
/**
|
||||
* 当前参与人数
|
||||
*/
|
||||
private Integer currentParticipants;
|
||||
|
||||
/**
|
||||
* 报名开始时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime registrationStart;
|
||||
|
||||
/**
|
||||
* 报名结束时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime registrationEnd;
|
||||
|
||||
/**
|
||||
* 状态:upcoming、ongoing、finished、cancelled
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 浏览量
|
||||
*/
|
||||
private Integer viewCount;
|
||||
|
||||
/**
|
||||
* 是否已报名
|
||||
*/
|
||||
private Boolean isRegistered = false;
|
||||
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [活动列表查询VO]
|
||||
*/
|
||||
@Data
|
||||
public class EventQueryVo {
|
||||
|
||||
/**
|
||||
* 页码
|
||||
*/
|
||||
private Integer pageNum = 1;
|
||||
|
||||
/**
|
||||
* 每页数量
|
||||
*/
|
||||
private Integer pageSize = 10;
|
||||
|
||||
/**
|
||||
* 状态:upcoming-即将开始、ongoing-进行中、finished-已结束(不传则查询所有)
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 关键词搜索
|
||||
*/
|
||||
private String keyword;
|
||||
|
||||
}
|
||||
@ -0,0 +1,31 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [活动报名请求VO]
|
||||
*/
|
||||
@Data
|
||||
public class EventRegistrationVo {
|
||||
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
@NotNull(message = "活动ID不能为空")
|
||||
private Long eventId;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 备注信息
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@ -0,0 +1,61 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [收藏项展示VO]
|
||||
*/
|
||||
@Data
|
||||
public class FavoriteItemVo {
|
||||
|
||||
/**
|
||||
* 收藏ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 目标类型:heritage、inheritor、news
|
||||
*/
|
||||
private String targetType;
|
||||
|
||||
/**
|
||||
* 目标ID
|
||||
*/
|
||||
private Long targetId;
|
||||
|
||||
/**
|
||||
* 目标标题/名称
|
||||
*/
|
||||
private String targetTitle;
|
||||
|
||||
/**
|
||||
* 目标封面图/头像
|
||||
*/
|
||||
private String targetCover;
|
||||
|
||||
/**
|
||||
* 目标描述/简介
|
||||
*/
|
||||
private String targetDescription;
|
||||
|
||||
/**
|
||||
* 目标浏览量
|
||||
*/
|
||||
private Integer targetViewCount;
|
||||
|
||||
/**
|
||||
* 目标点赞数
|
||||
*/
|
||||
private Integer targetLikeCount;
|
||||
|
||||
/**
|
||||
* 收藏时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [收藏操作请求VO]
|
||||
*/
|
||||
@Data
|
||||
public class FavoriteOperateVo {
|
||||
|
||||
/**
|
||||
* 目标类型:heritage、inheritor、news
|
||||
*/
|
||||
@NotBlank(message = "目标类型不能为空")
|
||||
private String targetType;
|
||||
|
||||
/**
|
||||
* 目标ID
|
||||
*/
|
||||
@NotNull(message = "目标ID不能为空")
|
||||
private Long targetId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [我的收藏列表查询VO]
|
||||
*/
|
||||
@Data
|
||||
public class FavoriteQueryVo {
|
||||
|
||||
/**
|
||||
* 页码
|
||||
*/
|
||||
private Integer pageNum = 1;
|
||||
|
||||
/**
|
||||
* 每页数量
|
||||
*/
|
||||
private Integer pageSize = 10;
|
||||
|
||||
/**
|
||||
* 目标类型:heritage、inheritor、news(不传则查询所有)
|
||||
*/
|
||||
private String targetType;
|
||||
|
||||
}
|
||||
@ -0,0 +1,132 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [非遗项目详情展示VO]
|
||||
*/
|
||||
@Data
|
||||
public class HrtHeritageDetailVo {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 英文名称
|
||||
*/
|
||||
private String nameEn;
|
||||
|
||||
/**
|
||||
* 分类:traditional-craft、traditional-art等
|
||||
*/
|
||||
private String category;
|
||||
|
||||
/**
|
||||
* 级别:world、national、provincial、municipal、county
|
||||
*/
|
||||
private String level;
|
||||
|
||||
/**
|
||||
* 省份
|
||||
*/
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 城市
|
||||
*/
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 项目介绍
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 历史渊源
|
||||
*/
|
||||
private String history;
|
||||
|
||||
/**
|
||||
* 技艺特点
|
||||
*/
|
||||
private String skills;
|
||||
|
||||
/**
|
||||
* 文化意义
|
||||
*/
|
||||
private String significance;
|
||||
|
||||
/**
|
||||
* 封面图
|
||||
*/
|
||||
private String coverImage;
|
||||
|
||||
/**
|
||||
* 图片集合(JSON数组)
|
||||
*/
|
||||
private String images;
|
||||
|
||||
/**
|
||||
* 视频URL
|
||||
*/
|
||||
private String videoUrl;
|
||||
|
||||
/**
|
||||
* 标签(逗号分隔)
|
||||
*/
|
||||
private String tags;
|
||||
|
||||
/**
|
||||
* 状态:active-正常传承,endangered-濒危
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 浏览量
|
||||
*/
|
||||
private Integer viewCount;
|
||||
|
||||
/**
|
||||
* 点赞数
|
||||
*/
|
||||
private Integer likeCount;
|
||||
|
||||
/**
|
||||
* 收藏数
|
||||
*/
|
||||
private Integer favoriteCount;
|
||||
|
||||
/**
|
||||
* 评论数
|
||||
*/
|
||||
private Integer commentCount;
|
||||
|
||||
/**
|
||||
* 是否精选:0-否,1-是
|
||||
*/
|
||||
private Integer isFeatured;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
@ -0,0 +1,101 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [非遗项目列表展示VO]
|
||||
*/
|
||||
@Data
|
||||
public class HrtHeritageListVo {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 英文名称
|
||||
*/
|
||||
private String nameEn;
|
||||
|
||||
/**
|
||||
* 分类:traditional-craft、traditional-art等
|
||||
*/
|
||||
private String category;
|
||||
|
||||
/**
|
||||
* 级别:world、national、provincial、municipal、county
|
||||
*/
|
||||
private String level;
|
||||
|
||||
/**
|
||||
* 省份
|
||||
*/
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 城市
|
||||
*/
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 项目介绍
|
||||
*/
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 封面图
|
||||
*/
|
||||
private String coverImage;
|
||||
|
||||
/**
|
||||
* 标签(逗号分隔)
|
||||
*/
|
||||
private String tags;
|
||||
|
||||
/**
|
||||
* 状态:active-正常传承,endangered-濒危
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 浏览量
|
||||
*/
|
||||
private Integer viewCount;
|
||||
|
||||
/**
|
||||
* 点赞数
|
||||
*/
|
||||
private Integer likeCount;
|
||||
|
||||
/**
|
||||
* 收藏数
|
||||
*/
|
||||
private Integer favoriteCount;
|
||||
|
||||
/**
|
||||
* 评论数
|
||||
*/
|
||||
private Integer commentCount;
|
||||
|
||||
/**
|
||||
* 是否精选:0-否,1-是
|
||||
*/
|
||||
private Integer isFeatured;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
@ -0,0 +1,72 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [非遗项目查询条件VO]
|
||||
*/
|
||||
@Data
|
||||
public class HrtHeritageQueryVo {
|
||||
|
||||
/**
|
||||
* 页码
|
||||
*/
|
||||
private Integer pageNum = 1;
|
||||
|
||||
/**
|
||||
* 每页数量
|
||||
*/
|
||||
private Integer pageSize = 10;
|
||||
|
||||
/**
|
||||
* 项目名称(模糊查询)
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 分类:traditional-craft、traditional-art等
|
||||
*/
|
||||
private String category;
|
||||
|
||||
/**
|
||||
* 级别:world、national、provincial、municipal、county
|
||||
*/
|
||||
private String level;
|
||||
|
||||
/**
|
||||
* 省份
|
||||
*/
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 城市
|
||||
*/
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 状态:active-正常传承,endangered-濒危
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 标签(模糊匹配)
|
||||
*/
|
||||
private String tag;
|
||||
|
||||
/**
|
||||
* 关键词(搜索名称、描述、历史等字段)
|
||||
*/
|
||||
private String keyword;
|
||||
|
||||
/**
|
||||
* 排序字段:view_count、like_count、favorite_count、create_time
|
||||
*/
|
||||
private String sortField = "create_time";
|
||||
|
||||
/**
|
||||
* 排序方式:asc、desc
|
||||
*/
|
||||
private String sortOrder = "desc";
|
||||
|
||||
}
|
||||
@ -0,0 +1,127 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [传承人详情展示VO]
|
||||
*/
|
||||
@Data
|
||||
public class HrtInheritorDetailVo {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 英文名
|
||||
*/
|
||||
private String nameEn;
|
||||
|
||||
/**
|
||||
* 性别:1-男,2-女
|
||||
*/
|
||||
private Integer gender;
|
||||
|
||||
/**
|
||||
* 出生年份
|
||||
*/
|
||||
private Integer birthYear;
|
||||
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 关联非遗项目ID
|
||||
*/
|
||||
private Long heritageId;
|
||||
|
||||
/**
|
||||
* 传承项目名称
|
||||
*/
|
||||
private String heritageName;
|
||||
|
||||
/**
|
||||
* 传承人级别:national、provincial等
|
||||
*/
|
||||
private String level;
|
||||
|
||||
/**
|
||||
* 省份
|
||||
*/
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 城市
|
||||
*/
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 个人简介
|
||||
*/
|
||||
private String introduction;
|
||||
|
||||
/**
|
||||
* 传承故事
|
||||
*/
|
||||
private String story;
|
||||
|
||||
/**
|
||||
* 主要成就
|
||||
*/
|
||||
private String achievements;
|
||||
|
||||
/**
|
||||
* 代表作品(JSON数组)
|
||||
*/
|
||||
private String works;
|
||||
|
||||
/**
|
||||
* 图片集合(JSON数组)
|
||||
*/
|
||||
private String images;
|
||||
|
||||
/**
|
||||
* 视频URL
|
||||
*/
|
||||
private String videoUrl;
|
||||
|
||||
/**
|
||||
* 浏览量
|
||||
*/
|
||||
private Integer viewCount;
|
||||
|
||||
/**
|
||||
* 点赞数
|
||||
*/
|
||||
private Integer likeCount;
|
||||
|
||||
/**
|
||||
* 是否精选:0-否,1-是
|
||||
*/
|
||||
private Integer isFeatured;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
@ -0,0 +1,96 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [传承人列表展示VO]
|
||||
*/
|
||||
@Data
|
||||
public class HrtInheritorListVo {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 英文名
|
||||
*/
|
||||
private String nameEn;
|
||||
|
||||
/**
|
||||
* 性别:1-男,2-女
|
||||
*/
|
||||
private Integer gender;
|
||||
|
||||
/**
|
||||
* 出生年份
|
||||
*/
|
||||
private Integer birthYear;
|
||||
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 关联非遗项目ID
|
||||
*/
|
||||
private Long heritageId;
|
||||
|
||||
/**
|
||||
* 传承项目名称
|
||||
*/
|
||||
private String heritageName;
|
||||
|
||||
/**
|
||||
* 传承人级别:national、provincial等
|
||||
*/
|
||||
private String level;
|
||||
|
||||
/**
|
||||
* 省份
|
||||
*/
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 城市
|
||||
*/
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 个人简介
|
||||
*/
|
||||
private String introduction;
|
||||
|
||||
/**
|
||||
* 浏览量
|
||||
*/
|
||||
private Integer viewCount;
|
||||
|
||||
/**
|
||||
* 点赞数
|
||||
*/
|
||||
private Integer likeCount;
|
||||
|
||||
/**
|
||||
* 是否精选:0-否,1-是
|
||||
*/
|
||||
private Integer isFeatured;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
@ -0,0 +1,62 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [传承人查询条件VO]
|
||||
*/
|
||||
@Data
|
||||
public class HrtInheritorQueryVo {
|
||||
|
||||
/**
|
||||
* 页码
|
||||
*/
|
||||
private Integer pageNum = 1;
|
||||
|
||||
/**
|
||||
* 每页数量
|
||||
*/
|
||||
private Integer pageSize = 10;
|
||||
|
||||
/**
|
||||
* 姓名(模糊查询)
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 传承人级别:national、provincial等
|
||||
*/
|
||||
private String level;
|
||||
|
||||
/**
|
||||
* 省份
|
||||
*/
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 城市
|
||||
*/
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 关联非遗项目ID
|
||||
*/
|
||||
private Long heritageId;
|
||||
|
||||
/**
|
||||
* 关键词(搜索姓名、简介、传承故事等字段)
|
||||
*/
|
||||
private String keyword;
|
||||
|
||||
/**
|
||||
* 排序字段:view_count、like_count、create_time
|
||||
*/
|
||||
private String sortField = "create_time";
|
||||
|
||||
/**
|
||||
* 排序方式:asc、desc
|
||||
*/
|
||||
private String sortOrder = "desc";
|
||||
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [前台用户登录返回-返回类]
|
||||
*/
|
||||
@Data
|
||||
public class HrtLoginResultVo {
|
||||
|
||||
/**
|
||||
* 访问令牌
|
||||
*/
|
||||
private String token;
|
||||
|
||||
/**
|
||||
* Token名称
|
||||
*/
|
||||
private String tokenName;
|
||||
|
||||
/**
|
||||
* Token有效期(单位:秒)
|
||||
*/
|
||||
private Long tokenTimeout;
|
||||
|
||||
/**
|
||||
* 用户信息
|
||||
*/
|
||||
private HrtUserInfoVo userInfo;
|
||||
|
||||
}
|
||||
@ -0,0 +1,30 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [前台用户登录-模型][Vo类]
|
||||
*/
|
||||
@Data
|
||||
public class HrtLoginVo {
|
||||
|
||||
/**
|
||||
* 账号(用户名/邮箱/手机号)
|
||||
*/
|
||||
@NotBlank(message = "请输入账号")
|
||||
private String account;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
@NotBlank(message = "请输入密码")
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 记住登录,默认为:false
|
||||
*/
|
||||
private Boolean rememberMe = false;
|
||||
|
||||
}
|
||||
@ -0,0 +1,55 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import jakarta.validation.constraints.Email;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
import lombok.Data;
|
||||
import org.hibernate.validator.constraints.Length;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [前台用户注册-模型][Vo类]
|
||||
*/
|
||||
@Data
|
||||
public class HrtRegisterVo {
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
@Length(min = 3, max = 16, message = "用户名长度为 3-16 位")
|
||||
@Pattern(regexp = "^[A-Za-z0-9_]+$", message = "用户名格式为数字、字母及下划线")
|
||||
@NotBlank(message = "请输入用户名")
|
||||
private String username;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
@Length(min = 6, max = 20, message = "密码长度为 6-20 位")
|
||||
@NotBlank(message = "请输入密码")
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 确认密码
|
||||
*/
|
||||
@NotBlank(message = "请输入确认密码")
|
||||
private String confirmPassword;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
@Email(message = "邮箱格式不正确")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 昵称(必填)
|
||||
*/
|
||||
@NotBlank(message = "请输入昵称")
|
||||
private String nickname;
|
||||
|
||||
}
|
||||
@ -0,0 +1,88 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [前台用户信息-返回类]
|
||||
*/
|
||||
@Data
|
||||
public class HrtUserInfoVo {
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
private String username;
|
||||
|
||||
/**
|
||||
* 昵称
|
||||
*/
|
||||
private String nickname;
|
||||
|
||||
/**
|
||||
* 头像URL
|
||||
*/
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 性别:0-未知,1-男,2-女
|
||||
*/
|
||||
private Integer gender;
|
||||
|
||||
/**
|
||||
* 生日
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
|
||||
private LocalDate birthday;
|
||||
|
||||
/**
|
||||
* 省份
|
||||
*/
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 城市
|
||||
*/
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 状态:0-禁用,1-正常
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 最后登录IP
|
||||
*/
|
||||
private String loginIp;
|
||||
|
||||
/**
|
||||
* 最后登录时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime loginTime;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [点赞操作请求VO]
|
||||
*/
|
||||
@Data
|
||||
public class LikeOperateVo {
|
||||
|
||||
/**
|
||||
* 目标类型:heritage、inheritor、news、comment
|
||||
*/
|
||||
@NotBlank(message = "目标类型不能为空")
|
||||
private String targetType;
|
||||
|
||||
/**
|
||||
* 目标ID
|
||||
*/
|
||||
@NotNull(message = "目标ID不能为空")
|
||||
private Long targetId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [我的评论列表查询VO]
|
||||
*/
|
||||
@Data
|
||||
public class MyCommentQueryVo {
|
||||
|
||||
/**
|
||||
* 页码
|
||||
*/
|
||||
private Integer pageNum = 1;
|
||||
|
||||
/**
|
||||
* 每页数量
|
||||
*/
|
||||
private Integer pageSize = 10;
|
||||
|
||||
/**
|
||||
* 目标类型:heritage、inheritor、news、event(不传则查询所有)
|
||||
*/
|
||||
private String targetType;
|
||||
|
||||
}
|
||||
@ -0,0 +1,78 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [我的活动报名项展示VO]
|
||||
*/
|
||||
@Data
|
||||
public class MyEventRegistrationItemVo {
|
||||
|
||||
/**
|
||||
* 报名ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
private Long eventId;
|
||||
|
||||
/**
|
||||
* 活动标题
|
||||
*/
|
||||
private String eventTitle;
|
||||
|
||||
/**
|
||||
* 活动封面图
|
||||
*/
|
||||
private String eventCoverImage;
|
||||
|
||||
/**
|
||||
* 活动地点
|
||||
*/
|
||||
private String eventLocation;
|
||||
|
||||
/**
|
||||
* 活动开始时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime eventStartTime;
|
||||
|
||||
/**
|
||||
* 活动结束时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime eventEndTime;
|
||||
|
||||
/**
|
||||
* 活动状态:upcoming、ongoing、finished、cancelled
|
||||
*/
|
||||
private String eventStatus;
|
||||
|
||||
/**
|
||||
* 报名状态:pending、approved、rejected、cancelled
|
||||
*/
|
||||
private String registrationStatus;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 备注信息
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 报名时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [我的活动报名列表查询VO]
|
||||
*/
|
||||
@Data
|
||||
public class MyEventRegistrationVo {
|
||||
|
||||
/**
|
||||
* 页码
|
||||
*/
|
||||
private Integer pageNum = 1;
|
||||
|
||||
/**
|
||||
* 每页数量
|
||||
*/
|
||||
private Integer pageSize = 10;
|
||||
|
||||
/**
|
||||
* 报名状态:pending、approved、rejected、cancelled(不传则查询所有)
|
||||
*/
|
||||
private String status;
|
||||
|
||||
}
|
||||
@ -0,0 +1,91 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [新闻详情展示VO]
|
||||
*/
|
||||
@Data
|
||||
public class NewsDetailVo {
|
||||
|
||||
/**
|
||||
* 新闻ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 摘要
|
||||
*/
|
||||
private String summary;
|
||||
|
||||
/**
|
||||
* 内容
|
||||
*/
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 封面图
|
||||
*/
|
||||
private String coverImage;
|
||||
|
||||
/**
|
||||
* 作者
|
||||
*/
|
||||
private String author;
|
||||
|
||||
/**
|
||||
* 来源
|
||||
*/
|
||||
private String source;
|
||||
|
||||
/**
|
||||
* 分类:news、activity、notice
|
||||
*/
|
||||
private String category;
|
||||
|
||||
/**
|
||||
* 标签(逗号分隔)
|
||||
*/
|
||||
private String tags;
|
||||
|
||||
/**
|
||||
* 浏览量
|
||||
*/
|
||||
private Integer viewCount;
|
||||
|
||||
/**
|
||||
* 点赞数
|
||||
*/
|
||||
private Integer likeCount;
|
||||
|
||||
/**
|
||||
* 是否置顶:0-否,1-是
|
||||
*/
|
||||
private Integer isTop;
|
||||
|
||||
/**
|
||||
* 当前用户是否已点赞
|
||||
*/
|
||||
private Boolean isLiked = false;
|
||||
|
||||
/**
|
||||
* 当前用户是否已收藏
|
||||
*/
|
||||
private Boolean isFavorited = false;
|
||||
|
||||
/**
|
||||
* 发布时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime publishTime;
|
||||
|
||||
}
|
||||
@ -0,0 +1,76 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [新闻列表展示VO]
|
||||
*/
|
||||
@Data
|
||||
public class NewsListVo {
|
||||
|
||||
/**
|
||||
* 新闻ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 摘要
|
||||
*/
|
||||
private String summary;
|
||||
|
||||
/**
|
||||
* 封面图
|
||||
*/
|
||||
private String coverImage;
|
||||
|
||||
/**
|
||||
* 作者
|
||||
*/
|
||||
private String author;
|
||||
|
||||
/**
|
||||
* 来源
|
||||
*/
|
||||
private String source;
|
||||
|
||||
/**
|
||||
* 分类:news、activity、notice
|
||||
*/
|
||||
private String category;
|
||||
|
||||
/**
|
||||
* 标签(逗号分隔)
|
||||
*/
|
||||
private String tags;
|
||||
|
||||
/**
|
||||
* 浏览量
|
||||
*/
|
||||
private Integer viewCount;
|
||||
|
||||
/**
|
||||
* 点赞数
|
||||
*/
|
||||
private Integer likeCount;
|
||||
|
||||
/**
|
||||
* 是否置顶:0-否,1-是
|
||||
*/
|
||||
private Integer isTop;
|
||||
|
||||
/**
|
||||
* 发布时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime publishTime;
|
||||
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [新闻列表查询VO]
|
||||
*/
|
||||
@Data
|
||||
public class NewsQueryVo {
|
||||
|
||||
/**
|
||||
* 页码
|
||||
*/
|
||||
private Integer pageNum = 1;
|
||||
|
||||
/**
|
||||
* 每页数量
|
||||
*/
|
||||
private Integer pageSize = 10;
|
||||
|
||||
/**
|
||||
* 分类:news、activity、notice(不传则查询所有)
|
||||
*/
|
||||
private String category;
|
||||
|
||||
/**
|
||||
* 关键词搜索
|
||||
*/
|
||||
private String keyword;
|
||||
|
||||
}
|
||||
@ -0,0 +1,19 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [更新头像VO]
|
||||
*/
|
||||
@Data
|
||||
public class UserAvatarUpdateVo {
|
||||
|
||||
/**
|
||||
* 头像URL
|
||||
*/
|
||||
@NotBlank(message = "头像URL不能为空")
|
||||
private String avatar;
|
||||
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Size;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [修改密码VO]
|
||||
*/
|
||||
@Data
|
||||
public class UserPasswordUpdateVo {
|
||||
|
||||
/**
|
||||
* 旧密码
|
||||
*/
|
||||
@NotBlank(message = "旧密码不能为空")
|
||||
private String oldPassword;
|
||||
|
||||
/**
|
||||
* 新密码
|
||||
*/
|
||||
@NotBlank(message = "新密码不能为空")
|
||||
@Size(min = 6, max = 20, message = "新密码长度必须在6-20个字符之间")
|
||||
private String newPassword;
|
||||
|
||||
/**
|
||||
* 确认新密码
|
||||
*/
|
||||
@NotBlank(message = "确认密码不能为空")
|
||||
private String confirmPassword;
|
||||
|
||||
}
|
||||
@ -0,0 +1,55 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import jakarta.validation.constraints.Email;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [修改个人资料VO]
|
||||
*/
|
||||
@Data
|
||||
public class UserProfileUpdateVo {
|
||||
|
||||
/**
|
||||
* 昵称
|
||||
*/
|
||||
private String nickname;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
@Email(message = "邮箱格式不正确")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 性别:0-未知,1-男,2-女
|
||||
*/
|
||||
private Integer gender;
|
||||
|
||||
/**
|
||||
* 生日
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
|
||||
private LocalDate birthday;
|
||||
|
||||
/**
|
||||
* 省份
|
||||
*/
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 城市
|
||||
*/
|
||||
private String city;
|
||||
|
||||
}
|
||||
@ -0,0 +1,73 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [用户个人资料展示VO]
|
||||
*/
|
||||
@Data
|
||||
public class UserProfileVo {
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
private String username;
|
||||
|
||||
/**
|
||||
* 昵称
|
||||
*/
|
||||
private String nickname;
|
||||
|
||||
/**
|
||||
* 头像URL
|
||||
*/
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 性别:0-未知,1-男,2-女
|
||||
*/
|
||||
private Integer gender;
|
||||
|
||||
/**
|
||||
* 生日
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
|
||||
private LocalDate birthday;
|
||||
|
||||
/**
|
||||
* 省份
|
||||
*/
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 城市
|
||||
*/
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 注册时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [用户统计信息VO]
|
||||
*/
|
||||
@Data
|
||||
public class UserStatsVo {
|
||||
|
||||
/**
|
||||
* 浏览历史数量
|
||||
*/
|
||||
private Long viewHistoryCount = 0L;
|
||||
|
||||
/**
|
||||
* 评论数量
|
||||
*/
|
||||
private Long commentCount = 0L;
|
||||
|
||||
/**
|
||||
* 点赞数量
|
||||
*/
|
||||
private Long likeCount = 0L;
|
||||
|
||||
/**
|
||||
* 收藏数量
|
||||
*/
|
||||
private Long favoriteCount = 0L;
|
||||
|
||||
/**
|
||||
* 活动报名数量
|
||||
*/
|
||||
private Long eventRegistrationCount = 0L;
|
||||
|
||||
}
|
||||
@ -0,0 +1,51 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [浏览历史项展示VO]
|
||||
*/
|
||||
@Data
|
||||
public class ViewHistoryItemVo {
|
||||
|
||||
/**
|
||||
* 浏览历史ID
|
||||
*/
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 目标类型:heritage、inheritor、news、event
|
||||
*/
|
||||
private String targetType;
|
||||
|
||||
/**
|
||||
* 目标ID
|
||||
*/
|
||||
private Long targetId;
|
||||
|
||||
/**
|
||||
* 目标标题/名称
|
||||
*/
|
||||
private String targetTitle;
|
||||
|
||||
/**
|
||||
* 目标封面图/头像
|
||||
*/
|
||||
private String targetCover;
|
||||
|
||||
/**
|
||||
* 目标描述/简介
|
||||
*/
|
||||
private String targetDescription;
|
||||
|
||||
/**
|
||||
* 浏览时间
|
||||
*/
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime viewTime;
|
||||
|
||||
}
|
||||
@ -0,0 +1,27 @@
|
||||
package org.leocoder.heritage.domain.model.vo.portal;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [浏览历史查询VO]
|
||||
*/
|
||||
@Data
|
||||
public class ViewHistoryQueryVo {
|
||||
|
||||
/**
|
||||
* 页码
|
||||
*/
|
||||
private Integer pageNum = 1;
|
||||
|
||||
/**
|
||||
* 每页数量
|
||||
*/
|
||||
private Integer pageSize = 10;
|
||||
|
||||
/**
|
||||
* 目标类型:heritage、inheritor、news、event(不传则查询所有)
|
||||
*/
|
||||
private String targetType;
|
||||
|
||||
}
|
||||
@ -0,0 +1,103 @@
|
||||
package org.leocoder.heritage.domain.pojo.portal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [评论实体类]
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName("hrt_comment")
|
||||
public class HrtComment implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
@NotNull(message = "用户ID不能为空")
|
||||
@TableField("user_id")
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 目标类型:heritage、inheritor、news、event
|
||||
*/
|
||||
@NotBlank(message = "目标类型不能为空")
|
||||
@TableField("target_type")
|
||||
private String targetType;
|
||||
|
||||
/**
|
||||
* 目标ID
|
||||
*/
|
||||
@NotNull(message = "目标ID不能为空")
|
||||
@TableField("target_id")
|
||||
private Long targetId;
|
||||
|
||||
/**
|
||||
* 评论内容
|
||||
*/
|
||||
@NotBlank(message = "评论内容不能为空")
|
||||
@TableField("content")
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 评分:1-5星(仅针对非遗项目)
|
||||
*/
|
||||
@TableField("rating")
|
||||
private Integer rating;
|
||||
|
||||
/**
|
||||
* 父评论ID(0表示一级评论)
|
||||
*/
|
||||
@TableField("parent_id")
|
||||
private Long parentId;
|
||||
|
||||
/**
|
||||
* 点赞数
|
||||
*/
|
||||
@TableField("like_count")
|
||||
private Integer likeCount;
|
||||
|
||||
/**
|
||||
* 状态:0-待审核,1-已通过,2-已拒绝
|
||||
*/
|
||||
@TableField("status")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time", fill = FieldFill.INSERT)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 删除标记:0-已删除,1-未删除
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField("del_flag")
|
||||
private Integer delFlag;
|
||||
|
||||
}
|
||||
@ -0,0 +1,151 @@
|
||||
package org.leocoder.heritage.domain.pojo.portal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [活动实体类]
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName("hrt_event")
|
||||
public class HrtEvent implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 活动标题
|
||||
*/
|
||||
@NotBlank(message = "活动标题不能为空")
|
||||
@TableField("title")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 活动摘要
|
||||
*/
|
||||
@TableField("summary")
|
||||
private String summary;
|
||||
|
||||
/**
|
||||
* 活动详情
|
||||
*/
|
||||
@TableField("content")
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 封面图
|
||||
*/
|
||||
@TableField("cover_image")
|
||||
private String coverImage;
|
||||
|
||||
/**
|
||||
* 活动地点
|
||||
*/
|
||||
@TableField("location")
|
||||
private String location;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@TableField("start_time")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime startTime;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@TableField("end_time")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime endTime;
|
||||
|
||||
/**
|
||||
* 最大参与人数
|
||||
*/
|
||||
@TableField("max_participants")
|
||||
private Integer maxParticipants;
|
||||
|
||||
/**
|
||||
* 当前参与人数
|
||||
*/
|
||||
@TableField("current_participants")
|
||||
private Integer currentParticipants;
|
||||
|
||||
/**
|
||||
* 报名开始时间
|
||||
*/
|
||||
@TableField("registration_start")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime registrationStart;
|
||||
|
||||
/**
|
||||
* 报名结束时间
|
||||
*/
|
||||
@TableField("registration_end")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime registrationEnd;
|
||||
|
||||
/**
|
||||
* 状态:upcoming、ongoing、finished、cancelled
|
||||
*/
|
||||
@TableField("status")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 浏览量
|
||||
*/
|
||||
@TableField("view_count")
|
||||
private Integer viewCount;
|
||||
|
||||
/**
|
||||
* 发布状态:0-草稿,1-已发布
|
||||
*/
|
||||
@TableField("publish_status")
|
||||
private Integer publishStatus;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField("create_by")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time", fill = FieldFill.INSERT)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@TableField("update_by")
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 删除标记:0-已删除,1-未删除
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField("del_flag")
|
||||
private Integer delFlag;
|
||||
|
||||
}
|
||||
@ -0,0 +1,82 @@
|
||||
package org.leocoder.heritage.domain.pojo.portal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [活动报名实体类]
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName("hrt_event_registration")
|
||||
public class HrtEventRegistration implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
@NotNull(message = "用户ID不能为空")
|
||||
@TableField("user_id")
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 活动ID
|
||||
*/
|
||||
@NotNull(message = "活动ID不能为空")
|
||||
@TableField("event_id")
|
||||
private Long eventId;
|
||||
|
||||
/**
|
||||
* 报名状态:pending-待审核,approved-已通过,rejected-已拒绝,cancelled-已取消
|
||||
*/
|
||||
@TableField("status")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 联系电话
|
||||
*/
|
||||
@TableField("phone")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 备注信息
|
||||
*/
|
||||
@TableField("remark")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time", fill = FieldFill.INSERT)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 删除标记:0-已删除,1-未删除
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField("del_flag")
|
||||
private Integer delFlag;
|
||||
|
||||
}
|
||||
@ -0,0 +1,65 @@
|
||||
package org.leocoder.heritage.domain.pojo.portal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [收藏实体类]
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName("hrt_favorite")
|
||||
public class HrtFavorite implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
@NotNull(message = "用户ID不能为空")
|
||||
@TableField("user_id")
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 目标类型:heritage、inheritor、news
|
||||
*/
|
||||
@NotBlank(message = "目标类型不能为空")
|
||||
@TableField("target_type")
|
||||
private String targetType;
|
||||
|
||||
/**
|
||||
* 目标ID
|
||||
*/
|
||||
@NotNull(message = "目标ID不能为空")
|
||||
@TableField("target_id")
|
||||
private Long targetId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time", fill = FieldFill.INSERT)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 删除标记:0-已删除,1-未删除
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField("del_flag")
|
||||
private Integer delFlag;
|
||||
|
||||
}
|
||||
@ -0,0 +1,197 @@
|
||||
package org.leocoder.heritage.domain.pojo.portal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [非遗项目实体类]
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName("hrt_heritage")
|
||||
public class HrtHeritage implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 项目名称
|
||||
*/
|
||||
@NotBlank(message = "项目名称不能为空")
|
||||
@TableField("name")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 英文名称
|
||||
*/
|
||||
@TableField("name_en")
|
||||
private String nameEn;
|
||||
|
||||
/**
|
||||
* 分类:traditional-craft、traditional-art等
|
||||
*/
|
||||
@NotBlank(message = "分类不能为空")
|
||||
@TableField("category")
|
||||
private String category;
|
||||
|
||||
/**
|
||||
* 级别:world、national、provincial、municipal、county
|
||||
*/
|
||||
@NotBlank(message = "级别不能为空")
|
||||
@TableField("level")
|
||||
private String level;
|
||||
|
||||
/**
|
||||
* 省份
|
||||
*/
|
||||
@TableField("province")
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 城市
|
||||
*/
|
||||
@TableField("city")
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 项目介绍
|
||||
*/
|
||||
@TableField("description")
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 历史渊源
|
||||
*/
|
||||
@TableField("history")
|
||||
private String history;
|
||||
|
||||
/**
|
||||
* 技艺特点
|
||||
*/
|
||||
@TableField("skills")
|
||||
private String skills;
|
||||
|
||||
/**
|
||||
* 文化意义
|
||||
*/
|
||||
@TableField("significance")
|
||||
private String significance;
|
||||
|
||||
/**
|
||||
* 封面图
|
||||
*/
|
||||
@TableField("cover_image")
|
||||
private String coverImage;
|
||||
|
||||
/**
|
||||
* 图片集合(JSON数组)
|
||||
*/
|
||||
@TableField("images")
|
||||
private String images;
|
||||
|
||||
/**
|
||||
* 视频URL
|
||||
*/
|
||||
@TableField("video_url")
|
||||
private String videoUrl;
|
||||
|
||||
/**
|
||||
* 标签(逗号分隔)
|
||||
*/
|
||||
@TableField("tags")
|
||||
private String tags;
|
||||
|
||||
/**
|
||||
* 状态:active-正常传承,endangered-濒危
|
||||
*/
|
||||
@TableField("status")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 浏览量
|
||||
*/
|
||||
@TableField("view_count")
|
||||
private Integer viewCount;
|
||||
|
||||
/**
|
||||
* 点赞数
|
||||
*/
|
||||
@TableField("like_count")
|
||||
private Integer likeCount;
|
||||
|
||||
/**
|
||||
* 收藏数
|
||||
*/
|
||||
@TableField("favorite_count")
|
||||
private Integer favoriteCount;
|
||||
|
||||
/**
|
||||
* 评论数
|
||||
*/
|
||||
@TableField("comment_count")
|
||||
private Integer commentCount;
|
||||
|
||||
/**
|
||||
* 是否精选:0-否,1-是
|
||||
*/
|
||||
@TableField("is_featured")
|
||||
private Integer isFeatured;
|
||||
|
||||
/**
|
||||
* 排序权重
|
||||
*/
|
||||
@TableField("sort_order")
|
||||
private Integer sortOrder;
|
||||
|
||||
/**
|
||||
* 发布状态:0-草稿,1-已发布
|
||||
*/
|
||||
@TableField("publish_status")
|
||||
private Integer publishStatus;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField("create_by")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time", fill = FieldFill.INSERT)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@TableField("update_by")
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 删除标记:0-已删除,1-未删除
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField("del_flag")
|
||||
private Integer delFlag;
|
||||
|
||||
}
|
||||
@ -0,0 +1,189 @@
|
||||
package org.leocoder.heritage.domain.pojo.portal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [传承人实体类]
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName("hrt_inheritor")
|
||||
public class HrtInheritor implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
@NotBlank(message = "姓名不能为空")
|
||||
@TableField("name")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 英文名
|
||||
*/
|
||||
@TableField("name_en")
|
||||
private String nameEn;
|
||||
|
||||
/**
|
||||
* 性别:1-男,2-女
|
||||
*/
|
||||
@TableField("gender")
|
||||
private Integer gender;
|
||||
|
||||
/**
|
||||
* 出生年份
|
||||
*/
|
||||
@TableField("birth_year")
|
||||
private Integer birthYear;
|
||||
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
@TableField("avatar")
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 关联非遗项目ID
|
||||
*/
|
||||
@TableField("heritage_id")
|
||||
private Long heritageId;
|
||||
|
||||
/**
|
||||
* 传承项目名称
|
||||
*/
|
||||
@TableField("heritage_name")
|
||||
private String heritageName;
|
||||
|
||||
/**
|
||||
* 传承人级别:national、provincial等
|
||||
*/
|
||||
@TableField("level")
|
||||
private String level;
|
||||
|
||||
/**
|
||||
* 省份
|
||||
*/
|
||||
@TableField("province")
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 城市
|
||||
*/
|
||||
@TableField("city")
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 个人简介
|
||||
*/
|
||||
@TableField("introduction")
|
||||
private String introduction;
|
||||
|
||||
/**
|
||||
* 传承故事
|
||||
*/
|
||||
@TableField("story")
|
||||
private String story;
|
||||
|
||||
/**
|
||||
* 主要成就
|
||||
*/
|
||||
@TableField("achievements")
|
||||
private String achievements;
|
||||
|
||||
/**
|
||||
* 代表作品(JSON数组)
|
||||
*/
|
||||
@TableField("works")
|
||||
private String works;
|
||||
|
||||
/**
|
||||
* 图片集合(JSON数组)
|
||||
*/
|
||||
@TableField("images")
|
||||
private String images;
|
||||
|
||||
/**
|
||||
* 视频URL
|
||||
*/
|
||||
@TableField("video_url")
|
||||
private String videoUrl;
|
||||
|
||||
/**
|
||||
* 浏览量
|
||||
*/
|
||||
@TableField("view_count")
|
||||
private Integer viewCount;
|
||||
|
||||
/**
|
||||
* 点赞数
|
||||
*/
|
||||
@TableField("like_count")
|
||||
private Integer likeCount;
|
||||
|
||||
/**
|
||||
* 是否精选:0-否,1-是
|
||||
*/
|
||||
@TableField("is_featured")
|
||||
private Integer isFeatured;
|
||||
|
||||
/**
|
||||
* 排序权重
|
||||
*/
|
||||
@TableField("sort_order")
|
||||
private Integer sortOrder;
|
||||
|
||||
/**
|
||||
* 发布状态:0-草稿,1-已发布
|
||||
*/
|
||||
@TableField("publish_status")
|
||||
private Integer publishStatus;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField("create_by")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time", fill = FieldFill.INSERT)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@TableField("update_by")
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 删除标记:0-已删除,1-未删除
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField("del_flag")
|
||||
private Integer delFlag;
|
||||
|
||||
}
|
||||
@ -0,0 +1,65 @@
|
||||
package org.leocoder.heritage.domain.pojo.portal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [点赞实体类]
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName("hrt_like")
|
||||
public class HrtLike implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
@NotNull(message = "用户ID不能为空")
|
||||
@TableField("user_id")
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 目标类型:heritage、inheritor、news、comment
|
||||
*/
|
||||
@NotBlank(message = "目标类型不能为空")
|
||||
@TableField("target_type")
|
||||
private String targetType;
|
||||
|
||||
/**
|
||||
* 目标ID
|
||||
*/
|
||||
@NotNull(message = "目标ID不能为空")
|
||||
@TableField("target_id")
|
||||
private Long targetId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time", fill = FieldFill.INSERT)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 删除标记:0-已删除,1-未删除
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField("del_flag")
|
||||
private Integer delFlag;
|
||||
|
||||
}
|
||||
@ -0,0 +1,142 @@
|
||||
package org.leocoder.heritage.domain.pojo.portal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [新闻资讯实体类]
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName("hrt_news")
|
||||
public class HrtNews implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
@NotBlank(message = "标题不能为空")
|
||||
@TableField("title")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 摘要
|
||||
*/
|
||||
@TableField("summary")
|
||||
private String summary;
|
||||
|
||||
/**
|
||||
* 内容
|
||||
*/
|
||||
@TableField("content")
|
||||
private String content;
|
||||
|
||||
/**
|
||||
* 封面图
|
||||
*/
|
||||
@TableField("cover_image")
|
||||
private String coverImage;
|
||||
|
||||
/**
|
||||
* 作者
|
||||
*/
|
||||
@TableField("author")
|
||||
private String author;
|
||||
|
||||
/**
|
||||
* 来源
|
||||
*/
|
||||
@TableField("source")
|
||||
private String source;
|
||||
|
||||
/**
|
||||
* 分类:news、activity、notice
|
||||
*/
|
||||
@TableField("category")
|
||||
private String category;
|
||||
|
||||
/**
|
||||
* 标签(逗号分隔)
|
||||
*/
|
||||
@TableField("tags")
|
||||
private String tags;
|
||||
|
||||
/**
|
||||
* 浏览量
|
||||
*/
|
||||
@TableField("view_count")
|
||||
private Integer viewCount;
|
||||
|
||||
/**
|
||||
* 点赞数
|
||||
*/
|
||||
@TableField("like_count")
|
||||
private Integer likeCount;
|
||||
|
||||
/**
|
||||
* 是否置顶:0-否,1-是
|
||||
*/
|
||||
@TableField("is_top")
|
||||
private Integer isTop;
|
||||
|
||||
/**
|
||||
* 发布时间
|
||||
*/
|
||||
@TableField("publish_time")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime publishTime;
|
||||
|
||||
/**
|
||||
* 发布状态:0-草稿,1-已发布
|
||||
*/
|
||||
@TableField("publish_status")
|
||||
private Integer publishStatus;
|
||||
|
||||
/**
|
||||
* 创建人
|
||||
*/
|
||||
@TableField("create_by")
|
||||
private String createBy;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time", fill = FieldFill.INSERT)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新人
|
||||
*/
|
||||
@TableField("update_by")
|
||||
private String updateBy;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 删除标记:0-已删除,1-未删除
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField("del_flag")
|
||||
private Integer delFlag;
|
||||
|
||||
}
|
||||
@ -0,0 +1,143 @@
|
||||
package org.leocoder.heritage.domain.pojo.portal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import jakarta.validation.constraints.Email;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Pattern;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [前台用户实体类]
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName("hrt_user")
|
||||
public class HrtUser implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户名(唯一)
|
||||
*/
|
||||
@NotBlank(message = "用户名不能为空")
|
||||
@TableField("username")
|
||||
private String username;
|
||||
|
||||
/**
|
||||
* 密码(加密)
|
||||
*/
|
||||
@NotBlank(message = "密码不能为空")
|
||||
@TableField("password")
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 昵称
|
||||
*/
|
||||
@TableField("nickname")
|
||||
private String nickname;
|
||||
|
||||
/**
|
||||
* 头像URL
|
||||
*/
|
||||
@TableField("avatar")
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 邮箱(唯一)
|
||||
*/
|
||||
@Email(message = "邮箱格式不正确")
|
||||
@TableField("email")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 手机号(唯一)
|
||||
*/
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
|
||||
@TableField("phone")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 性别:0-未知,1-男,2-女
|
||||
*/
|
||||
@TableField("gender")
|
||||
private Integer gender;
|
||||
|
||||
/**
|
||||
* 生日
|
||||
*/
|
||||
@TableField("birthday")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
|
||||
private LocalDate birthday;
|
||||
|
||||
/**
|
||||
* 省份
|
||||
*/
|
||||
@TableField("province")
|
||||
private String province;
|
||||
|
||||
/**
|
||||
* 城市
|
||||
*/
|
||||
@TableField("city")
|
||||
private String city;
|
||||
|
||||
/**
|
||||
* 状态:0-禁用,1-正常
|
||||
*/
|
||||
@TableField("status")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 最后登录IP
|
||||
*/
|
||||
@TableField("login_ip")
|
||||
private String loginIp;
|
||||
|
||||
/**
|
||||
* 最后登录时间
|
||||
*/
|
||||
@TableField("login_time")
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime loginTime;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time", fill = FieldFill.INSERT)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 删除标记:0-已删除,1-未删除
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField("del_flag")
|
||||
private Integer delFlag;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@TableField("remark")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@ -0,0 +1,72 @@
|
||||
package org.leocoder.heritage.domain.pojo.portal;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author Leocoder
|
||||
* @description [浏览历史实体类]
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName("hrt_view_history")
|
||||
public class HrtViewHistory implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键ID
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 用户ID
|
||||
*/
|
||||
@NotNull(message = "用户ID不能为空")
|
||||
@TableField("user_id")
|
||||
private Long userId;
|
||||
|
||||
/**
|
||||
* 目标类型:heritage、inheritor、news、event
|
||||
*/
|
||||
@NotBlank(message = "目标类型不能为空")
|
||||
@TableField("target_type")
|
||||
private String targetType;
|
||||
|
||||
/**
|
||||
* 目标ID
|
||||
*/
|
||||
@NotNull(message = "目标ID不能为空")
|
||||
@TableField("target_id")
|
||||
private Long targetId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@TableField(value = "create_time", fill = FieldFill.INSERT)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间(最后浏览时间)
|
||||
*/
|
||||
@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
|
||||
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
/**
|
||||
* 删除标记:0-已删除,1-未删除
|
||||
*/
|
||||
@TableLogic
|
||||
@TableField("del_flag")
|
||||
private Integer delFlag;
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user