package org.springblade.modules.martial.pojo.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

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

/**
 * Organization Statistics VO
 */
@Data
@Schema(description = "单位统计视图对象")
public class OrganizationStatsVO implements Serializable {

	private static final long serialVersionUID = 1L;

	@Schema(description = "单位名称")
	private String organization;

	@Schema(description = "运动员人数（去重）")
	private Integer athleteCount;

	@Schema(description = "项目数量")
	private Integer projectCount;

	@Schema(description = "单人项目数")
	private Integer singleProjectCount;

	@Schema(description = "集体项目数")
	private Integer teamProjectCount;

	@Schema(description = "男运动员数")
	private Integer maleCount;

	@Schema(description = "女运动员数")
	private Integer femaleCount;

	@Schema(description = "总金额")
	private BigDecimal totalAmount;

	@Schema(description = "项目金额明细")
	private List<ProjectAmountItem> projectAmounts;

	@Data
	@Schema(description = "项目金额明细")
	public static class ProjectAmountItem implements Serializable {
		private static final long serialVersionUID = 1L;

		@Schema(description = "项目ID")
		private Long projectId;

		@Schema(description = "项目名称")
		private String projectName;

		@Schema(description = "项目类型(1=单人,2=集体)")
		private Integer projectType;

		@Schema(description = "报名人数/集体数")
		private Integer count;

		@Schema(description = "单价")
		private BigDecimal price;

		@Schema(description = "小计金额")
		private BigDecimal amount;
	}
}
