package contract_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 ContractMainsonCreateRequest struct {
	MainContract *common.ContractCreateBean `json:"mainContract"`
	// <ext>core:true</ext> 【子文件信息】子文件信息 【作用】 传入子文件的签署文件、签署方、签署位置等信息。子文件是与主文件关联的其他文件，根据业务要求可能仅需部分签署方进行签署，例如租赁业务中的补充协议等。 【特殊说明】 1、支持传入多个电子签约文件信息 2、子文件数量不能超过10个
	SonContracts []*common.ContractCreateBean `json:"sonContracts"`
}

func (obj ContractMainsonCreateRequest) GetUrl() string {
	return "/contract/mainson/create"
}

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