package com.izouma.nineth.domain;

import com.alibaba.excel.annotation.ExcelProperty;
import com.izouma.nineth.annotations.Searchable;
import com.izouma.nineth.enums.rewardpoints.PointRewardActivityViewType;
import io.swagger.annotations.ApiModel;
import lombok.*;

import javax.persistence.*;
import java.time.LocalDateTime;
import java.util.List;

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Entity
@ApiModel("积分兑换活动")
public class PointRewardActivity extends BaseEntity {
    /**
     * 活动标题
     */
    @Searchable
    @ExcelProperty("活动标题")
    private String title;
    /**
     * 活动说明
     */
    @Searchable
    @Column(columnDefinition = "TEXT")
    @ExcelProperty("活动说明")
    private String description;
    /**
     * 活动开始时间
     */
    @ExcelProperty("活动开始时间")
    private LocalDateTime startTime;
    /**
     * 活动结束时间
     */
    @ExcelProperty("活动结束时间")
    private LocalDateTime endTime;
    /**
     * 抽奖形式
     */
    @ExcelProperty("抽奖形式")
    @Enumerated(EnumType.STRING)
    private PointRewardActivityViewType viewType;
    /**
     * 活动扣除积分
     */
    @ExcelProperty("活动扣除积分")
    private Integer cost;

    /**
     *可获得奖品列表
     */
    @Transient
    private List<PointActivityAward> awards;
}
