package com.qunzhixinxi.hnqz.admin.entity.dto;

import com.qunzhixinxi.hnqz.admin.enums.SubjectLocation;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 结算管理配置参数
 *
 * @author lixuesong
 */
@Data
public class SettleConfigDTO implements Serializable {

	private static final long serialVersionUID = 6592319640299289406L;

	/**
	 * 部门id
	 */
	@NotNull(message = "deptId必填")
	private Integer deptId;

	/**
	 * 各渠道配置
	 */
	@NotEmpty(message = "subList必填")
	private List<DeptSub> subList;

	/**
	 * 渠道配置
	 */
	@Data
	public static class DeptSub {

		/**
		 * 认证方式
		 */
		private String subjectType;

		/**
		 * 结算通道
		 */
		private Integer subjectChannel;

		/**
		 * 税源地
		 */
		private SubjectLocation subjectLocation;

		/**
		 * 限额
		 */
		private BigDecimal limitAmount;

		/**
		 * 是否有效：0-无效 1-生效
		 */
		private String enableFlag;

		/**
		 * 税邦云用户类型id
		 */
		private String subjectUserType;

		/**
		 * 税邦云用户类型对应的发票类目
		 */
		private String[] subjectInvoiceCategory;
	}
}
