package shop.alien.entity.storePlatform.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;

/**
 * 我的报名列表返回对象
 *
 * @author system
 * @since 2025-01-XX
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel(value = "StoreOperationalActivityMySignupVo", description = "我的报名列表返回对象")
public class StoreOperationalActivityMySignupVo {

    @ApiModelProperty(value = "活动ID")
    private Integer activityId;

    @ApiModelProperty(value = "报名ID")
    private Integer signupId;

    @ApiModelProperty(value = "商户ID")
    private Integer storeId;

    @ApiModelProperty(value = "活动名称")
    private String activityName;

    @ApiModelProperty(value = "活动宣传图URL")
    private String promotionalImage;

    @ApiModelProperty(value = "活动标题图URL")
    private String activityTitleImgUrl;

    @ApiModelProperty(value = "店铺用户头像")
    private String storeUserHeadImg;

    @ApiModelProperty(value = "店铺用户昵称")
    private String storeUserNickName;

    @ApiModelProperty(value = "活动开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date startTime;

    @ApiModelProperty(value = "活动结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date endTime;

    @ApiModelProperty(value = "活动状态")
    private Integer activityStatus;

    @ApiModelProperty(value = "报名状态")
    private Integer signupStatus;

    @JsonIgnore
    private Integer signupAuditStatus;

    @ApiModelProperty(value = "活动开始状态（0-已开始，1-已结束）")
    private Integer activityStartStatus;

    @ApiModelProperty(value = "是否有成果")
    private Integer hasAchievement;

    @ApiModelProperty(value = "列表状态")
    private Integer status;

    @ApiModelProperty(value = "报名时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date signupTime;

    @ApiModelProperty(value = "状态文案")
    private String statusLabel;

     @ApiModelProperty(value = "店铺名称")
    private String storeName;
}
