package com.red.circle.other.infra.common.activity.send;

import com.red.circle.common.business.core.enums.SysOriginPlatformEnum;
import com.red.circle.common.business.enums.SendPropsOrigin;

/**
 * 发送奖品.
 *
 * @author pengliang on 2022/8/25
 */
public class SendRewardParam extends SendRewardAbstract {

  private static final long serialVersionUID = 1L;

  public static Builder builder() {
    return new Builder();
  }

  public static class Builder extends SendRewardAbstract {

    public Builder trackId(Long trackId) {
      this.setTrackId(trackId);
      return this;
    }

    public Builder acceptUserId(Long acceptUserId) {
      this.setAcceptUserId(acceptUserId);
      return this;
    }

    public Builder origin(SendPropsOrigin origin) {
      this.setOrigin(origin);
      return this;
    }

    public Builder sysOrigin(SysOriginPlatformEnum sysOrigin) {
      this.setSysOrigin(sysOrigin);
      return this;
    }

    public SendRewardParam build() {
      SendRewardParam sendRewardSingle = new SendRewardParam();
      sendRewardSingle.setTrackId(this.getTrackId());
      sendRewardSingle.setAcceptUserId(this.getAcceptUserId());
      sendRewardSingle.setOrigin(this.getOrigin());
      sendRewardSingle.setSysOrigin(this.getSysOrigin());
      return sendRewardSingle;
    }

  }
}
