package cn.lili.modules.lmk.domain.form; import cn.lili.group.Update; import cn.lili.group.Add; import cn.lili.base.AbsForm; import cn.lili.modules.lmk.domain.entity.PrizeActivity; import com.fasterxml.jackson.annotation.JsonFormat; import org.springframework.beans.BeanUtils; import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.lang.NonNull; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * 抽奖活动表单 * * @author peng * @since 2025-08-14 */ @Data @ApiModel(value = "PrizeActivity表单", description = "抽奖活动表单") public class PrizeActivityForm extends AbsForm { @NotBlank(message = "活动名称不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("活动名称") private String activityName; @NotBlank(message = "活动描述不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("活动描述") private String activityDes; @NotNull(message = "活动开始时间不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("活动开始时间") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date beginTime; @NotNull(message = "活动结束时间不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("活动结束时间") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endTime; @NotNull(message = "每日最大抽奖上限不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("每日最大抽奖上限") private Integer maxPrize; @NotNull(message = "初始化抽奖次数不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("初始化抽奖次数") private Integer prizeNum; @NotBlank(message = "活动图片不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("活动图片") private String activityImg; @NotBlank(message = "活动封面不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("活动封面") private String activityCover; @NotBlank(message = "是否开启活动不能为空", groups = {Add.class, Update.class}) @ApiModelProperty("是否开启活动") private String enableStatus; public static PrizeActivity getEntityByForm(@NonNull PrizeActivityForm form, PrizeActivity entity) { if(entity == null) { entity = new PrizeActivity(); } BeanUtils.copyProperties(form, entity); return entity; } }