package others_request

import (
	"encoding/json"
	"git.sxidc.com/student-physical-examination/contract_lock_sdk/http"
	"git.sxidc.com/student-physical-examination/contract_lock_sdk/model/common"
)

type PermissionsTransferPageurlRequest struct {
	DisEmployee *common.UserInfoRequest `json:"disEmployee"`
	// <ext>core:true</ext> 【是否离职交接人】是否离职交接人 【传参】 取值范围：true（离职），false（不离职）；默认为：true（离职）。
	Dimmission *bool `json:"dimmission,omitempty"`
	// <ext>core:true</ext> 【离职后选择要释放的账号】离职后选择要释放的账号 【作用】 离职员工后，可将手机号、邮箱、员工编号或自定义账号进行释放，方便后续其他员工入职后绑定  【传参说明】 支持传入手机号、邮箱、员工编号以及自定账号任意项，不填则不释放账号。若传入的参数对应用户并未关联，则直接忽略处理 注：该参数仅在自定义配置【内部员工离职成外部用户是否释放指定账号】开启且dimmission（是否离职交接人）为true时生效
	BindTypeList         []string                  `json:"bindTypeList,omitempty"`
	DisCompany           *common.DepartmentRequest `json:"disCompany,omitempty"`
	DisDepartmentRequest *common.DepartmentRequest `json:"disDepartmentRequest,omitempty"`
	DisCompanyRequest    *common.CompanyRequest    `json:"disCompanyRequest,omitempty"`
	OperatorEmployee     *common.UserInfoRequest   `json:"operatorEmployee,omitempty"`
	// <ext>core:true</ext> 【变更完成的回调地址】变更完成的回调地址 【传参】 变更完成后的将变更结果回调至指定地址
	CallBackUrl string `json:"callBackUrl,omitempty"`
	// 【更新成功跳转地址】更新成功跳转地址 【作用】 离职或交接成功后的跳转页面地址，若不传，则尝试返回上一页面
	SuccessPage string `json:"successPage,omitempty"`
	// 【取消更新跳转地址】取消更新跳转地址 【作用】 取消离职或交接时会跳转的地址，未传值时会停留在当前页面
	EndPage string `json:"endPage,omitempty"`
	// 【链接过期时间】链接过期时间 【作用】 1、用于设置获取到的链接在多长时间后过期，单位：秒 2、当该参数不传值时，其有效期将被设置为 “管理控制台-设置-开放平台-接口页面有效期配置-接口页面默认有效期“对应的时长
	ExpireTime *int64 `json:"expireTime,omitempty"`
	// 【链接访问次数】链接访问次数 【作用】 1、限制链接访问次数，若超过次数则链接失效 2、若不传值，则访问次数无限制；若传入具体数值，则链接在访问所传具体值次数后失效，无法继续访问
	VisitNum *int64 `json:"visitNum,omitempty"`
	// 【页面语言】页面语言 【传参】 取值范围：ZH_CN（中文），EN_US（英文） ，JP（日文）；默认为：ZH_CN（中文）。
	Language  string            `json:"language,omitempty"`
	PageStyle *common.PageStyle `json:"pageStyle,omitempty"`
	// 【移动端页面导航头部】移动端页面导航头部 【作用】 1、移动端内嵌页面默认带有头部导航区域，且区域内提供返回按钮，嵌入其他app时会与app自带的导航头部区域航重复 2、可通过本参数控制签入移动端页面时是否提供头部导航区域 【传参】 取值范围：true（隐藏导航头部），false（显示导航头部）；不传值默认为：false（显示导航头部）。
	HideHeader *bool `json:"hideHeader,omitempty"`
}

func (obj PermissionsTransferPageurlRequest) GetUrl() string {
	return "/permissions/transfer/pageurl"
}

func (obj PermissionsTransferPageurlRequest) GetHttpParameter() *http.HttpParameter {
	parameter := http.NewPostHttpParameter()
	jsonBytes, _ := json.Marshal(obj)
	parameter.SetJsonParamer(string(jsonBytes))
	return parameter
}
