package com.yonge.cooleshow.teacher.io.request;

import com.alibaba.fastjson.JSON;
import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
import com.yonge.cooleshow.common.enums.RewardTypeEnum;
import com.yonge.cooleshow.common.enums.YesOrNoEnum;
import com.yonge.toolset.base.page.QueryInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * Description
 *
 * @author liujunchi
 * @date 2022-10-09
 */
public class ActivityVo {

    @ApiModel("ReceiveRewardQuery-活动领取奖品查询")
    public static class ReceiveRewardQuery extends QueryInfo {

        // 用户id
        @ApiModelProperty(hidden = true)
        private Long userId;

        // 客户端类型
        @ApiModelProperty(hidden = true)
        private ClientEnum client;


        // 是否领取
        @ApiModelProperty("是否已领取，1是 2：否")
        private YesOrNoEnum receive;


        public String jsonString() {
            return JSON.toJSONString(this);
        }

        public Long getUserId() {
            return userId;
        }

        public void setUserId(Long userId) {
            this.userId = userId;
        }

        public ClientEnum getClient() {
            return client;
        }

        public void setClient(ClientEnum client) {
            this.client = client;
        }

        public YesOrNoEnum getReceive() {
            return receive;
        }

        public void setReceive(YesOrNoEnum receive) {
            this.receive = receive;
        }
    }

    @ApiModel("ReceiveRewardList-活动领取奖品列表")
    public static class ReceiveRewardList {

        @ApiModelProperty("领奖id")
        private Long receiveRewardId;

        @ApiModelProperty("奖品名称 ")
        private String rewardName;

        @ApiModelProperty("奖品类型:  ACTUAL 实物 VIP 小酷AI会员 PIAMO_ROOM 琴房时长 COUPON(优惠券)")
        private RewardTypeEnum rewardType;

        @ApiModelProperty("奖品描述 ")
        private String rewardDescribe;

        @ApiModelProperty("奖品图片 ")
        private String imgUrl;

        @ApiModelProperty("获奖时间")
        private Date winningTime;

        public Long getReceiveRewardId() {
            return receiveRewardId;
        }

        public void setReceiveRewardId(Long receiveRewardId) {
            this.receiveRewardId = receiveRewardId;
        }

        public String getRewardName() {
            return rewardName;
        }

        public void setRewardName(String rewardName) {
            this.rewardName = rewardName;
        }

        public RewardTypeEnum getRewardType() {
            return rewardType;
        }

        public void setRewardType(RewardTypeEnum rewardType) {
            this.rewardType = rewardType;
        }

        public String getRewardDescribe() {
            return rewardDescribe;
        }

        public void setRewardDescribe(String rewardDescribe) {
            this.rewardDescribe = rewardDescribe;
        }

        public String getImgUrl() {
            return imgUrl;
        }

        public void setImgUrl(String imgUrl) {
            this.imgUrl = imgUrl;
        }

        public Date getWinningTime() {
            return winningTime;
        }

        public void setWinningTime(Date winningTime) {
            this.winningTime = winningTime;
        }
    }
}
