package com.mosquito.project.domain;

import java.time.ZonedDateTime;
import java.util.List;
import java.util.Set;

public class Activity {
    private Long id;
    private String name;
    private ZonedDateTime startTime;
    private ZonedDateTime endTime;
    private Set<Long> targetUserIds;
    private List<RewardTier> rewardTiers;
    private RewardMode rewardMode = RewardMode.DIFFERENTIAL; // 默认为补差模式
    private List<MultiLevelRewardRule> multiLevelRewardRules;

    // Getters and Setters
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public ZonedDateTime getStartTime() {
        return startTime;
    }

    public void setStartTime(ZonedDateTime startTime) {
        this.startTime = startTime;
    }

    public ZonedDateTime getEndTime() {
        return endTime;
    }

    public void setEndTime(ZonedDateTime endTime) {
        this.endTime = endTime;
    }

    public Set<Long> getTargetUserIds() {
        return targetUserIds;
    }

    public void setTargetUserIds(Set<Long> targetUserIds) {
        this.targetUserIds = targetUserIds;
    }

    public List<RewardTier> getRewardTiers() {
        return rewardTiers;
    }

    public void setRewardTiers(List<RewardTier> rewardTiers) {
        this.rewardTiers = rewardTiers;
    }

    public RewardMode getRewardMode() {
        return rewardMode;
    }

    public void setRewardMode(RewardMode rewardMode) {
        this.rewardMode = rewardMode;
    }

    public List<MultiLevelRewardRule> getMultiLevelRewardRules() {
        return multiLevelRewardRules;
    }

    public void setMultiLevelRewardRules(List<MultiLevelRewardRule> multiLevelRewardRules) {
        this.multiLevelRewardRules = multiLevelRewardRules;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }
}
