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 ContractAgentCancelRequest struct {
	// <ext>core:true</ext> 【电子签约文件集合】电子签约文件集合 【作用】 查询（可根据不同场景定义描述文案）的电子签约文件集合 【传参】 电子签约文件id和第三方业务系统文件id必传其一，均传入以电子签约文件id为准。
	Contracts []*common.ContractRequest `json:"contracts,omitempty"`
	// <ext>format:string;core:true</ext> 【代理签批授权集合】代理签批授权集合 【作用】 查询需取消的代理签批授权记录集合 【特殊说明】 1、支持按代理授权ID、第三方系统代理授权ID等方式查询，必传1项 2、传入多项时，按顺序仅取第1项参数进行查询
	Agents []*common.ContractAgentCancelAgentsRequest `json:"agents,omitempty"`
}

func (obj ContractAgentCancelRequest) GetUrl() string {
	return "/contract/agent/cancel"
}

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