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 = "<p>活动流程:...</p>")
|
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;
|
}
|
}
|