package com.yh.saas.plugin.servicer.entity;

import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.yh.saas.common.support.entity.BaseModel;
import com.yh.saas.common.support.util.query.SearchField;
import com.yh.saas.common.support.util.query.SearchMode;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * <p>
 * 记录服务商银行账户信息表
 * </p>
 *
 * @author yul
 * @since 2019-11-11
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("servicer_merchant_bank_info")
public class ServicerMerchantBankInfo extends BaseModel<ServicerMerchantBankInfo> {

	private static final long serialVersionUID = -2953416870220877273L;

	/**
	 * 银行账户ID
	 */
	@TableId(type = IdType.UUID)
	private String bankId;
	/**
	 * 服务商ID
	 */
	@SearchField(mode = SearchMode.EQ)
	private String servicerId;
	/**
	 * 公司ID
	 */
	private String compId;
	/**
	 * 收款人名称
	 */
	private String payeeName;
	/**
	 * 收款人SWFT
	 */
	private String payeeSwft;
	/**
	 * 收款人地址
	 */
	private String payeeAddress;
	/**
	 * 开户行国籍
	 */
	private String nationalityKey;
	/**
	 * 开户行国籍名称
	 */
	private String nationalityValue;
	/**
	 * 开户行国籍英文名
	 */
	private String nationalityEnValue;
	/**
	 * 开户行账号
	 */
	private String receiveBankAccount;
	/**
	 * 开户行名称
	 */
	private String receiveBankName;
	/**
	 * 开户行地址
	 */
	private String receiveBankAddress;
	/**
	 * 序号
	 */
	private Long serialNumber;

	@Override
	protected Serializable pkVal() {
		return this.bankId;
	}

	/**
	 * 查询用字段
	 * 
	 */
	public static class QueryFields {

		public static final String COMP_ID = "comp_id";

		public static final String SERVICER_ID = "servicer_id";

		public static final String BANK_ID = "bank_id";

		public static final String DELETE_FALG = "delete_flag";

		private QueryFields() {
		}
	}

}
