package org.wfc.omada.api.hotspot.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Objects;

/**
 * Represents the quantity of statistics for the voucher group, unaffected by search
 */
@ApiModel(description = "Represents the quantity of statistics for the voucher group, unaffected by search")
@javax.annotation.Generated(value = "org.openapitools.codegen.languages.SpringCodegen", date = "2024-12-04T11:35:35.496+08:00[Asia/Shanghai]")

public class StatisticsCountOpenApiVo   {
  @JsonProperty("totalUnusedCount")
  private Integer totalUnusedCount;

  @JsonProperty("totalInUseCount")
  private Integer totalInUseCount;

  @JsonProperty("totalExpiredCount")
  private Integer totalExpiredCount;

  @JsonProperty("totalStatisticsCount")
  private Integer totalStatisticsCount;

  public StatisticsCountOpenApiVo totalUnusedCount(Integer totalUnusedCount) {
    this.totalUnusedCount = totalUnusedCount;
    return this;
  }

  /**
   * Unused voucher counts of the voucher group, unaffected by search
   * @return totalUnusedCount
  */
  @ApiModelProperty(value = "Unused voucher counts of the voucher group, unaffected by search")


  public Integer getTotalUnusedCount() {
    return totalUnusedCount;
  }

  public void setTotalUnusedCount(Integer totalUnusedCount) {
    this.totalUnusedCount = totalUnusedCount;
  }

  public StatisticsCountOpenApiVo totalInUseCount(Integer totalInUseCount) {
    this.totalInUseCount = totalInUseCount;
    return this;
  }

  /**
   * In use voucher counts of the voucher group, unaffected by search
   * @return totalInUseCount
  */
  @ApiModelProperty(value = "In use voucher counts of the voucher group, unaffected by search")


  public Integer getTotalInUseCount() {
    return totalInUseCount;
  }

  public void setTotalInUseCount(Integer totalInUseCount) {
    this.totalInUseCount = totalInUseCount;
  }

  public StatisticsCountOpenApiVo totalExpiredCount(Integer totalExpiredCount) {
    this.totalExpiredCount = totalExpiredCount;
    return this;
  }

  /**
   * Expired voucher counts of the voucher group, unaffected by search
   * @return totalExpiredCount
  */
  @ApiModelProperty(value = "Expired voucher counts of the voucher group, unaffected by search")


  public Integer getTotalExpiredCount() {
    return totalExpiredCount;
  }

  public void setTotalExpiredCount(Integer totalExpiredCount) {
    this.totalExpiredCount = totalExpiredCount;
  }

  public StatisticsCountOpenApiVo totalStatisticsCount(Integer totalStatisticsCount) {
    this.totalStatisticsCount = totalStatisticsCount;
    return this;
  }

  /**
   * Total voucher counts of the voucher group, unaffected by search
   * @return totalStatisticsCount
  */
  @ApiModelProperty(value = "Total voucher counts of the voucher group, unaffected by search")


  public Integer getTotalStatisticsCount() {
    return totalStatisticsCount;
  }

  public void setTotalStatisticsCount(Integer totalStatisticsCount) {
    this.totalStatisticsCount = totalStatisticsCount;
  }


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    StatisticsCountOpenApiVo statisticsCountOpenApiVo = (StatisticsCountOpenApiVo) o;
    return Objects.equals(this.totalUnusedCount, statisticsCountOpenApiVo.totalUnusedCount) &&
        Objects.equals(this.totalInUseCount, statisticsCountOpenApiVo.totalInUseCount) &&
        Objects.equals(this.totalExpiredCount, statisticsCountOpenApiVo.totalExpiredCount) &&
        Objects.equals(this.totalStatisticsCount, statisticsCountOpenApiVo.totalStatisticsCount);
  }

  @Override
  public int hashCode() {
    return Objects.hash(totalUnusedCount, totalInUseCount, totalExpiredCount, totalStatisticsCount);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class StatisticsCountOpenApiVo {\n");
    
    sb.append("    totalUnusedCount: ").append(toIndentedString(totalUnusedCount)).append("\n");
    sb.append("    totalInUseCount: ").append(toIndentedString(totalInUseCount)).append("\n");
    sb.append("    totalExpiredCount: ").append(toIndentedString(totalExpiredCount)).append("\n");
    sb.append("    totalStatisticsCount: ").append(toIndentedString(totalStatisticsCount)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
}

