/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.guosen.bussinessContactInfo.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import org.springblade.core.mp.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.validation.constraints.NotNull;


/**
 * 实体类
 *
 * @author BladeX
 * @since 2021-09-22
 */
@Data
@TableName("cyzh_bussiness_contact_info")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "BussinessContactInfo对象", description = "BussinessContactInfo对象")
public class BussinessContactInfo extends BaseEntity {

	private static final long serialVersionUID = 1L;

	private Long bussinessInfoId;
	/**
	* 联系人类型，10:法人，11:普通联系人
	*/
		@ApiModelProperty(value = "联系人类型，10:法人，11:普通联系人")
		private Integer contactType;
	/**
	* 法人姓名,请填写经营者/法人对应身份证件的姓名。
	*/
		@ApiModelProperty(value = "法人姓名,请填写经营者/法人对应身份证件的姓名。")
		private String legalName;
	/**
	* 法人证件类型	ID_CARD(法人身份证)	PASSPORT(护照)	HM_VISITORPASS(港澳居民往来内地通行证)	TAIWAN(台胞证)	SOLDIER(士兵证)	OFFICERS(军官证)		不填默认法人身份证ID_CARD
	*/
		@ApiModelProperty(value = "法人证件类型	ID_CARD(法人身份证)	PASSPORT(护照)	HM_VISITORPASS(港澳居民往来内地通行证)	TAIWAN(台胞证)	SOLDIER(士兵证)	OFFICERS(军官证)		不填默认法人身份证ID_CARD")
		private String legalLicenceType;
	/**
	* 法人证件号码,请填写经营者/法人对应身份证件号码。
	*/
		@ApiModelProperty(value = "法人证件号码,请填写经营者/法人对应身份证件号码。")
		private String legalLicenceNo;
	/**
	* 法人身份证件正面照片,请上传带有人像面的法人证件照片。上传图片前需调用文件上传接口将文件上传至易宝服务器。
	*/
		@ApiModelProperty(value = "法人身份证件正面照片,请上传带有人像面的法人证件照片。上传图片前需调用文件上传接口将文件上传至易宝服务器。")
		private String legalLicenceFrontUrl;
	/**
	* 法人身份证件反面照片,如为身份证，请上传国徽面照片；其余法人证件（如港澳台通行证）请上传人像面反面照片；如该类型法人证件无反面（护照），再次上传正面照片即可。上传图片前需调用文件上传接口将文件上传至易宝服务器。
	*/
		@ApiModelProperty(value = "法人身份证件反面照片,如为身份证，请上传国徽面照片；其余法人证件（如港澳台通行证）请上传人像面反面照片；如该类型法人证件无反面（护照），再次上传正面照片即可。上传图片前需调用文件上传接口将文件上传至易宝服务器。")
		private String legalLicenceBackUrl;
	/**
	* 用于商户与易宝之间的业务联系，请按照真实联系人信息填写。
	*/
		@ApiModelProperty(value = "用于商户与易宝之间的业务联系，请按照真实联系人信息填写。")
		private String contactName;
	/**
	* 商户联系人证件号码,用于商户与易宝之间的业务联系，请按照真实联系人信息填写。不传默认法人证件号
	*/
		@ApiModelProperty(value = "商户联系人证件号码,用于商户与易宝之间的业务联系，请按照真实联系人信息填写。不传默认法人证件号")
		private String contactLicenceNo;
	/**
	* 商户联系人手机号,用于商户与易宝之间的业务联系，请按照真实联系人信息填写
	*/
		@ApiModelProperty(value = "商户联系人手机号,用于商户与易宝之间的业务联系，请按照真实联系人信息填写")
		private String contactMobile;
	/**
	* 1.可能用于商户使用的产品/服务升级维护通知发送。2.可能用于商户通道报备。
	*/
		@ApiModelProperty(value = "1.可能用于商户使用的产品/服务升级维护通知发送。2.可能用于商户通道报备。")
		private String contactEmail;

	/**
	 * 客服电话，展示在订单支付详情，方便买家联系商家。
	 */
	@ApiModelProperty(value = "客服电话")
	private String servicePhone;

	/**
	 * 第三方法人身份证正面照片
	 */
	@TableField(exist = false)
	private String thirdLegalLicenceFrontUrl;

	/**
	 * 第三方法人身份证反面照片
	 */
	@TableField(exist = false)
	private String thirdLegalLicenceBackUrl;


		public String toLegalString(){
			return "{" +
					"\"legalName\"" +":\""+ legalName + '\"' +
					", \"legalLicenceType\"" +":\""+ legalLicenceType + '\"' +
					", \"legalLicenceNo\"" +":\""+ legalLicenceNo + '\"' +
					", \"legalLicenceFrontUrl\"" +":\""+ thirdLegalLicenceFrontUrl + '\"' +
					", \"legalLicenceBackUrl\"" +":\""+ thirdLegalLicenceBackUrl + '\"' +
					'}';
		}

	public String toContactString(){
		return "{" +
				"\"contactName\"" +":\""+ contactName + '\"' +
				", \"contactLicenceNo\"" +":\""+ contactLicenceNo + '\"' +
				", \"contactMobile\"" +":\""+ contactMobile + '\"' +
				", \"contactEmail\"" +":\""+ contactEmail + '\"' +
				", \"servicePhone\"" +":\""+ servicePhone + '\"' +
				'}';
	}

}
