package user_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 UserChangesignpwdRequest struct {
	User *common.UserInfoRequest `json:"user"`
	// <ext>core:true</ext> 【页面语言】页面语言 【传参】 取值范围：ZH_CN(中文)，EN_US(英文)，JP(日文)；不传值默认为：ZH_CN(中文)。
	Language string `json:"language,omitempty"`
	// <ext>core:true</ext> 【链接过期时间】链接过期时间 【作用】 1、用于设置获取到的链接在多长时间后过期，单位：秒 2、当该参数不传值时，其有效期将被设置为 “管理控制台-设置-开放平台-接口页面有效期配置-接口页面默认有效期“对应的时长
	ExpireTime *int64 `json:"expireTime,omitempty"`
	// <ext>core:true</ext> 【更新成功跳转地址】更新成功跳转地址 【作用】 签署密码更新成功的跳转页面地址，若不传，则尝试返回上一页面
	SuccessPage string `json:"successPage,omitempty"`
	// <ext>core:true</ext> 【取消更新跳转地址】取消更新跳转地址 【作用】 取消更新签署密码时会跳转的地址，未传值时会停留在当前页面
	EndPage string `json:"endPage,omitempty"`
	// <ext>core:true</ext> 【操作完成自动关闭页面】操作完成自动关闭页面  【作用】 用户在取消/确认设置成签署密码操作时，是否自动关闭链接页面。点击取消和关闭操作时，若 endPage（取消更新跳转地址）传入会优先跳转至传入的地址。点击确认设置签署密码时，若  successPage（更新成功跳转地址）传入会优先跳转至传入的地址。若没有传入跳转地址，则根据当前的参数传入的值决定是否关闭页面。  【传参】  取值范围：true（自动关闭），false（不自动关闭）；不传值默认为：false（不自动关闭）。  【特殊说明】 该参数仅在successPage、endPage未传参时生效
	AutoClosePage *bool `json:"autoClosePage,omitempty"`
}

func (obj UserChangesignpwdRequest) GetUrl() string {
	return "/user/change-sign-pwd"
}

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