package others_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 ChainEvidenceCompleteReportApplyRequest struct {
// core:true 【出证来源】出证来源 【作用】 用来区分出证数据的来源 1、电子签约存证:即申请电子签约文件的出证 2、数据签名存证:即申请数据签名文件的出证 3、可信身份存证:即申请可信数字身份核验结果的出证 4、自主数据存证:即申请自主数据存证的出证 【传参】 取值范围:1(电子签约存证), 2(数据签名存证), 3(可信身份存证), 4(自主数据存证)。
ProveSource *int64 `json:"proveSource"`
// core:true 【存证编号】存证编号 【作用】 电子签约、数据签名、可信身份、自主数据存证完成后,会生成一个唯一的编号,即存证编号,可通过存证编号申请出证。存证编号可在存证详情页获取或通过存证接口回调参数中获取 【传参】 1、最大长度:20。 2、存证编号与出证数据id必传其一。
ChainId string `json:"chainId,omitempty"`
// core:true 【出证数据id】出证数据id 【作用】 1.若是针对电子签约出证,可传入电子签约文件id,该参数可针对该条电子签约流程出具完整版存证报告 2.若是针对数据签名出证,可传入数据签名id,该参数可针对该条数据签名出具存证报告完整版 3.若是针对可信身份出证,可传入可信身份核验id,该参数可针对当前核验人该条核验数据出具完整版存证报告 4.若是针对自主数据存证进行出证,可传入第三方业务系统存证数据id,该参数可针对该条存证数据出具完整版存证报告 【传参】 1、最大长度:256。 2、出证数据id与存证编号必传其一。
ProveDataId string `json:"proveDataId,omitempty"`
// core:true 【需出证的签署文档id范围】需出证的签署文档id范围 【作用】 若是针对电子签约文件出证,可传入电子签约流程下部分签署文档id出具存证报告完整版。不传值时,默认为针对整条电子签约流程下所有签署文档出证 【传参】 以数组的字符串形式传入,若传入多个时中间通过逗号(必须是英文逗号)隔开。
DocumentIds string `json:"documentIds,omitempty"`
// core:true 【出证备案材料】出证备案材料 【作用】 由于完整版存证报告中含有个人隐私信息,故出证时请出具法院或公安局的调查令或调取证据通知书 【传参】 最多支持上传10份文件,每份文件上限50M
ProveMaterial []*os.File `json:"proveMaterial"`
// inner-type:Json;core:true 【操作人】操作人 【作用】 可传入业务系统中进行数据出证的操作人,传入后将在电子签章前台的存证详情与审计中进行记录,方便后期追溯 【传参】 1、参数必传其一(除姓名外),传入多个参数时只按参数中最高优先级查询,优先级为用户id>联系方式>手机号>邮箱>成员编号>证件号>第三方业务系统用户id>登录账号。 2、同时分配给操作人当前出证数据的查看权限,若不创建用户,则不分配查看权限。 3、若用户不存在时或当操作人未传时,审计日志将记录调用此接口的应用名称。
OperatorInfo string `json:"operatorInfo"`
OperatorInfoObject *common.NotaryOperatorInfo `json:"operatorInfoObject,omitempty"`
}
func (obj ChainEvidenceCompleteReportApplyRequest) GetUrl() string {
return "/chain/evidence/complete/report/apply"
}
func (obj ChainEvidenceCompleteReportApplyRequest) GetHttpParameter() *http.HttpParameter {
parameter := http.NewPostHttpParameter()
parameter.AddParam("proveSource", obj.ProveSource)
parameter.AddParam("chainId", obj.ChainId)
parameter.AddParam("proveDataId", obj.ProveDataId)
parameter.AddParam("documentIds", obj.DocumentIds)
parameter.AddListFiles("proveMaterial", obj.ProveMaterial)
if obj.OperatorInfoObject != nil {
jsonBytes, _ := json.Marshal(obj.OperatorInfoObject)
parameter.AddParam("operatorInfo", string(jsonBytes))
} else {
parameter.AddParam("operatorInfo", obj.OperatorInfo)
}
return parameter
}