package cn.lili.modules.lmk.domain.form; import cn.lili.base.AbsForm; import cn.lili.group.Add; import cn.lili.group.Update; import cn.lili.modules.lmk.domain.entity.Activity; import cn.lili.modules.lmk.domain.entity.CustomerBlack; import com.baomidou.mybatisplus.annotation.TableField; 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 javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import java.util.Date; @Data @ApiModel(value = "Activity查询参数", description = "活动查表单") public class ActivityForm extends AbsForm { /** 活动名称 */ @NotBlank(message = "活动名称不能为空", groups = {Add.class, Update.class}) @ApiModelProperty(value = "活动名称", example = "春季徒步大会") private String activityName; /** 活动类型 */ @NotBlank(message = "活动类型不能为空", groups = {Add.class, Update.class}) @ApiModelProperty(value = "活动类型:线上/线下,目前默认都是线下", example = "线下") private String activityType; /** 报名开始时间 */ @NotNull(message = "报名开始时间不能为空", groups = {Add.class, Update.class}) @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; /** 报名结束时间 */ @NotNull(message = "报名结束时间不能为空", groups = {Add.class, Update.class}) @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; /** 活动开始时间 */ @NotNull(message = "活动开始时间不能为空", groups = {Add.class, Update.class}) @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; /** 活动结束时间 */ @NotNull(message = "活动结束时间不能为空", groups = {Add.class, Update.class}) @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 = "活动状态") private String status; /** 是否推荐 */ @ApiModelProperty(value = "是否推荐(0-否,1-是)", example = "1") private Boolean recommend; /** 封面地址 */ @NotBlank(message = "封面图片不能为空", groups = {Add.class, Update.class}) @ApiModelProperty(value = "封面图片/视频地址", example = "/covers/spring_hike.jpg") private String cover; /** 封面类型 */ @NotBlank(message = "封面类型不能为空", groups = {Add.class, Update.class}) @ApiModelProperty(value = "封面类型:视频、文字、图片", example = "图片") private String coverType; /** 最大报名人数 */ @ApiModelProperty(value = "最大报名人数限制", example = "200") private Integer limitUserNum; /** 活动地点 */ @ApiModelProperty(value = "活动地点", example = "北京市朝阳区奥林匹克公园") private String activityLocation; /** 活动内容 */ @NotBlank(message = "活动详细内容不能为空", groups = {Add.class, Update.class}) @ApiModelProperty(value = "活动详细内容(支持富文本)", example = "
活动流程:...
") private String activityContent; /** 活动发布 */ @ApiModelProperty(value = "活动发布", example = "") private Boolean publish; public static Activity getEntityByForm(@NonNull ActivityForm form, Activity entity) { if(entity == null) { entity = new Activity(); } BeanUtils.copyProperties(form, entity); return entity; } }