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;

/**
 * 发送奖品build.
 *
 * @author pengliang on 2021/6/24
 */
public class SendRewardBuild 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 SendRewardBuild build() {
      SendRewardBuild sendRewardGroup = new SendRewardBuild();
      sendRewardGroup.setTrackId(this.getTrackId());
      sendRewardGroup.setAcceptUserId(this.getAcceptUserId());
      sendRewardGroup.setOrigin(this.getOrigin());
      sendRewardGroup.setSysOrigin(this.getSysOrigin());
      return sendRewardGroup;
    }

  }
}
