package company_request

import (
	"git.sxidc.com/student-physical-examination/contract_lock_sdk/http"
)

type CompanyauthLegalsignurlRequest struct {
	// <ext>core:true</ext> 【认证id】认证id 【传参】 参数必传其一，传入多个时只按最高优先级查询，优先级为认证id>法人单位id>法人单位名称>统一社会信用代码/工商注册号>第三方业务系统法人单位id。
	RequestId string `json:"requestId,omitempty"`
	// <ext>core:true;format:string</ext> 【法人单位id】法人单位id 【传参】 参数必传其一，传入多个时只按最高优先级查询，优先级为认证id>法人单位id>法人单位名称>统一社会信用代码/工商注册号>第三方业务系统法人单位id。
	Id *int64 `json:"id,omitempty"`
	// <ext>core:true</ext> 【法人单位名称】法人单位名称 【传参】 参数必传其一，传入多个时只按最高优先级查询，优先级为认证id>法人单位id>法人单位名称>统一社会信用代码/工商注册号>第三方业务系统法人单位id。
	Name string `json:"name,omitempty"`
	// <ext>core:true</ext> 【统一社会信用代码/工商注册号】统一社会信用代码/工商注册号 【传参】 参数必传其一，传入多个时只按最高优先级查询，优先级为认证id>法人单位id>法人单位名称>统一社会信用代码/工商注册号>第三方业务系统法人单位id。
	RegisterNo string `json:"registerNo,omitempty"`
	// <ext>core:true</ext> 【第三方业务系统法人单位id】第三方业务系统法人单位id 【传参】 参数必传其一，传入多个时只按最高优先级查询，优先级为认证id>法人单位id>法人单位名称>统一社会信用代码/工商注册号>第三方业务系统法人单位id。
	OpenCompanyId string `json:"openCompanyId,omitempty"`
	// <ext>core:true</ext> 【法定代表人联系方式】法定代表人联系方式 【作用】 1、传入法定代表人正确的联系方式，可用于给法人发送认证授权通知，法人认证时也需要使用该联系方式完成身份核验 2、如果在系统页面提交认证基础信息时已填写法定代表人联系方式，则将更新为本参数传入的联系方式 【传参】 1、可传入手机号或者邮箱。 2、手机号允许使用大陆、港澳台、国际手机号，手机号格式为：区号+空格+手机号，例：852 9xxxxxxx ，大陆手机号可以不传区号。 3、邮箱需传入符合格式的字符串，例：xxxxxxxx@163.com。
	LegalContact string `json:"legalContact,omitempty"`
	// <ext>deprecated:true</ext> 【法定代表人证件号】法定代表人证件号
	LegalPersonId string `json:"legalPersonId,omitempty"`
	// <ext>core:true</ext> 【链接有效期】链接有效期 【作用】 1、用于设置获取到的链接在多长时间后过期 2、当该参数不传值时，其有效期将被设置为 “管理控制台-设置-开放平台-接口页面有效期配置-接口页面默认有效期“对应的时长 3、传入时长超过 “管理控制台-设置-开放平台-接口页面有效期配置-接口页面最大有效期天数“时，以控制台配置的最大天数为准 【传参】 最小值：1。单位：秒。
	ExpireTime *int64 `json:"expireTime,omitempty"`
	// <ext>core:true</ext> 【授权成功后跳转地址】授权成功后跳转地址 【作用】 当法定代表人授权成功后页面自动跳转至指定地址，不传值默认为：尝试返回上一页面
	SuccessPage string `json:"successPage,omitempty"`
	// <ext>core:true</ext> 【授权结束后跳转地址】授权结束后跳转地址 【作用】 当法定代表人授权结束后页面自动跳转至指定地址，不传值时会再读取successpage（授权成功后跳转地址）中配置的跳转地址，若successpage（授权成功后跳转地址）也未传值，则尝试返回上一页面
	EndPage string `json:"endPage,omitempty"`
	// <ext>core:true</ext> 【页面语言】页面语言 【作用】 1、用于指定链接页面使用的语言 2、英文和日文页面为付费功能，请确认开通英文版系统和日文版系统后使用 【传参】 取值范围：ZH_CN(中文)，EN_US(英文)，JP(日文)；不传值默认为：ZH_CN（中文）。
	Language string `json:"language,omitempty"`
	// <ext>core:true;format:color</ext> 【页面主题色】自定义页面主题色 【作用】 可根据组织的品牌风格，自定义页面的主题颜色，如红色、蓝色 【传参】 RGB颜色(16进制)，例如：#A67A7A。
	ThemeColor string `json:"themeColor,omitempty"`
	// <ext>core:true</ext> 【移动端页面导航头部】移动端页面导航头部 【作用】 1、移动端内嵌页面默认带有头部导航区域，且区域内提供返回按钮，嵌入其他app时会与app自带的导航头部区域航重复 2、可通过本参数控制签入移动端页面时是否提供头部导航区域 【传参】 取值范围：true（隐藏导航头部），false（显示导航头部）；不传值默认为：false（显示导航头部）。
	HideHeader string `json:"hideHeader,omitempty"`
	// 【是否发送消息通知】是否发送消息通知 【作用】 获取法人在线签链接时，是否同步发送短信或邮件通知法定代表人进行认证授权 【传参】 取值范围：false（不通知），true（通知）；不传值默认为：false（不通知）
	Remind *bool `json:"remind,omitempty"`
}

func (obj CompanyauthLegalsignurlRequest) GetUrl() string {
	return "/companyauth/legalsignurl"
}

func (obj CompanyauthLegalsignurlRequest) GetHttpParameter() *http.HttpParameter {
	parameter := http.NewPostHttpParameter()
	parameter.AddParam("requestId", obj.RequestId)
	parameter.AddParam("id", obj.Id)
	parameter.AddParam("name", obj.Name)
	parameter.AddParam("registerNo", obj.RegisterNo)
	parameter.AddParam("openCompanyId", obj.OpenCompanyId)
	parameter.AddParam("legalContact", obj.LegalContact)
	parameter.AddParam("legalPersonId", obj.LegalPersonId)
	parameter.AddParam("expireTime", obj.ExpireTime)
	parameter.AddParam("successPage", obj.SuccessPage)
	parameter.AddParam("endPage", obj.EndPage)
	parameter.AddParam("language", obj.Language)
	parameter.AddParam("themeColor", obj.ThemeColor)
	parameter.AddParam("hideHeader", obj.HideHeader)
	parameter.AddParam("remind", obj.Remind)
	return parameter
}
