package com.xunhong.erp.turbo.api.biz.dto.common;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.xunhong.erp.turbo.base.dto.Command;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author shenyifei
 */
@Data
@Schema(title = "采购订单公司信息创建")
@EqualsAndHashCode(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class OrderCompany extends Command {

	/**
	 * 记录ID
	 */
	@Schema(title = "记录ID", type = "string", requiredMode = Schema.RequiredMode.REQUIRED)
	private Long orderCompanyId;

	/**
	 * 订单ID
	 */
	@Schema(title = "订单ID", type = "string", requiredMode = Schema.RequiredMode.REQUIRED)
	private Long orderId;

	/**
	 * 公司ID
	 */
	@Schema(title = "公司ID", type = "string", requiredMode = Schema.RequiredMode.REQUIRED)
	private Long companyId;

	/**
	 * 公司简称
	 */
	@Schema(title = "公司简称", requiredMode = Schema.RequiredMode.REQUIRED)
	private String shortName;

	/**
	 * 公司全称
	 */
	@Schema(title = "公司全称", requiredMode = Schema.RequiredMode.REQUIRED)
	private String fullName;

	/**
	 * 税号
	 */
	@Schema(title = "税号", requiredMode = Schema.RequiredMode.REQUIRED)
	private String taxNumber;

	/**
	 * 联系人
	 */
	@Schema(title = "联系人", requiredMode = Schema.RequiredMode.REQUIRED)
	private String contactPerson;

	/**
	 * 联系电话
	 */
	@Schema(title = "联系电话", requiredMode = Schema.RequiredMode.REQUIRED)
	private String contactPhone;

	/**
	 * 发货地址
	 */
	@Schema(title = "发货地址", requiredMode = Schema.RequiredMode.REQUIRED)
	private String address;

	/**
	 * 账户ID
	 */
	@Schema(title = "账户ID", type = "string")
	private Long accountId;

	/**
	 * 银行名称
	 */
	@Schema(title = "银行名称")
	private String bankName;

	/**
	 * 支行名称
	 */
	@Schema(title = "支行名称")
	private String branchName;

	/**
	 * 账户名称
	 */
	@Schema(title = "账户名称")
	private String accountName;

	/**
	 * 银行账号
	 */
	@Schema(title = "银行账号")
	private String accountNumber;

}

