package com.red.circle.other.app.dto.clientobject.activity;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 活动奖励配置CO
 */
@Data
@Accessors(chain = true)
public class ActivityRewardConfigCO implements Serializable {

    @JsonSerialize(using = ToStringSerializer.class)
    private Long ruleId;

    private String sysOrigin;

    private String activityType;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long resourceGroupId;

    private String jsonData;

    private Integer sort;

    @JsonSerialize(using = ToStringSerializer.class)
    private Long groupId;

    private String groupName;

    private Boolean shelfStatus;

    private Integer claimStatus;

    private List<ActivityRewardPropsCO> rewardProps;

    @Data
    @Accessors(chain = true)
    public static class ActivityRewardPropsCO implements Serializable {

        @JsonSerialize(using = ToStringSerializer.class)
        private Long id;

        @JsonSerialize(using = ToStringSerializer.class)
        private Long groupId;

        private String type;

        private String detailType;

        private String content;

        private Integer sort;

        private String cover;

        private Integer quantity;

        private BigDecimal amount;

        private String remark;
    }
}
