package cert_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 CertApplyRequest struct {
	Company *common.CertApplyCompanyRequest `json:"company,omitempty"`
	User    *common.CertApplyUserRequest    `json:"user,omitempty"`
	// <ext>core:true</ext>  【证书算法】证书算法 【作用】 RSA：国际上通用签名算法，一般用于PDF签署 SM2：由国家密码管理部门批准的签名算法，一般用于国产化版式文件OFD签署 【传参】 取值范围：RSA（国际算法），SM2（国密算法）；不传值默认为：RSA（国际算法）。
	SigAlgType string `json:"sigAlgType,omitempty"`
	// <ext>core:true</ext>  【证书年限】证书年限 【传参】 取值范围：1（1年期），2（2年期）；不传值默认为：1（1年期）。
	Years *int64 `json:"years,omitempty"`
}

func (obj CertApplyRequest) GetUrl() string {
	return "/cert/apply"
}

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