package v2template_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"
	"os"
)

type V2TemplateAddRequest struct {
	// <ext>inner-type:Json<AddTemplateInfo>;core:true</ext> 【模板信息】模板信息
	TemplateInfo string `json:"templateInfo"`
	// <ext>core:true</ext> 【模板文件】模板文件 【作用】 传入需创建的模板文件 【传参】 1、若创建HTML模板的文件，仅支持传入txt、json格式的文件，若不传则直接创建为空白在线模板。 2、若创建PDF模板的文件，仅支持传入PDF格式的模板文件。 3、若创建Word模板，仅支持传入docx等格式的模板文件。 【特殊说明】 若模板类型为word、pdf模板时，模板文件必传
	TemplateFile       *os.File                `json:"templateFile,omitempty"`
	TemplateInfoObject *common.AddTemplateInfo `json:"templateInfoObject,omitempty"`
}

func (obj V2TemplateAddRequest) GetUrl() string {
	return "/v2/template/add"
}

func (obj V2TemplateAddRequest) GetHttpParameter() *http.HttpParameter {
	parameter := http.NewPostHttpParameter()
	parameter.AddFiles("templateFile", obj.TemplateFile)
	if obj.TemplateInfoObject != nil {
		jsonBytes, _ := json.Marshal(obj.TemplateInfoObject)
		parameter.AddParam("templateInfo", string(jsonBytes))
	} else {
		parameter.AddParam("templateInfo", obj.TemplateInfo)
	}
	return parameter
}
