package cn.lili.modules.lmk.domain.vo; import cn.lili.base.AbsVo; import cn.lili.modules.lmk.domain.entity.Activity; import cn.lili.modules.member.entity.vo.MemberVO; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import org.springframework.beans.BeanUtils; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.lang.NonNull; import java.util.Date; import java.util.List; @Data @ApiModel(value = "Activity响应数据", description = "响应数据") public class ActivityVO extends AbsVo { /** 活动名称 */ @ApiModelProperty(value = "活动名称", example = "春季徒步大会") private String activityName; /** 活动类型 */ @ApiModelProperty(value = "活动类型:线上/线下,目前默认都是线下", example = "线下") private String activityType; /** 报名开始时间 */ @ApiModelProperty(value = "报名开始时间", example = "2025-05-20 09:00:00") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date reportStartTime; /** 报名结束时间 */ @ApiModelProperty(value = "报名结束时间", example = "2025-05-25 18:00:00") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date reportEndTime; /** 活动开始时间 */ @ApiModelProperty(value = "活动开始时间", example = "2025-06-01 08:30:00") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date startTime; /** 活动结束时间 */ @ApiModelProperty(value = "活动结束时间", example = "2025-06-01 17:00:00") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endTime; /** 活动状态 */ @ApiModelProperty(value = "活动状态", example = "进行中/已结束/已取消") private String status; /** 是否推荐 */ @ApiModelProperty(value = "是否推荐(0-否,1-是)", example = "1") private Boolean recommend; /** 封面地址 */ @ApiModelProperty(value = "封面图片/视频地址", example = "/covers/spring_hike.jpg") private String cover; /** 封面类型 */ @ApiModelProperty(value = "封面类型:视频、文字、图片", example = "图片") private String coverType; /** 最大报名人数 */ @ApiModelProperty(value = "最大报名人数限制", example = "200") private Integer limitUserNum; /** 活动地点 */ @ApiModelProperty(value = "活动地点", example = "北京市朝阳区奥林匹克公园") private String activityLocation; /** 活动内容 */ @ApiModelProperty(value = "活动详细内容(支持富文本)", example = "
活动流程:...
") private String activityContent; /** 资源路径*/ private String url; /** 报名人员集合*/ private List