cuichao il y a 6 mois
commit
1061ab83d5
100 fichiers modifiés avec 2377 ajouts et 0 suppressions
  1. 17 0
      commons/Constants.go
  2. 69 0
      commons/SdkUtils.go
  3. 18 0
      config/ProxyInfo.go
  4. 12 0
      constant/BasicsResult.go
  5. 11 0
      constant/ExtraFieldResult.go
  6. 13 0
      constant/StreamResult.go
  7. 7 0
      go.mod
  8. 299 0
      http/HttpClient.go
  9. 13 0
      http/HttpHeader.go
  10. 96 0
      http/HttpParameter.go
  11. 21 0
      model/auth/request/UserauthAuthstatusRequest.go
  12. 71 0
      model/auth/request/UserauthAuthurl2Request.go
  13. 27 0
      model/auth/request/UserauthIdentifyRequest.go
  14. 39 0
      model/auth/request/UserauthNoticeRequest.go
  15. 14 0
      model/auth/response/UserauthAuthstatusResponse.go
  16. 11 0
      model/auth/response/UserauthAuthurl2Response.go
  17. 12 0
      model/auth/response/UserauthIdentifyResponse.go
  18. 8 0
      model/auth/response/UserauthNoticeResponse.go
  19. 19 0
      model/binary/request/BinaryBatchCancelQueryRequest.go
  20. 23 0
      model/binary/request/BinaryBatchCancelRequest.go
  21. 19 0
      model/binary/request/BinaryBatchSignQueryRequest.go
  22. 32 0
      model/binary/request/BinaryBatchSignRequest.go
  23. 22 0
      model/binary/request/BinaryCancelSignRequest.go
  24. 29 0
      model/binary/request/BinaryCancelurlRequest.go
  25. 22 0
      model/binary/request/BinaryDetailRequest.go
  26. 22 0
      model/binary/request/BinaryDownloadRequest.go
  27. 22 0
      model/binary/request/BinaryEvidenceDownloadRequest.go
  28. 46 0
      model/binary/request/BinarySignV2Request.go
  29. 90 0
      model/binary/request/BinarySignurlV2Request.go
  30. 19 0
      model/binary/request/BinarySignurlstatusRequest.go
  31. 14 0
      model/binary/response/BinaryBatchCancelQueryResponse.go
  32. 8 0
      model/binary/response/BinaryBatchCancelResponse.go
  33. 8 0
      model/binary/response/BinaryBatchSignResponse.go
  34. 21 0
      model/binary/response/BinaryDetailResponse.go
  35. 15 0
      model/binary/response/BinarySignurlV2Response.go
  36. 26 0
      model/cert/request/CertApplyRequest.go
  37. 28 0
      model/cert/request/CertApplyThirdRequest.go
  38. 38 0
      model/cert/request/CertOrderQueryRequest.go
  39. 45 0
      model/cert/request/CertQueryRequest.go
  40. 32 0
      model/cert/request/CertStatisticQueryRequest.go
  41. 32 0
      model/cert/response/CertApplyResponse.go
  42. 32 0
      model/cert/response/CertApplyThirdResponse.go
  43. 29 0
      model/cert/response/CertOrderQueryResponse.go
  44. 29 0
      model/cert/response/CertQueryResponse.go
  45. 29 0
      model/cert/response/CertStatisticQueryResponse.go
  46. 16 0
      model/checkHealth/request/CheckhealthRequest.go
  47. 15 0
      model/common/AbnormalItem.go
  48. 63 0
      model/common/Action.go
  49. 11 0
      model/common/ActionArchivalSealContent.go
  50. 11 0
      model/common/ActionInfo.go
  51. 9 0
      model/common/ActionInfoRequest.go
  52. 13 0
      model/common/ActionOperatorInfo.go
  53. 9 0
      model/common/ActionRectTypeSizeConfigs.go
  54. 9 0
      model/common/AddTemplateGroup.go
  55. 11 0
      model/common/AddTemplateGroupInfo.go
  56. 24 0
      model/common/AddTemplateInfo.go
  57. 11 0
      model/common/AddTemplateManger.go
  58. 13 0
      model/common/AddTemplateViewer.go
  59. 21 0
      model/common/AdminPunishment.go
  60. 16 0
      model/common/AnnotationStampers.go
  61. 15 0
      model/common/AppendDevice.go
  62. 21 0
      model/common/ApplyUserInfo.go
  63. 11 0
      model/common/ArchivalSealContent.go
  64. 11 0
      model/common/Attachment.go
  65. 51 0
      model/common/AuthCompanyResponse.go
  66. 21 0
      model/common/AuthInfo.go
  67. 11 0
      model/common/AuthorityRange.go
  68. 17 0
      model/common/AuthorizedSealRecord.go
  69. 7 0
      model/common/AuthorizedSealRecordBean.go
  70. 10 0
      model/common/BatchRecallResult.go
  71. 9 0
      model/common/BatchSignatoryInfo.go
  72. 27 0
      model/common/BatchSignatoryRect.go
  73. 9 0
      model/common/BinaryBatchCancelDataSignListRequest.go
  74. 13 0
      model/common/BinaryBatchCancelQueryTaskDetailResponse.go
  75. 10 0
      model/common/BinaryCancelSignDataSignRequest.go
  76. 9 0
      model/common/BinaryCompany.go
  77. 11 0
      model/common/BinaryDataBatchSignContent.go
  78. 10 0
      model/common/BinaryDataBatchTaskResult.go
  79. 15 0
      model/common/BinaryDataBatchTaskResultTaskDetail.go
  80. 14 0
      model/common/BinaryDataBatchTaskResultTaskStatistics.go
  81. 11 0
      model/common/BinaryOperator.go
  82. 9 0
      model/common/BinarySeal.go
  83. 11 0
      model/common/BinarySealRequest.go
  84. 12 0
      model/common/BinarySignatory.go
  85. 7 0
      model/common/BinarySignurlV2PageConfigPageStyleRequest.go
  86. 16 0
      model/common/BinarySignurlV2PageConfigRequest.go
  87. 17 0
      model/common/BizParam.go
  88. 20 0
      model/common/CBAction.go
  89. 11 0
      model/common/CBActionOperator.go
  90. 13 0
      model/common/CBContractTransmitItem.go
  91. 12 0
      model/common/CBCustomizeFiled.go
  92. 6 0
      model/common/CBDocumentParam.go
  93. 35 0
      model/common/CBSignatory.go
  94. 24 0
      model/common/CBSignatoryRect.go
  95. 26 0
      model/common/CategoryActionResponse.go
  96. 18 0
      model/common/CategoryDetailCompanyResponse.go
  97. 24 0
      model/common/CategoryDetailResponse.go
  98. 16 0
      model/common/CategoryFillActionResponse.go
  99. 17 0
      model/common/CategoryGroupResponse.go
  100. 9 0
      model/common/CategoryInfo.go

+ 17 - 0
commons/Constants.go

@@ -0,0 +1,17 @@
+package commons
+
+const (
+	ACCESS_TOKEN      = "x-qys-accesstoken"
+	NONCE             = "x-qys-nonce"
+	SIGNATURE_VERSION = "x-qys-signature-version"
+	BODY              = "x-qys-body"
+	SIGNATURE         = "x-qys-signature"
+	TRACEID           = "x-qys-traceid"
+	MD5               = "MD5"
+	HMACSHA256        = "HMACSHA256"
+	SM3               = "SM3"
+	CONNECTOR         = "&"
+	EQUALSIGN         = "="
+	IDEMPOTENTTOKEN   = "x-qys-clienttoken"
+	TIMESTAMP         = "x-qys-timestamp"
+)

+ 69 - 0
commons/SdkUtils.go

@@ -0,0 +1,69 @@
+package commons
+
+import (
+	"crypto/md5"
+	"encoding/json"
+	"fmt"
+	"github.com/google/uuid"
+	"reflect"
+	"strconv"
+	"time"
+)
+
+func GetTimeStamp() string {
+	timestamp := time.Now().UnixNano() / int64(time.Millisecond)
+	str := strconv.FormatInt(timestamp, 10)
+	return str
+}
+
+func GetUUID() string {
+	// 生成UUID
+	uuidObj := uuid.New()
+	// 将UUID转换成字符串
+	uuidStr := uuidObj.String()
+	// 打印UUID字符串
+	return uuidStr
+}
+
+func GetMD5(str string) string {
+	md5 := md5.New()
+	md5.Write([]byte(str))
+	result := fmt.Sprintf("%x", md5.Sum(nil))
+	return result
+}
+
+func IsValidJSON(str string) bool {
+	var js json.RawMessage
+	return json.Unmarshal([]byte(str), &js) == nil
+}
+
+// isPropertyExists 判断是否包含指定属性
+func IsPropertyExists(obj interface{}, propertyName string) bool {
+	if obj == nil || obj == "" {
+		return false
+	}
+	v := reflect.ValueOf(obj)
+	if v.Kind() == reflect.Ptr {
+		v = v.Elem()
+	}
+	t := v.Type()
+	for i := 0; i < t.NumField(); i++ {
+		field := t.Field(i)
+		if field.Name == propertyName {
+			return true
+		}
+	}
+	return false
+}
+
+func IsNil(value interface{}) bool {
+	if value == nil {
+		return true
+	}
+	switch reflect.TypeOf(value).Kind() {
+	case reflect.Ptr, reflect.Map, reflect.Slice, reflect.Chan, reflect.Interface:
+		return reflect.ValueOf(value).IsNil()
+	default:
+		return false
+	}
+}

+ 18 - 0
config/ProxyInfo.go

@@ -0,0 +1,18 @@
+package config
+
+type ProxyInfo struct {
+	ProxyHost     string //代理服务器主机名
+	ProxyPort     string //代理服务器端口号
+	ProxyUsername string //代理服务器用户名
+	ProxyPassword string //代理服务器密码
+}
+
+func NewProxyInfo(proxyHost string, proxyPort string, proxyUsername string, proxyPassword string) *ProxyInfo {
+	sdkClient := ProxyInfo{
+		ProxyHost:     proxyHost,
+		ProxyPort:     proxyPort,
+		ProxyUsername: proxyUsername,
+		ProxyPassword: proxyPassword,
+	}
+	return &sdkClient
+}

+ 12 - 0
constant/BasicsResult.go

@@ -0,0 +1,12 @@
+package constant
+
+var BASICS_TYPE = map[string]string{
+	"/document/fillTextFields":    "resultMap",
+	"/document/createbytemplate":  "documentId",
+	"/binary/signurl/v2":          "signUrl",
+	"/contract/viewurl":           "viewUrl",
+	"/contract/todo/link":         "result",
+	"/document/createbytemplates": "documentId",
+	"/contract/presignurl/v2": "presignUrl",
+	"/document/createbyfiles":     "documentId",
+}

+ 11 - 0
constant/ExtraFieldResult.go

@@ -0,0 +1,11 @@
+package constant
+
+var EXTRA_FIELD = map[string]string{
+	"/v2/seal/edit":                   "result",
+	"/v2/auth/personalsignsilent/url": "result",
+	"/v2/seal/manage":                 "result",
+	"/seal/apply/viewurl":             "result",
+	"/v2/auth/companysignsilent/url":  "result",
+	"/v2/contract/pageurl":            "result",
+	"/permissions/transfer/pageurl":   "result",
+}

+ 13 - 0
constant/StreamResult.go

@@ -0,0 +1,13 @@
+package constant
+
+import (
+	"private-go-sdk/model/common"
+	contract_response "private-go-sdk/model/contract/response"
+	"reflect"
+)
+
+var STREAM_RESULT = map[string]reflect.Type{
+	"/contract/create/withfileupload": reflect.TypeOf(common.ContractCreateResult{}),
+	"/contract/batchdownload":         reflect.TypeOf(contract_response.ContractBatchdownloadResponse{}),
+	"/contract/batchdownload/status":  reflect.TypeOf(contract_response.ContractBatchdownloadStatusResponse{}),
+}

+ 7 - 0
go.mod

@@ -0,0 +1,7 @@
+module private-go-sdk
+
+go 1.20
+
+require github.com/google/uuid v1.3.0
+
+require github.com/tjfoc/gmsm v1.4.1 // indirect

+ 299 - 0
http/HttpClient.go

@@ -0,0 +1,299 @@
+package http
+
+import (
+	"bytes"
+	"fmt"
+	"io"
+	"io/ioutil"
+	"log"
+	"mime/multipart"
+	"net/http"
+	"net/url"
+	"os"
+	"path/filepath"
+	"private-go-sdk/commons"
+	"private-go-sdk/config"
+	"strings"
+)
+
+func DoService(interfaceUrl string, httpParameter *HttpParameter, header *HttpHeader, proxyinfo *config.ProxyInfo) string {
+	method := httpParameter.HttpMethod()
+	switch method {
+	case http.MethodPost:
+		return Post(interfaceUrl, httpParameter, header, proxyinfo)
+	case http.MethodGet:
+		return Get(interfaceUrl, httpParameter, header, proxyinfo)
+	default:
+		return ""
+	}
+}
+
+// post请求json格式
+func DoServiceWithJson(interfaceUrl string, httpParameter *HttpParameter, header *HttpHeader, proxyinfo *config.ProxyInfo) string {
+	client := SetProxy(proxyinfo)
+	req, err := http.NewRequest(http.MethodPost, interfaceUrl, bytes.NewReader([]byte(httpParameter.jsonParamer)))
+	// 设置header参数
+	req.Header.Set("Content-Type", "application/json;charset=UTF-8")
+	SetHeaders(req, header)
+	return GetResponseAsString(err, req, client)
+}
+
+// get请求
+func Get(interfaceUrl string, httpParameter *HttpParameter, header *HttpHeader, proxyinfo *config.ProxyInfo) string {
+	client := SetProxy(proxyinfo)
+	if len(httpParameter.Params()) > 0 {
+		params := encodeParams(httpParameter.Params())
+		encodedURL := url.PathEscape(params)
+		interfaceUrl += "?" + encodedURL
+		print(interfaceUrl)
+
+	}
+	req, err := http.NewRequest(http.MethodGet, interfaceUrl, nil)
+	SetHeaders(req, header)
+	return GetResponseAsString(err, req, client)
+}
+
+// post请求,支持普通参数和文件类型参数
+func Post(interfaceUrl string, httpParameter *HttpParameter, header *HttpHeader, proxyinfo *config.ProxyInfo) string {
+	var req *http.Request
+	client := SetProxy(proxyinfo)
+	var err error
+	if httpParameter.IsMultipart() {
+		req, err = newFileUploadRequest(interfaceUrl, httpParameter, header)
+	} else {
+		req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
+		SetHeaders(req, header)
+		params := encodeParams(httpParameter.Params())
+		req, err = http.NewRequest(http.MethodPost, interfaceUrl, strings.NewReader(params))
+	}
+	return GetResponseAsString(err, req, client)
+}
+
+func DoDownloadWithJson(url string, httpParameter *HttpParameter, header *HttpHeader, file *os.File, proxyinfo *config.ProxyInfo) string {
+	client := SetProxy(proxyinfo)
+	// 构造请求对象
+	req, err := http.NewRequest(http.MethodPost, url, bytes.NewReader([]byte(httpParameter.jsonParamer)))
+	// 设置header参数
+	req.Header.Set("Content-Type", "application/json;charset=UTF-8")
+	SetHeaders(req, header)
+	return GetResponseAsOutputStream(err, req, file, client)
+}
+
+func DoDownload(url string, httpParameter *HttpParameter, header *HttpHeader, file *os.File, proxyinfo *config.ProxyInfo) string {
+	client := SetProxy(proxyinfo)
+	if len(httpParameter.Params()) > 0 {
+		url += "?" + encodeParams(httpParameter.Params())
+	}
+	req, err := http.NewRequest(http.MethodGet, url, nil)
+	SetHeaders(req, header)
+	return GetResponseAsOutputStream(err, req, file, client)
+}
+
+// 创建文件上传请求
+func newFileUploadRequest(url string, httpParameter *HttpParameter, header *HttpHeader) (*http.Request, error) {
+	body := &bytes.Buffer{}
+	writer := multipart.NewWriter(body)
+	// 普通参数
+	if len(httpParameter.params) > 0 {
+		for k, v := range httpParameter.Params() {
+			if commons.IsNil(v) {
+				continue
+			}
+			switch t := v.(type) {
+			case string:
+				if len(t) != 0 {
+					writer.WriteField(k, t)
+				}
+			case *int, *int32, *int64:
+				if f, ok := v.(*int64); ok {
+					writer.WriteField(k, fmt.Sprintf("%d", *f))
+				}
+			case *float32, *float64:
+				if f, ok := v.(*float64); ok {
+					writer.WriteField(k, fmt.Sprintf("%f", *f))
+				}
+			case *bool:
+				if f, ok := v.(*bool); ok {
+					writer.WriteField(k, fmt.Sprintf("%t", *f))
+				}
+			default:
+				writer.WriteField(k, fmt.Sprintf("%v", t))
+			}
+		}
+	}
+	// 文件参数
+	if len(httpParameter.files) > 0 {
+		for k, v := range httpParameter.Files() {
+			file, err := os.Open(v.Name())
+			if err != nil {
+				log.Println(err)
+			}
+			defer file.Close()
+			part, err := writer.CreateFormFile(k, filepath.Base(v.Name()))
+			if err != nil {
+				log.Println(err)
+			}
+			_, err = io.Copy(part, file)
+			if err != nil {
+				log.Println(err)
+			}
+		}
+	}
+	// 文件列表参数
+	if len(httpParameter.listFiles) > 0 {
+		for k, files := range httpParameter.ListFiles() {
+			if len(files) > 0 {
+				for _, v := range files {
+					file, err := os.Open(v.Name())
+					if err != nil {
+						log.Println(err)
+					}
+					defer file.Close()
+					part, err := writer.CreateFormFile(k, filepath.Base(v.Name()))
+					if err != nil {
+						log.Println(err)
+					}
+					_, err = io.Copy(part, file)
+					if err != nil {
+						log.Println(err)
+					}
+				}
+			}
+		}
+	}
+	err := writer.Close()
+	if err != nil {
+		return nil, err
+	}
+	req, err := http.NewRequest(http.MethodPost, url, body)
+	req.Header.Set("Content-Type", writer.FormDataContentType())
+	SetHeaders(req, header)
+	return req, err
+}
+
+// 将返回结果解析为字符串
+func GetResponseAsString(err error, req *http.Request, client *http.Client) string {
+	if err != nil {
+		log.Fatal("NewRequest failed:", err)
+	}
+	response, err := client.Do(req)
+	if err != nil {
+		log.Fatal("Do request failed:", err)
+	}
+	defer response.Body.Close()
+	// 处理响应
+	responseDataBytes, err := ioutil.ReadAll(response.Body)
+	if err != nil {
+		log.Fatal("ReadAll failed:", err)
+	}
+	return string(responseDataBytes)
+}
+
+// 将返回结果解析为流
+func GetResponseAsOutputStream(err error, req *http.Request, file *os.File, client *http.Client) string {
+	if err != nil {
+		log.Fatal("NewRequest failed:", err)
+	}
+	response, err := client.Do(req)
+	if err != nil {
+		log.Fatal("Do request failed:", err)
+	}
+	defer response.Body.Close()
+	responseDataBytes, err := ioutil.ReadAll(response.Body)
+	//处理返回结果
+	contentType := response.Header.Get("Content-Type")
+	if len(contentType) > 0 {
+		lowerStr := strings.ToLower(contentType)
+		if strings.Contains(lowerStr, "application/json") {
+			//返回的是字符串
+			return string(responseDataBytes)
+		} else {
+			//返回的是流
+			if err != nil {
+				log.Fatal("ReadAll failed:", err)
+			}
+			_, err = file.Write(responseDataBytes)
+			if err != nil {
+				log.Fatal("WriteFile failed:", err)
+				os.Exit(1)
+			}
+		}
+	}
+	return ""
+}
+
+// 编码请求参数
+func encodeParams(params map[string]interface{}) string {
+	var parts []string
+	for k, v := range params {
+		if commons.IsNil(v) {
+			continue
+		}
+		switch t := v.(type) {
+		case string:
+			if len(t) != 0 {
+				parts = append(parts, k+commons.EQUALSIGN+fmt.Sprintf("%v", t))
+			}
+		case *int, *int32, *int64:
+			if f, ok := v.(*int64); ok {
+				parts = append(parts, k+commons.EQUALSIGN+fmt.Sprintf("%d", *f))
+			}
+		case *float32, *float64:
+			if f, ok := v.(*float64); ok {
+				parts = append(parts, k+commons.EQUALSIGN+fmt.Sprintf("%f", *f))
+			}
+		case *bool:
+			if f, ok := v.(*bool); ok {
+				parts = append(parts, k+commons.EQUALSIGN+fmt.Sprintf("%t", *f))
+			}
+		default:
+			parts = append(parts, k+commons.EQUALSIGN+fmt.Sprintf("%v", t))
+		}
+	}
+	return strings.Join(parts, commons.CONNECTOR)
+}
+
+func SetHeaders(req *http.Request, header *HttpHeader) {
+	req.Header.Set(commons.ACCESS_TOKEN, header.AccessToken)
+	req.Header.Set(commons.TIMESTAMP, header.Timestamp)
+	req.Header.Set(commons.SIGNATURE, header.Signature)
+	req.Header.Set(commons.NONCE, header.Nonce)
+	req.Header.Set(commons.SIGNATURE_VERSION, header.SignatureVersion)
+	req.Header.Set(commons.IDEMPOTENTTOKEN, header.IdempotentToken)
+	req.Header.Set(commons.TRACEID, header.TraceId)
+	req.Header.Set(commons.BODY, "")
+    req.Header.Set("Connection", "close")
+	if header.CustomHeaders != nil && len(header.CustomHeaders) != 0 {
+		for k, v := range header.CustomHeaders {
+			req.Header.Set(k, v)
+		}
+	}
+}
+
+func SetProxy(proxyinfo *config.ProxyInfo) *http.Client {
+	if proxyinfo != nil {
+		if len(proxyinfo.ProxyHost) > 0 && len(proxyinfo.ProxyPort) > 0 {
+			// 创建一个代理 URL
+			proxyStr := "http://" + proxyinfo.ProxyHost + ":" + proxyinfo.ProxyPort
+			proxyURL, err := url.Parse(proxyStr)
+			if err != nil {
+				fmt.Println("无效的代理 URL:", err)
+				return &http.Client{}
+			}
+			// 设置代理的用户名和密码
+			if len(proxyinfo.ProxyUsername) > 0 && len(proxyinfo.ProxyPassword) > 0 {
+				proxyURL.User = url.UserPassword(proxyinfo.ProxyUsername, proxyinfo.ProxyPassword)
+			}
+			// 创建一个自定义的 Transport
+			transport := &http.Transport{
+				Proxy: http.ProxyURL(proxyURL),
+			}
+			// 创建自定义的 Client
+			client := &http.Client{
+				Transport: transport,
+			}
+			return client
+		}
+	}
+	return &http.Client{}
+}

+ 13 - 0
http/HttpHeader.go

@@ -0,0 +1,13 @@
+package http
+
+type HttpHeader struct {
+	ContentType      string
+	AccessToken      string
+	Timestamp        string
+	Nonce            string
+	Signature        string
+	SignatureVersion string
+	TraceId          string
+	IdempotentToken  string
+	CustomHeaders    map[string]string
+}

+ 96 - 0
http/HttpParameter.go

@@ -0,0 +1,96 @@
+package http
+
+import (
+	"net/http"
+	"os"
+)
+
+type HttpParameter struct {
+	jsonParamer string
+	params      map[string]interface{}
+	files       map[string]*os.File
+	listFiles   map[string][]*os.File
+	httpMethod  string
+}
+
+func NewGetHttpParameter() *HttpParameter {
+	param := HttpParameter{
+		params:     make(map[string]interface{}),
+		files:      make(map[string]*os.File),
+		listFiles:  make(map[string][]*os.File),
+		httpMethod: http.MethodGet,
+	}
+	return &param
+}
+
+func NewPostHttpParameter() *HttpParameter {
+	param := HttpParameter{
+		params:     make(map[string]interface{}),
+		files:      make(map[string]*os.File),
+		listFiles:  make(map[string][]*os.File),
+		httpMethod: http.MethodPost,
+	}
+	return &param
+}
+
+func (h *HttpParameter) JsonParamer() string {
+	return h.jsonParamer
+}
+
+func (h *HttpParameter) SetJsonParamer(jsonParamer string) {
+	h.jsonParamer = jsonParamer
+}
+
+func (h *HttpParameter) Params() map[string]interface{} {
+	return h.params
+}
+
+func (h *HttpParameter) AddParam(key string, value interface{}) {
+	h.params[key] = value
+}
+
+func (h *HttpParameter) SetParams(params map[string]interface{}) {
+	h.params = params
+}
+
+func (h *HttpParameter) Files() map[string]*os.File {
+	return h.files
+}
+
+func (h *HttpParameter) AddFiles(key string, file *os.File) {
+	h.files[key] = file
+}
+
+func (h *HttpParameter) SetFiles(files map[string]*os.File) {
+	h.files = files
+}
+
+func (h *HttpParameter) ListFiles() map[string][]*os.File {
+	return h.listFiles
+}
+
+func (h *HttpParameter) AddListFiles(key string, listFiles []*os.File) {
+	h.listFiles[key] = listFiles
+}
+
+func (h *HttpParameter) SetListFiles(listFiles map[string][]*os.File) {
+	h.listFiles = listFiles
+}
+
+func (h *HttpParameter) HttpMethod() string {
+	return h.httpMethod
+}
+
+func (h *HttpParameter) IsJson() bool {
+	if len(h.jsonParamer) == 0 {
+		return false
+	}
+	return true
+}
+
+func (h *HttpParameter) IsMultipart() bool {
+	if len(h.files) == 0 && len(h.listFiles) == 0 {
+		return false
+	}
+	return true
+}

+ 21 - 0
model/auth/request/UserauthAuthstatusRequest.go

@@ -0,0 +1,21 @@
+package auth_request
+
+import (
+	"private-go-sdk/http"
+	"encoding/json"
+)
+
+type UserauthAuthstatusRequest struct {
+	// <ext>core:true</ext> 【认证id】认证id 【作用】 查询用户具体某一条认证链接的认证状态
+	AuthId string `json:"authId"`
+}
+func (obj UserauthAuthstatusRequest) GetUrl() string {
+    return "/userauth/authStatus"
+}
+
+func (obj UserauthAuthstatusRequest) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewPostHttpParameter()
+    jsonBytes, _ := json.Marshal(obj)
+    parameter.SetJsonParamer(string(jsonBytes))
+    return parameter
+}

+ 71 - 0
model/auth/request/UserauthAuthurl2Request.go

@@ -0,0 +1,71 @@
+package auth_request
+
+import (
+	"private-go-sdk/http"
+	"encoding/json"
+)
+
+type UserauthAuthurl2Request struct {
+	// <ext>core:true</ext> 【手机号】手机号 【传参】 1、手机号允许使用大陆、港澳台、国际手机号,手机号格式为:区号+空格+手机号,例:852 9xxxxxxx ,大陆手机号可以不传区号。 2、手机号和邮箱必传其一,均传入以手机号为准。 3、若根据手机号查询不到用户,会再根据第三方业务系统用户id查询用户,若能查询到用户,则将根据传入的手机号更新用户。 4、若根据第三方业务系统用户id也查询不到用户,则将根据传入的手机号、第三方业务系统用户id创建新用户。
+	Mobile string `json:"mobile,omitempty"`
+	// <ext>format:email;core:true</ext> 【邮箱】邮箱 【传参】 1、邮箱需传入符合格式的字符串,例:xxxxxxxx@163.com。 2、手机号和邮箱必传其一,均传入以手机号为准。 3、若根据邮箱查询不到用户,会再根据第三方业务系统用户id查询用户,若能查询到用户,则将根据传入的邮箱更新用户。 4、若根据第三方业务系统用户id也查询不到用户,则将根据传入的邮箱、第三方业务系统用户id创建新用户。
+	Email string `json:"email,omitempty"`
+	// <ext>core:true</ext> 【用户姓名】用户姓名
+	Name string `json:"name,omitempty"`
+	// <ext>core:true</ext> 【证件类型】证件类型 【传参】 取值范围:IDCARD(二代身份证),PASSPORT(护照),HKMP(港澳通行证),MTPS(台胞证) ;不传值默认为:IDCARD(二代身份证)。
+	PaperType string `json:"paperType,omitempty"`
+	// <ext>core:true</ext> 【证件号】证件号 【传参】 支持传入用户证件号,包括居民身份证、护照号、港澳居民来往内地通行证等。
+	CardNo string `json:"cardNo,omitempty"`
+	// <ext>core:true</ext> 【证件号与用户认证信息不匹配场景下的处理策略】证件号与用户认证信息不匹配场景下的处理策略 【作用】 repeat(认证模式)为false(初次认证)时,可能存在传入的要认证用户手机号、邮箱、第三方业务系统用户id已被其他注册且已实名认证。例如: 接口传入张三的证件号以及手机号获取认证页面,但是手机号已经在系统存在并且实名认证为了李四的证件号,此时证件号不一致,接口将会报错避免信息传入错误的情况。 但线下实际可能是手机号李四不用了,由张三在进行实际的使用。因此需要将手机号从李四的账号解绑,将手机号绑定给张三获取认页面。 本参数支持指定接口报错还是进行手机号解绑并创建新账号。 创建新账号:账号已经换人使用,此时需创建新账号,需要将传入的身份信息(姓名与证件号)与账号信息创建新账号,并将所有被占用的账号信息与原账号解绑,并绑定至当前新创建账号中。 接口报错:账号的所有人未发生变更,业务系统存储的证件信息有误,此时接口需报错。 【传参】 取值范围:ERROR(接口报错),CREATE_NEW_USER(创建新用户) ;不传值默认为:ERROR(接口报错)。 【特殊说明】repeat(认证模式)为true(重复认证)时,接口将直接报错,提示【填写的身份证号与手机号的认证身份证号不符】
+	CardNoNotMatchStrategy string `json:"cardNoNotMatchStrategy,omitempty"`
+	// <ext>core:true</ext> 【银行卡号】银行卡号
+	BankNo string `json:"bankNo,omitempty"`
+	// <ext>core:true</ext> 【银行卡预留手机号】银行卡预留手机号 【传参】 仅允许使用大陆手机号。
+	BankPhone string `json:"bankPhone,omitempty"`
+	// <ext>core:true</ext> 【认证方式】认证方式 【作用】 可指定实名认证时使用的认证方式 【传参】 取值范围:DEFAULT(默认认证方式),IVS(手机号三要素认证),FACE(人脸识别认证),BANK(银行卡四要素认证),CTID(国家网络身份认证);不传值默认为:DEFAULT(默认认证方式)。
+	AuthMode string `json:"authMode,omitempty"`
+	// <ext>core:true</ext> 【备用认证方式】备用认证方式 【作用】 若authMode(认证方式)中指定了具体的主用认证方式,则可通过该字段控制主用认证方式失败后,用户可以使用的备用认证方式 【传参】 支持传入多种认证方式,多个认证方式之间使用英文逗号区分。取值范围:IVS(手机号三要素认证),FACE(人脸识别认证),BANK(银行卡四要素认证),CTID(国家网络身份认证),MANUAL(人工审核认证);可选多项。
+	AuthDemotionModes []string `json:"authDemotionModes,omitempty"`
+	// <ext>format:pure-base64;core:true</ext> 【证件照人像面】证件照人像面 【作用】 若用户进入人工审核认证页面,可以自动带出证件照人像面图片 【传参】 1、base64格式。 2、图片小于5M。 3、jpg/png类型图片。
+	CardPersonImg string `json:"cardPersonImg,omitempty"`
+	// <ext>format:pure-base64;core:true</ext> 【证件照信息面】证件照信息面 【作用】 若用户进入人工审核认证页面,可以自动带出证件照信息面图片 【传参】 1、base64格式。 2、图片小于5M。 3、jpg/png类型图片。
+	CardInfoImg string `json:"cardInfoImg,omitempty"`
+	// <ext>format:pure-base64;core:true</ext> 【手持证件照】手持证件照 【作用】 若用户进入人工审核认证页面,可以自动带出手持证件照图片 【传参】 1、base64格式。 2、图片小于5M。 3、jpg/png类型图片。
+	CardHandImg string `json:"cardHandImg,omitempty"`
+	// <ext>core:true</ext> 【认证模式】认证模式 【作用】 可控制用户是初次认证还是重复认证 1、false:即用户为初次认证,之前未在系统中进行过实名认证 2、true:即用户为重复认证,用户已经在系统中成功认证过,可能因为变更姓名等原因需要重新认证 【传参】 1、取值范围:true(重复认证),false(初次认证);默认为:false(初次认证)。 2、若传入true(重复认证)但账号信息(手机号、邮箱、第三方业务系统用户id)未匹配到账号时,将按照false(初次认证)处理,系统自动创建账号
+	Repeat *bool `json:"repeat,omitempty"`
+	// <ext>core:true</ext> 【认证可修改字段】认证可修改字段 【作用】 可通过该参数控制用户打开实名认证连接后,接口传入的参数是否允许用户自行修改 【传参】 1、不传值时:默认除了手机号以外所有参数都允许修改。  2、传值为NONE时:接口传入的所有参数都不允许修改。  3、传值为除了NONE以外的其他值时:传入的值可以修改。 4、取值范围: NONE(都不允许修改),NAME(用户姓名),CARDNO(证件号),MOBILE(手机号),BANKNO(银行卡号),BANKPHONE(银行卡预留手机号),CARDIMGS(证件照);可选多项。 5、重新认证时证件号不允许修改。
+	ModifyFields []string `json:"modifyFields,omitempty"`
+	// <ext>core:false</ext> 【认证成功后跳转地址】认证成功后跳转地址 【作用】 当认证成功后页面自动跳转至指定地址,不传值默认为:尝试返回上一页面
+	SuccessPage string `json:"successPage,omitempty"`
+	// <ext>core:false</ext> 【认证结束后跳转地址】认证结束后跳转地址 【作用】 当认证结束后页面自动跳转至指定地址,不传值时会再读取successpage(认证成功后跳转地址)中配置的跳转地址,若successpage(认证成功后跳转地址)也未传值,则尝试返回上一页面
+	EndPage string `json:"endPage,omitempty"`
+	// <ext>core:false</ext> 【是否发送认证通知】是否发送认证通知 【作用】 控制向接口传入的联系方式,是否发送短信或邮件通知用户进行实名认证,优先发送短信通知。 【传参】 取值范围:true(发送通知),false(不发送通知);默认为:false(不发送通知)。
+	SendNotice *bool `json:"sendNotice,omitempty"`
+	// <ext>core:false;deprecated:true</ext> 【是否计费】是否计费 【作用】 电子签章管理后台可对所有内部外部单位以及个人设置计费规则,收取相应的签署、证书、认证等费用,可标记单位是否计费 【传参】 取值范围:true(是),false(否);默认为:false(否)。
+	Customer *bool `json:"customer,omitempty"`
+	// <ext>core:false;format:color</ext> 【自定义页面主题色】自定义页面主题色 【作用】 可根据组织的品牌风格,自定义页面的主题颜色,如红色、蓝色 【传参】 RGB颜色(16进制),例如:#A67A7A。
+	ThemeColor string `json:"themeColor,omitempty"`
+	// <ext>core:false</ext> 【页面语言】页面语言 【作用】 1、用于指定链接页面使用的语言 2、英文和日文页面为付费功能,请确认开通英文版系统和日文版系统后使用 【传参】 取值范围:ZH_CN(中文),EN_US(英文),JP(日文);默认为:ZH_CN(中文)。
+	Language string `json:"language,omitempty"`
+	// <ext>core:true</ext> 【是否显示港澳台及海外用户认证入口】是否显示港澳台及海外用户认证入口 【作用】 1、港澳台及海外用户可通过上传证件照、随机手势照完成人工审核,可配置是否显示该认证入口 2、同时显示:即同时显示大陆居民认证方式和港澳台及海外用户认证入口,可用的大陆居民认证方式由authMode(认证方式)定义 3、仅显示港澳台及海外用户认证:即authMode(认证方式)传入的认证方式无效,只能使用港澳台及海外用户认证 4、仅显示大陆居民认证:即仅显示authMode(认证方式)传入的认证方式,不显示港澳台及海外用户认证切换入口 【传参】 取值范围:BOTH(同时显示),NON_MAINLAND(仅显示港澳台及海外用户认证),MAINLAND(仅显示大陆居民认证) ;不传值默认为:BOTH(同时显示)。
+	PersonAuthPage string `json:"personAuthPage,omitempty"`
+	// <ext>core:false</ext> 【链接有效期】链接有效期 【作用】 1、用于设置获取到的链接在多长时间后过期。 2、该参数不传值时,其有效期将使用电子签章管理后台-设置-开放平台-接口页面有效期配置-个人认证接口页面默认有效期设置的秒数, 当此值为“默认”时,其有效期使用电子签章管理后台-设置-开放平台-接口页面有效期配置-接口页面默认有效期设置的秒数。 3、参数传入时长超过电子签章管理后台设置的“接口页面最大有效期天数”时,将以接口传入的有效期为准。 【传参】 最小值:1(包含)。单位:秒。
+	ExpireTime *int64 `json:"expireTime,omitempty"`
+	// <ext>core:true</ext> 【第三方业务系统用户id】第三方业务系统用户id
+	OpenUserId string `json:"openUserId,omitempty"`
+	// <ext>core:true</ext> 【额外业务信息】额外业务信息 【作用】 可通过该参数传入一些额外的信息,该信息会在回调时原封不动的返回给您的业务系统,用于业务系统做后续的业务关联处理。 【传参】 字符串,业务方指定的回调文本内容。
+	BizNo string `json:"bizNo,omitempty"`
+	// 【移动端页面导航头部】移动端页面导航头部 【作用】 1、移动端内嵌页面默认带有头部导航区域,且区域内提供返回按钮,嵌入其他app时会与app自带的导航头部区域航重复 2、可通过本参数控制签入移动端页面时是否提供头部导航区域 【传参】 取值范围:true(隐藏导航头部),false(显示导航头部);不传值默认为:false(显示导航头部)。
+	HideHeader *bool `json:"hideHeader,omitempty"`
+}
+func (obj UserauthAuthurl2Request) GetUrl() string {
+    return "/userauth/authurl2"
+}
+
+func (obj UserauthAuthurl2Request) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewPostHttpParameter()
+    jsonBytes, _ := json.Marshal(obj)
+    parameter.SetJsonParamer(string(jsonBytes))
+    return parameter
+}

+ 27 - 0
model/auth/request/UserauthIdentifyRequest.go

@@ -0,0 +1,27 @@
+package auth_request
+
+import (
+	"private-go-sdk/http"
+	"encoding/json"
+)
+
+type UserauthIdentifyRequest struct {
+	// <ext>core:true</ext> 【用户姓名】用户姓名
+	Name string `json:"name"`
+	// <ext>core:true</ext> 【证件号】证件号
+	CardNo string `json:"cardNo,omitempty"`
+	// <ext>core:true</ext> 【手机号】用户手机号 【作用】 1、若是校验手机号二要素或者三要素信息,则传入的手机号需要是用户本人开户的手机号 2、若是校验四要素信息,则传入的手机号需要是用户本人办理银行卡时在银行预留的手机号 【传参】 仅允许使用大陆手机号
+	Mobile string `json:"mobile,omitempty"`
+	// <ext>core:true</ext> 【银行卡号】用户银行卡号 【作用】 银行卡号 【传参方式】 字符串
+	BankcardNo string `json:"bankcardNo,omitempty"`
+}
+func (obj UserauthIdentifyRequest) GetUrl() string {
+    return "/userauth/identify"
+}
+
+func (obj UserauthIdentifyRequest) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewPostHttpParameter()
+    jsonBytes, _ := json.Marshal(obj)
+    parameter.SetJsonParamer(string(jsonBytes))
+    return parameter
+}

+ 39 - 0
model/auth/request/UserauthNoticeRequest.go

@@ -0,0 +1,39 @@
+package auth_request
+
+import (
+	"private-go-sdk/http"
+	"encoding/json"
+)
+
+type UserauthNoticeRequest struct {
+	// <ext>core:true</ext> 【手机号】手机号 【传参】 1、手机号允许使用大陆、港澳台、国际手机号,手机号格式为:区号+空格+手机号,例:852 9xxxxxxx ,大陆手机号可以不传区号。 2、手机号和邮箱必传其一,均传入以手机号为准。 3、若根据手机号查询不到用户,则将根据传入的手机号创建新用户。
+	Mobile string `json:"mobile,omitempty"`
+	// <ext>core:true</ext> 【邮箱】邮箱 【传参】 1、邮箱需传入符合格式的字符串,例:xxxxxxxx@163.com。 2、手机号和邮箱必传其一,均传入以手机号为准。 3、若根据邮箱查询不到用户,则将根据传入的邮箱创建新用户。
+	Email string `json:"email,omitempty"`
+	// <ext>core:true</ext> 【证件号】证件号 【传参】 支持传入用户证件号,包括居民身份证、护照号、港澳居民来往内地通行证等。
+	CardNo string `json:"cardNo,omitempty"`
+	// <ext>core:true</ext> 【证件号与用户认证信息不匹配场景下的处理策略】证件号与用户认证信息不匹配场景下的处理策略 【作用】 repeat(认证模式)为false(初次认证)时,可能存在传入的要认证用户手机号、邮箱已被其他注册且已实名认证。例如: 接口传入张三的证件号以及手机号获取认证页面,但是手机号已经在系统存在并且实名认证为了李四的证件号,此时证件号不一致,接口将会报错避免信息传入错误的情况。 但线下实际可能是手机号李四不用了,由张三在进行实际的使用。因此需要将手机号从李四的账号解绑,将手机号绑定给张三获取认页面。 本参数支持指定接口报错还是进行手机号解绑并创建新账号。 创建新账号:账号已经换人使用,此时需创建新账号,需要将传入的身份信息(姓名与证件号)与账号信息创建新账号,并将所有被占用的账号信息与原账号解绑,并绑定至当前新创建账号中。 接口报错:账号的所有人未发生变更,业务系统存储的证件信息有误,此时接口需报错。 【传参】 取值范围:ERROR(接口报错),CREATE_NEW_USER(创建新用户) ;不传值默认为:ERROR(接口报错)。
+	CardNoNotMatchStrategy string `json:"cardNoNotMatchStrategy,omitempty"`
+	// <ext>core:true;format:color</ext>【自定义页面主题色】自定义页面主题色【作用】可根据组织的品牌风格,自定义页面的主题颜色,如红色、蓝色【传参】RGB颜色(16进制),例如:#A67A7A。
+	ThemeColor string `json:"themeColor,omitempty"`
+	// <ext>core:true</ext> 【页面语言】页面语言 【作用】 1、用于指定链接页面使用的语言 2、英文和日文页面为付费功能,请确认开通英文版系统和日文版系统后使用 【传参】 取值范围:ZH_CN(中文),EN_US(英文),JP(日文);默认为:ZH_CN(中文)。
+	Language string `json:"language,omitempty"`
+	// <ext>core:true</ext> 【证件类型】证件类型 【传参】 取值范围:IDCARD(二代身份证),PASSPORT(护照),HKMP(港澳通行证),MTPS(台胞证) ;不传值默认为:IDCARD(二代身份证)。
+	PaperType string `json:"paperType,omitempty"`
+	// <ext>core:true</ext> 【用户姓名】用户姓名
+	Name string `json:"name,omitempty"`
+	// <ext>core:true</ext> 【认证可修改字段】认证可修改字段 【作用】 可通过该参数控制用户打开实名认证连接后,接口传入的参数是否允许用户自行修改 【传参】 1、不传值时:默认除了手机号以外所有参数都允许修改。  2、传值为NONE时:接口传入的所有参数都不允许修改。  3、传值为除了NONE以外的其他值时:传入的值可以修改。 4、取值范围: NONE(都不允许修改),NAME(用户姓名),CARDNO(证件号),MOBILE(手机号),BANKNO(银行卡号),BANKPHONE(银行卡预留手机号),CARDIMGS(证件照);可选多项。 【特殊说明】 重新认证时证件号不允许修改
+	ModifyFields []string `json:"modifyFields,omitempty"`
+	// <ext>core:true</ext> 【链接有效期】链接有效期 【作用】 1、用于设置获取到的链接在多长时间后过期 2、该参数不传值时,其有效期将使用电子签章管理后台-设置-开放平台-接口页面有效期配置-个人认证接口页面默认有效期设置的秒数, 当此值为“默认”时,其有效期使用电子签章管理后台-设置-开放平台-接口页面有效期配置-接口页面默认有效期设置的秒数 3、参数传入时长超过电子签章管理后台设置的“接口页面最大有效期天数”时,将以接口传入的有效期为准 【传参】 最小值:1(包含)。单位:秒。
+	ExpireTime *int64 `json:"expireTime,omitempty"`
+}
+func (obj UserauthNoticeRequest) GetUrl() string {
+    return "/userauth/notice"
+}
+
+func (obj UserauthNoticeRequest) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewPostHttpParameter()
+    jsonBytes, _ := json.Marshal(obj)
+    parameter.SetJsonParamer(string(jsonBytes))
+    return parameter
+}

+ 14 - 0
model/auth/response/UserauthAuthstatusResponse.go

@@ -0,0 +1,14 @@
+package auth_response
+
+
+// 【响应结果】响应结果
+type UserauthAuthstatusResponse struct {
+	// 【认证状态】认证状态,1 未提交、2 审核中、3 认证成功、4 认证失败
+	Status string `json:"status"`
+	// 【认证是否过期】认证是否过期。若用户认证过期,status仍会返回“认证成功”,可结合该参数判断认证是否过期
+	AuthExpireFlag *bool `json:"authExpireFlag,omitempty"`
+	// 【认证有效期】认证有效期。若为具体日期格式为:yyyy-MM-dd,若长期有效则返回“长期有效”
+	AuthExpireDate string `json:"authExpireDate,omitempty"`
+	// 【失败原因】失败原因
+	Reason string `json:"reason,omitempty"`
+}

+ 11 - 0
model/auth/response/UserauthAuthurl2Response.go

@@ -0,0 +1,11 @@
+package auth_response
+
+
+type UserauthAuthurl2Response struct {
+	// 【认证链接】认证链接
+	Result string `json:"result,omitempty"`
+	// 【内网链接】内网链接,后台应用中选择同时返回内/外网地址时返回,参数为内网链接
+	LocalPageUrl string `json:"localPageUrl,omitempty"`
+	// 【认证id】认证id,同一用户,每获取一次个人认证链接都会生成一个对应的认证id,后续可通过认证id查询具体某一条认证记录的状态
+	AuthId string `json:"authId,omitempty"`
+}

+ 12 - 0
model/auth/response/UserauthIdentifyResponse.go

@@ -0,0 +1,12 @@
+package auth_response
+
+
+// 【响应结果】响应结果
+type UserauthIdentifyResponse struct {
+	// 【校验结果】校验结果,true通过、false未通过
+	Result *bool `json:"result,omitempty"`
+	// 【校验失败原因】校验失败原因,针对三要素和四要素校验失败
+	Reason string `json:"reason,omitempty"`
+	// 【银行卡总行名称】银行卡总行名称,目前只针对四要素校验
+	BankName string `json:"bankName,omitempty"`
+}

+ 8 - 0
model/auth/response/UserauthNoticeResponse.go

@@ -0,0 +1,8 @@
+package auth_response
+
+
+// 【用户信息】用户信息
+type UserauthNoticeResponse struct {
+	// 【用户id】用户id
+	Id *int64 `json:"id,omitempty"`
+}

+ 19 - 0
model/binary/request/BinaryBatchCancelQueryRequest.go

@@ -0,0 +1,19 @@
+package binary_request
+
+import (
+	"private-go-sdk/http"
+)
+
+type BinaryBatchCancelQueryRequest struct {
+	// <ext>core:true</ext> 【批量操作id】批量操作id 【作用】 用于查询批量作废数据签名的结果,该参数可在调用 2.2.3纯接口批量作废数据签名(接口地址) 后的返回参数中获取
+	BatchId string `json:"batchId,omitempty"`
+}
+func (obj BinaryBatchCancelQueryRequest) GetUrl() string {
+    return "/binary/batch/cancel/query"
+}
+
+func (obj BinaryBatchCancelQueryRequest) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewGetHttpParameter()
+    parameter.AddParam("batchId", obj.BatchId)
+    return parameter
+}

+ 23 - 0
model/binary/request/BinaryBatchCancelRequest.go

@@ -0,0 +1,23 @@
+package binary_request
+
+import (
+	"private-go-sdk/http"
+	"encoding/json"
+	"private-go-sdk/model/common"
+)
+
+type BinaryBatchCancelRequest struct {
+	// <ext>core:true</ext> 【作废的数据签名】作废的数据签名
+	DataSignList []*common.BinaryBatchCancelDataSignListRequest `json:"dataSignList"`
+	Operator *common.NameUserInfoRequest `json:"operator"`
+}
+func (obj BinaryBatchCancelRequest) GetUrl() string {
+    return "/binary/batch/cancel"
+}
+
+func (obj BinaryBatchCancelRequest) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewPostHttpParameter()
+    jsonBytes, _ := json.Marshal(obj)
+    parameter.SetJsonParamer(string(jsonBytes))
+    return parameter
+}

+ 19 - 0
model/binary/request/BinaryBatchSignQueryRequest.go

@@ -0,0 +1,19 @@
+package binary_request
+
+import (
+	"private-go-sdk/http"
+)
+
+type BinaryBatchSignQueryRequest struct {
+	// <ext>core:true</ext> 【批量操作id】批量操作id 【作用】 用于查询批量签署数据签名的结果,该参数可在调用 2.1.3纯接口批量签署数据签名(接口地址) 后的返回参数中获取
+	BatchId string `json:"batchId,omitempty"`
+}
+func (obj BinaryBatchSignQueryRequest) GetUrl() string {
+    return "/binary/batch/sign/query"
+}
+
+func (obj BinaryBatchSignQueryRequest) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewGetHttpParameter()
+    parameter.AddParam("batchId", obj.BatchId)
+    return parameter
+}

+ 32 - 0
model/binary/request/BinaryBatchSignRequest.go

@@ -0,0 +1,32 @@
+package binary_request
+
+import (
+	"private-go-sdk/http"
+	"encoding/json"
+	"private-go-sdk/model/common"
+)
+
+type BinaryBatchSignRequest struct {
+	// <ext>core:true</ext> 【数据签名内容】数据签名内容 【作用】 传入签署的数据签名内容
+	DataSignList []*common.BinaryDataBatchSignContent `json:"dataSignList"`
+	// <ext>core:true</ext> 【签署方式】签署方式 【作用】 1、使用印章签署:使用接口指定的印章签署数据 2、使用签名签署 :使用接口指定的签名签署数据,此时Signatory中的operator不能为空 【传参】 取值范围:COMPANY(使用印章签署),PERSONAL(使用签名签署);不传值默认为:COMPANY(使用印章签署)。
+	TenantType string `json:"tenantType,omitempty"`
+	Seal *common.BinarySealRequest `json:"seal,omitempty"`
+	Company *common.CompanyRequest `json:"company,omitempty"`
+	PersonSealRange *common.DataSignPersonSealRange `json:"personSealRange,omitempty"`
+	Operator *common.NameUserInfoRequest `json:"operator,omitempty"`
+	// <ext>core:true</ext> 【签名算法】签名算法 【作用】 指定签署使用的签名算法 1、RSA国际算法:即使用RSA数字证书进行数据签名 2、SM2国密算法:即使用SM2数字证书进行数据签名 3、RSA国际+SM2国密双算法:需使用RSA+SM2两种数字证书进行数据签名 4、不传值时以电子签章管理后台【签署管理-电子用印设置-用印设置-签名算法配置 】为准 【传参】 取值范围:RSA(RSA国际算法),SM2(SM2国密算法),SM2WithRSA(RSA+SM2两种数字证书);不传值默认为:电子签章管理后台配置。 
+	DigestSigAlgType string `json:"digestSigAlgType,omitempty"`
+	// <ext>core:true</ext> 【是否添加时间戳】是否添加时间戳 【作用】 用户是否使用时间戳签署 【传参】 1、取值范围:true(可添加),false(不可添加);不传值默认为:false(不可添加)。
+	NeedTsa *bool `json:"needTsa,omitempty"`
+}
+func (obj BinaryBatchSignRequest) GetUrl() string {
+    return "/binary/batch/sign"
+}
+
+func (obj BinaryBatchSignRequest) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewPostHttpParameter()
+    jsonBytes, _ := json.Marshal(obj)
+    parameter.SetJsonParamer(string(jsonBytes))
+    return parameter
+}

+ 22 - 0
model/binary/request/BinaryCancelSignRequest.go

@@ -0,0 +1,22 @@
+package binary_request
+
+import (
+	"private-go-sdk/http"
+	"encoding/json"
+	"private-go-sdk/model/common"
+)
+
+type BinaryCancelSignRequest struct {
+	DataSign *common.BinaryCancelSignDataSignRequest `json:"dataSign"`
+	Operator *common.NameUserInfoRequest `json:"operator"`
+}
+func (obj BinaryCancelSignRequest) GetUrl() string {
+    return "/binary/cancel/sign"
+}
+
+func (obj BinaryCancelSignRequest) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewPostHttpParameter()
+    jsonBytes, _ := json.Marshal(obj)
+    parameter.SetJsonParamer(string(jsonBytes))
+    return parameter
+}

+ 29 - 0
model/binary/request/BinaryCancelurlRequest.go

@@ -0,0 +1,29 @@
+package binary_request
+
+import (
+	"private-go-sdk/http"
+	"encoding/json"
+	"private-go-sdk/model/common"
+)
+
+type BinaryCancelurlRequest struct {
+	// <ext>core:true;format:string</ext> 【数据签名id】数据签名id 【传参】 数据签名id和第三方业务系统数据签名id必传其一,均传入以数据签名id为准。
+	Id string `json:"id"`
+	// <ext>core:true</ext> 【第三方业务系统数据签名id】第三方业务系统数据签名id 【传参】 数据签名id和第三方业务系统数据签名id必传其一,均传入以数据签名id为准。
+	BizId string `json:"bizId,omitempty"`
+	Operator *common.UserInfoRequest `json:"operator"`
+	DataSignPasswordFreeRequest *common.DataSignPasswordFreeRequest `json:"dataSignPasswordFreeRequest,omitempty"`
+	// <ext>core:true</ext> 【客户端类型】客户端类型 【作用】 1、当请求的UserAgent无法自动判断返回的页面类型时,可通过此参数返回指定客户端的页面;方参数不传值时,将根据请求的UserAgent自动判断返回的页面类型 2、例如在微信小程序集成场景中,PC端小程序的UserAgent只能识别为PC端,但是需要使用H5端的页面 【传参】 取值范围:PC(返回PC页面),H5(返回H5页面);不传值默认为:根据请求的UserAgent自动判断返回的页面类型
+	DeviceType string `json:"deviceType,omitempty"`
+	PageConfig *common.PageConfig `json:"pageConfig,omitempty"`
+}
+func (obj BinaryCancelurlRequest) GetUrl() string {
+    return "/binary/cancelurl"
+}
+
+func (obj BinaryCancelurlRequest) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewPostHttpParameter()
+    jsonBytes, _ := json.Marshal(obj)
+    parameter.SetJsonParamer(string(jsonBytes))
+    return parameter
+}

+ 22 - 0
model/binary/request/BinaryDetailRequest.go

@@ -0,0 +1,22 @@
+package binary_request
+
+import (
+	"private-go-sdk/http"
+)
+
+type BinaryDetailRequest struct {
+	// <ext>core:true</ext> 【第三方业务系统数据签名id】第三方业务系统数据签名id 【传参】 数据签名id和第三方业务系统数据签名id必传其一,均传入以数据签名id为准。
+	BizId string `json:"bizId,omitempty"`
+	// <ext>core:true;format:string</ext> 【数据签名id】数据签名id 【传参】 数据签名id和第三方业务系统数据签名id必传其一,均传入以数据签名id为准。
+	Id *int64 `json:"id,omitempty"`
+}
+func (obj BinaryDetailRequest) GetUrl() string {
+    return "/binary/detail"
+}
+
+func (obj BinaryDetailRequest) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewGetHttpParameter()
+    parameter.AddParam("bizId", obj.BizId)
+    parameter.AddParam("id", obj.Id)
+    return parameter
+}

+ 22 - 0
model/binary/request/BinaryDownloadRequest.go

@@ -0,0 +1,22 @@
+package binary_request
+
+import (
+	"private-go-sdk/http"
+)
+
+type BinaryDownloadRequest struct {
+	// <ext>core:true</ext> 【第三方业务系统数据签名id】第三方业务系统数据签名id 【传参】 数据签名id和第三方业务系统数据签名id必传其一,均传入以数据签名id为准。
+	BizId string `json:"bizId,omitempty"`
+	// <ext>core:true;format:string</ext> 【数据签名id】数据签名id 【传参】 数据签名id和第三方业务系统数据签名id必传其一,均传入以数据签名id为准。
+	Id *int64 `json:"id,omitempty"`
+}
+func (obj BinaryDownloadRequest) GetUrl() string {
+    return "/binary/download"
+}
+
+func (obj BinaryDownloadRequest) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewGetHttpParameter()
+    parameter.AddParam("bizId", obj.BizId)
+    parameter.AddParam("id", obj.Id)
+    return parameter
+}

+ 22 - 0
model/binary/request/BinaryEvidenceDownloadRequest.go

@@ -0,0 +1,22 @@
+package binary_request
+
+import (
+	"private-go-sdk/http"
+)
+
+type BinaryEvidenceDownloadRequest struct {
+	// <ext>core:true</ext> 【第三方业务系统数据签名id】第三方业务系统数据签名id 【传参】 数据签名id和第三方业务系统数据签名id必传其一,均传入以数据签名id为准。
+	BizId string `json:"bizId,omitempty"`
+	// <ext>core:true;format:string</ext> 【数据签名id】数据签名id 【传参】 数据签名id和第三方业务系统数据签名id必传其一,均传入以数据签名id为准。
+	Id *int64 `json:"id,omitempty"`
+}
+func (obj BinaryEvidenceDownloadRequest) GetUrl() string {
+    return "/binary/evidence/download"
+}
+
+func (obj BinaryEvidenceDownloadRequest) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewGetHttpParameter()
+    parameter.AddParam("bizId", obj.BizId)
+    parameter.AddParam("id", obj.Id)
+    return parameter
+}

+ 46 - 0
model/binary/request/BinarySignV2Request.go

@@ -0,0 +1,46 @@
+package binary_request
+
+import (
+	"os"
+	"private-go-sdk/http"
+	"private-go-sdk/model/common"
+	"encoding/json"
+)
+
+type BinarySignV2Request struct {
+	// <ext>core:true</ext> 【数据签名主题】数据签名主题 【作用】  定义数据签名的标题,便于后续在前台显示数据签名列表时区分显示每条数据 【传参】 最大长度:500(包含) 【特殊说明】 若未传,则默认按【数据签名-数据签名id】作为主题名称
+	Subject string `json:"subject,omitempty"`
+	// <ext>core:true</ext> 【数据签名文件】数据签名文件 【作用】 传入签署的业务数据文件(使用数字证书签署整份文件) 例如:医院的病历系统中存在一份.txt格式的病历单,则可以将病历单文件传入接口进行签署 【传参】 1、支持的文件格式:pdf, xlsx,pptx, docx, doc, wps, xls, ppt, png, webp, tiff,xml,xht,xhtml,htm,html,txt,jpg,jpeg,gif,avi,zip,rtf。 2、数据签名文件和数据签名内容必传其一,均传入以数据签名文件为准。
+	Data *os.File `json:"data,omitempty"`
+	// <ext>core:true</ext> 【数据签名内容】数据签名内容 【作用】 以字符串的形式传入签署的业务数据(使用数字证书签署数据流) 例如:采购系统需要签署一份采购表单,采购表单本身不是文件只是表单上一串数据,则可传入数据进行签署 【传参】 数据签名文件和数据签名内容必传其一,均传入以数据签名文件为准。
+	DataString string `json:"dataString,omitempty"`
+	// <ext>core:true</ext> 【签名算法】签名算法 【作用】 指定签署使用的签名算法 1、RSA国际算法:即使用RSA数字证书进行数据签名 2、SM2国密算法:即使用SM2数字证书进行数据签名 3、RSA国际+SM2国密双算法:需使用RSA+SM2两种数字证书进行数据签名 4、不传值时以电子签章管理后台【签名算法配置 】为准 【传参】 取值范围:RSA(RSA国际算法),SM2(SM2国密算法),SM2WithRSA(RSA+SM2两种数字证书);不传值默认为:电子签章管理后台配置。
+	DigestSigAlgType string `json:"digestSigAlgType,omitempty"`
+	// <ext>core:true</ext> 【签署方式】签署方式 【作用】 1、使用印章签署:使用接口指定的印章签署数据 2、使用签名签署 :使用接口指定的签名签署数据,此时Signatory中的operator不能为空 【传参】 取值范围:COMPANY(使用印章签署),PERSONAL(使用签名签署);不传值默认为:COMPANY(使用印章签署)。
+	TenantType string `json:"tenantType,omitempty"`
+	// <ext>inner-type:Json<BinarySignatory>;core:true</ext> 【签署主体信息】签署主体信息 【作用】 签署数据签名的签署人、以及使用印章或签名
+	Signatory string `json:"signatory"`
+	// <ext>core:true</ext> 【是否添加时间戳 】是否添加时间戳 【作用】  用户在签署页面是否可添加时间戳图片(日期图片) 【传参】 1、取值范围:true(可添加),false(不可添加);不传值默认为:false(不可添加)。
+	NeedTsa string `json:"needTsa,omitempty"`
+	SignatoryObject *common.BinarySignatory `json:"signatoryObject,omitempty"`
+}
+func (obj BinarySignV2Request) GetUrl() string {
+    return "/binary/sign/v2"
+}
+
+func (obj BinarySignV2Request) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewPostHttpParameter()
+    parameter.AddParam("subject", obj.Subject)
+    parameter.AddParam("dataString", obj.DataString)
+    parameter.AddParam("digestSigAlgType", obj.DigestSigAlgType)
+    parameter.AddParam("tenantType", obj.TenantType)
+    parameter.AddParam("needTsa", obj.NeedTsa)
+    parameter.AddFiles("data", obj.Data)
+    if obj.SignatoryObject != nil {
+       jsonBytes, _ := json.Marshal(obj.SignatoryObject)
+       parameter.AddParam("signatory", string(jsonBytes))
+   } else {
+       parameter.AddParam("signatory", obj.Signatory)
+   }
+    return parameter
+}

+ 90 - 0
model/binary/request/BinarySignurlV2Request.go

@@ -0,0 +1,90 @@
+package binary_request
+
+import (
+	"os"
+	"private-go-sdk/http"
+	"private-go-sdk/model/common"
+	"encoding/json"
+)
+
+type BinarySignurlV2Request struct {
+	// <ext>core:true</ext> 【数据签名主题】数据签名主题 【作用】  定义数据签名的标题,便于后续在前台显示数据签名列表时区分显示每条数据 【传参】 最大长度:500(包含) 【特殊说明】 若未传,则默认按【数据签名-数据签名id】作为主题名称
+	Subject string `json:"subject,omitempty"`
+	// <ext>core:true</ext> 【数据签名文件】数据签名文件 【作用】 传入签署的业务数据文件(使用数字证书签署整份文件) 例如:医院的病历系统中存在一份.txt格式的病历单,则可以将病历单文件传入接口进行签署 【传参】 1、支持的文件格式:pdf, xlsx,pptx, docx, doc, wps, xls, ppt, png, webp, tiff,xml,xht,xhtml,htm,html,txt,jpg,jpeg,gif,avi,zip,rtf。 2、data(数据签名文件)和dataString(数据签名内容)必传其一,均传入以数据签名文件为准。
+	Data *os.File `json:"data,omitempty"`
+	// <ext>core:true</ext> 【数据签名内容】数据签名内容 【作用】 以字符串的形式传入签署的业务数据(使用数字证书签署数据流) 例如:采购系统需要签署一份采购表单,采购表单本身不是文件只是表单上一串数据,则可传入数据进行签署 【传参】 data(数据签名文件)和dataString(数据签名内容)必传其一,均传入以数据签名文件为准。
+	DataString string `json:"dataString,omitempty"`
+	// <ext>core:true</ext> 【签名算法】签名算法 【作用】 1、RSA国际算法:即使用RSA数字证书进行数据签名 2、SM2国密算法:即使用SM2数字证书进行数据签名 3、RSA国际+SM2国密双算法:需使用RSA+SM2两种数字证书进行数据签名 4、不传值时以电子签章管理后台【签名算法配置 】为准 【传参】 取值范围:RSA(RSA国际算法),SM2(SM2国密算法),SM2WithRSA(RSA+SM2两种数字证书);不传值默认为:电子签章管理后台配置。
+	DigestSigAlgType string `json:"digestSigAlgType,omitempty"`
+	// <ext>core:true</ext> 【签署方式】签署方式 【作用】 1、使用印章签署:链接页面仅返回签署人有权限签署的印章,用户选择印章签署数据 2、使用签名签署 :链接页面仅返回签署人的个人签名,用户选择个人签名签署数据 3、使用印章或签名签署:链接页面同时返回印章和签名,用户自由选择使用印章或签名签署 【传参】 1、取值范围:COMPANY(使用印章签署),PERSONAL(使用签名签署);不传值默认为:ALL(使用印章或签名签署)。 2、传值为COMPANY(使用印章签署)时,signatory(签署主体信息)下的company(法人单位)不能为空。
+	TenantType string `json:"tenantType,omitempty"`
+	// <ext>inner-type:Json<SignurlSignatory>;core:true</ext> 【签署主体信息】签署主体信息 【作用】 签署数据签名的签署人、以及使用印章或签名
+	Signatory string `json:"signatory"`
+	// <ext>core:true</ext> 【是否添加时间戳 】是否添加时间戳  【作用】  用户在签署页面是否可添加时间戳图片(日期图片) 【传参】 取值范围:true(可添加),false(不可添加);不传值默认为:false(不可添加)。
+	NeedTsa string `json:"needTsa,omitempty"`
+	// <ext>inner-type:Json<PasswordFreeRequestStr></ext> 【免密设置】免密设置 【作用】 若签署人频繁进行数据签名时,每次都需要进行意愿校验(例如通过签署密码或验证码)影响签署效率。此参数可设置是否允许用户自行开启免密,开启后则在设置免密期间内无需重复校验签署意愿 【特殊说明】 可通过同时传入默认免密截止时间和默认免密范围预设免密规则
+	PasswordFreeRequestStr string `json:"passwordFreeRequestStr,omitempty"`
+	// 【免密签署时是否选择签署图片】免密签署时是否选择签署图片 【作用】: 设置免密期间签署时,是返回链接页面让用户选择签名/印章后完成签署,还是不返回页面通过接口直接使用指定印章或签名完成签署 【传参】: 取值范围:NEED_PAGE(选择签署图片),WITHOUT_PAGE(不选择签署图片);不传值默认为:NEED_PAGE(选择签署图片)。
+	NoPasswordSignWay string `json:"noPasswordSignWay,omitempty"`
+	// 【客户端类型】客户端类型 【作用】 1、当请求的UserAgent无法自动判断返回的页面类型时,可通过此参数返回指定客户端的页面;方参数不传值时,将根据请求的UserAgent自动判断返回的页面类型 2、例如在微信小程序集成场景中,PC端小程序的UserAgent只能识别为PC端,但是需要使用H5端的页面 【传参】 取值范围:PC(返回PC页面),H5(返回H5页面);不传值默认为:根据请求的UserAgent自动判断返回的页面类型。
+	DeviceType string `json:"deviceType,omitempty"`
+	// 【操作完成自动关闭页面】操作完成自动关闭页面 【作用】 用户在链接页面完成数据签名时,系统是否自动关闭链接页面 【传参】: 取值范围:true(自动关闭),false(不自动关闭);不传值默认为:false(不自动关闭)。
+	AutoClosePage string `json:"autoClosePage,omitempty"`
+	// <ext>inner-type:Json<PersonSealImgSpec></ext> 【返回的图片规格】返回的图片规格 【作用】 控制返回的图片格式、图片大小
+	PersonSealImgSpec string `json:"personSealImgSpec,omitempty"`
+	// <ext>deprecated:true</ext> 【文件类型】文件类型 【特殊说明】 可选项:pdf, xlsx, pptx, docx, doc, wps, xls, ppt, png, webp, tiff,xml,xht,xhtml,htm,html,txt,jpg,jpeg,gif,avi,zip,rtf
+	DataType string `json:"dataType,omitempty"`
+	// 【意愿校验方式】意愿校验方式 【作用】 设置签署人在数据签名链接可使用的意愿校验方式,传入第一个为默认校验方式 【传参】 取值范围:FACE(人脸识别),PIN(验证码),PASSWORD(签署密码),MOBILE_DEVICE(移动设备验证);可选多项;不传值默认为:PIN(验证码),PASSWORD(签署密码);多个选项可用“,”隔开。 【特殊说明】 如果印章绑定了ukey或动态令牌,则仅能通过ukey和动态令牌校验 如果签名绑定了动态令牌,则仅能通过动态令牌校验身份
+	CheckTypes string `json:"checkTypes,omitempty"`
+	PasswordFreeRequestStrObject *common.PasswordFreeRequestStr `json:"passwordFreeRequestStrObject,omitempty"`
+	SignatoryObject *common.SignurlSignatory `json:"signatoryObject,omitempty"`
+	PersonSealImgSpecObject *common.PersonSealImgSpec `json:"personSealImgSpecObject,omitempty"`
+	PageConfig *common.BinarySignurlV2PageConfigRequest `json:"pageConfig,omitempty"`
+}
+func (obj BinarySignurlV2Request) GetUrl() string {
+    return "/binary/signurl/v2"
+}
+
+func (obj BinarySignurlV2Request) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewPostHttpParameter()
+    parameter.AddParam("subject", obj.Subject)
+    parameter.AddParam("dataString", obj.DataString)
+    parameter.AddParam("digestSigAlgType", obj.DigestSigAlgType)
+    parameter.AddParam("tenantType", obj.TenantType)
+    parameter.AddParam("needTsa", obj.NeedTsa)
+    parameter.AddParam("noPasswordSignWay", obj.NoPasswordSignWay)
+    parameter.AddParam("deviceType", obj.DeviceType)
+    parameter.AddParam("autoClosePage", obj.AutoClosePage)
+    parameter.AddParam("dataType", obj.DataType)
+    parameter.AddParam("checkTypes", obj.CheckTypes)
+    parameter.AddFiles("data", obj.Data)
+    if obj.PageConfig != nil {
+        parameter.AddParam("pageConfig.visitNum", obj.PageConfig.VisitNum)
+        parameter.AddParam("pageConfig.expireTime", obj.PageConfig.ExpireTime)
+        parameter.AddParam("pageConfig.invalidToPage", obj.PageConfig.InvalidToPage)
+        parameter.AddParam("pageConfig.language", obj.PageConfig.Language)
+        parameter.AddParam("pageConfig.hideHeader", obj.PageConfig.HideHeader)
+    }
+    if obj.PageConfig != nil && obj.PageConfig.PageStyle != nil {
+        parameter.AddParam("pageConfig.pageStyle.themeColor", obj.PageConfig.PageStyle.ThemeColor)
+    }
+    if obj.PasswordFreeRequestStrObject != nil {
+       jsonBytes, _ := json.Marshal(obj.PasswordFreeRequestStrObject)
+       parameter.AddParam("passwordFreeRequestStr", string(jsonBytes))
+   } else {
+       parameter.AddParam("passwordFreeRequestStr", obj.PasswordFreeRequestStr)
+   }
+    if obj.SignatoryObject != nil {
+       jsonBytes, _ := json.Marshal(obj.SignatoryObject)
+       parameter.AddParam("signatory", string(jsonBytes))
+   } else {
+       parameter.AddParam("signatory", obj.Signatory)
+   }
+    if obj.PersonSealImgSpecObject != nil {
+       jsonBytes, _ := json.Marshal(obj.PersonSealImgSpecObject)
+       parameter.AddParam("personSealImgSpec", string(jsonBytes))
+   } else {
+       parameter.AddParam("personSealImgSpec", obj.PersonSealImgSpec)
+   }
+    return parameter
+}

+ 19 - 0
model/binary/request/BinarySignurlstatusRequest.go

@@ -0,0 +1,19 @@
+package binary_request
+
+import (
+	"private-go-sdk/http"
+)
+
+type BinarySignurlstatusRequest struct {
+	// <ext>core:true</ext> 【第三方业务系统数据签名id】第三方业务系统数据签名id
+	BizId string `json:"bizId,omitempty"`
+}
+func (obj BinarySignurlstatusRequest) GetUrl() string {
+    return "/binary/signurlstatus"
+}
+
+func (obj BinarySignurlstatusRequest) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewGetHttpParameter()
+    parameter.AddParam("bizId", obj.BizId)
+    return parameter
+}

+ 14 - 0
model/binary/response/BinaryBatchCancelQueryResponse.go

@@ -0,0 +1,14 @@
+package binary_response
+
+import (
+	"private-go-sdk/model/common"
+)
+
+// 【批量签署结果】批量签署结果
+type BinaryBatchCancelQueryResponse struct {
+	// 【批量任务执行状态】批量任务执行状态 COMPLETE(完成)、EXECUTING(执行中)
+	TaskStatus string `json:"taskStatus,omitempty"`
+	TaskStatistics *common.BinaryDataBatchTaskResultTaskStatistics `json:"taskStatistics,omitempty"`
+	// 【任务详情】任务详情
+	TaskDetail []*common.BinaryBatchCancelQueryTaskDetailResponse `json:"taskDetail,omitempty"`
+}

+ 8 - 0
model/binary/response/BinaryBatchCancelResponse.go

@@ -0,0 +1,8 @@
+package binary_response
+
+
+// 【批量作废结果】批量作废结果
+type BinaryBatchCancelResponse struct {
+	// 【批量操作id】批量操作id
+	BatchId string `json:"batchId"`
+}

+ 8 - 0
model/binary/response/BinaryBatchSignResponse.go

@@ -0,0 +1,8 @@
+package binary_response
+
+
+// 【批量签署结果】批量签署结果
+type BinaryBatchSignResponse struct {
+	// 【批量操作id】批量操作id
+	BatchId string `json:"batchId"`
+}

+ 21 - 0
model/binary/response/BinaryDetailResponse.go

@@ -0,0 +1,21 @@
+package binary_response
+
+import (
+	"private-go-sdk/model/common"
+)
+
+// 【数据签名信息】数据签名信息
+type BinaryDetailResponse struct {
+	// 【数据签名id】数据签名id
+	Id string `json:"id"`
+	// 【数据签名主题】数据签名主题
+	Subject string `json:"subject"`
+	Seal *common.BinarySeal `json:"seal,omitempty"`
+	Company *common.BinaryCompany `json:"company"`
+	Operator *common.BinaryOperator `json:"operator"`
+	VerifyResult *common.VerifyResult `json:"verifyResult"`
+	// 【签署图片】签署图片 实际参与签署的签署图片的base64数据,使用印章签署时返回印章信息,使用签名签署时返回签名信息
+	SealImgBase64 string `json:"sealImgBase64"`
+	// 【时间戳外观图片】时间戳外观图片
+	TimestampImgBase64 string `json:"timestampImgBase64"`
+}

+ 15 - 0
model/binary/response/BinarySignurlV2Response.go

@@ -0,0 +1,15 @@
+package binary_response
+
+import (
+	"private-go-sdk/model/common"
+)
+
+type BinarySignurlV2Response struct {
+	Seal *common.SealInfo `json:"seal,omitempty"`
+	// 【业务数据签名页面链接】业务数据签名页面链接 当用户使用链接页面签署时,接口仅返回链接页面地址;签署相关的其他信息以postmessage方法前端抛出
+	SignUrl string `json:"signUrl,omitempty"`
+	// 【时间戳外观图片】时间戳外观图片 签署使用时间戳外观图片的base64数据。
+	TimestampImgBase64 string `json:"timestampImgBase64,omitempty"`
+	// 【数据签名id】数据签名id
+	Id *int64 `json:"id,omitempty"`
+}

+ 26 - 0
model/cert/request/CertApplyRequest.go

@@ -0,0 +1,26 @@
+package cert_request
+
+import (
+	"private-go-sdk/http"
+	"encoding/json"
+	"private-go-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
+}

+ 28 - 0
model/cert/request/CertApplyThirdRequest.go

@@ -0,0 +1,28 @@
+package cert_request
+
+import (
+	"private-go-sdk/http"
+	"encoding/json"
+	"private-go-sdk/model/common"
+)
+
+type CertApplyThirdRequest struct {
+	Company *common.CertApplyThirdCompanyRequest `json:"company,omitempty"`
+	User *common.CertApplyThirdUserRequest `json:"user,omitempty"`
+	// <ext>core:true</ext> 【证书算法】证书算法 【传参】 取值范围:RSA(国际算法),SM2(国密算法);不传值默认为:RSA(国际算法)。
+	SigAlgType string `json:"sigAlgType,omitempty"`
+	// <ext>core:true</ext> 【证书请求文件的base64】证书请求文件的base64 【传参】 需要按照sigAlgType生成对应算法的p10
+	P10 string `json:"p10"`
+	// <ext>core:true</ext> 【证书年限】证书年限 【传参】 取值范围:1(1年期),2(2年期);不传值默认为:1(1年期)。
+	Years *int64 `json:"years,omitempty"`
+}
+func (obj CertApplyThirdRequest) GetUrl() string {
+    return "/cert/apply/third"
+}
+
+func (obj CertApplyThirdRequest) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewPostHttpParameter()
+    jsonBytes, _ := json.Marshal(obj)
+    parameter.SetJsonParamer(string(jsonBytes))
+    return parameter
+}

+ 38 - 0
model/cert/request/CertOrderQueryRequest.go

@@ -0,0 +1,38 @@
+package cert_request
+
+import (
+	"private-go-sdk/http"
+	"encoding/json"
+	"private-go-sdk/model/common"
+)
+
+type CertOrderQueryRequest struct {
+	// <ext>core:true</ext> 【订单编号】订单编号 【传参】 1、订单编号、单位、个人不传时,查询所有证书订单
+	OrderId string `json:"orderId,omitempty"`
+	CompanyRequest *common.CertOrderQueryCompanyRequest `json:"companyRequest,omitempty"`
+	UserRequest *common.CertOrderQueryUserRequest `json:"userRequest,omitempty"`
+	// <ext>core:true</ext> 【订单类型】订单类型 【传参】 取值范围:CLOUD_CERT(云证书-新购),UKEY_CERT(Ukey证书-新购),MOBILE_CERT(移动证书-新购),UKEY_CHANGE(Ukey证书-变更),UKEY_ONLY_CERT(Ukey证书-续期);不传值默认为:全部。
+	OrderType string `json:"orderType,omitempty"`
+	// <ext>core:true</ext> 【订单状态】订单状态 【传参】 取值范围:UN_AUTHORIZE(待授权),AUTHORIZE_FAIL(授权失败),UN_PAY(待支付),UNMAKE(待制证),UN_SEND(待寄送),SENDING(寄送中),FINISHED(已完成),INVOICING(开票中),INVOICED(已开票),INVALID(已失效);不传值默认为:全部。
+	OrderStatus string `json:"orderStatus,omitempty"`
+	// <ext>core:true</ext> 【证书类型】证书类型 【传参】 取值范围:COMPANY(单位证书),PERSONAL(个人证书);不传值默认为:全部。
+	CertType string `json:"certType,omitempty"`
+	// <ext>core:true</ext> 【证书状态】证书状态 【传参】 取值范围:UNAPPLY(待制作),WAIT_WRITE(待写入),NORMAL(生效中),REVOKED(已吊销),EXPIRED(已过期);不传值默认为:全部。
+	CertStatus string `json:"certStatus,omitempty"`
+	// <ext>core:true;format:date</ext> 【证书过期时间】证书过期时间 【传参】 日期格式:yyyy-MM-dd HH:mm:ss。
+	CertExpireTime string `json:"certExpireTime,omitempty"`
+	// <ext>core:true</ext> 【每页数量】每页数量 【传参】 传入正整数;不传值默认为:10。 单位:条。
+	PageSize *float64 `json:"pageSize,omitempty"`
+	// <ext>core:true</ext> 【指定页码】指定页码 【传参】 传入正整数;不传值默认为:1。 单位:页。
+	PageNo *float64 `json:"pageNo,omitempty"`
+}
+func (obj CertOrderQueryRequest) GetUrl() string {
+    return "/cert/order/query"
+}
+
+func (obj CertOrderQueryRequest) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewPostHttpParameter()
+    jsonBytes, _ := json.Marshal(obj)
+    parameter.SetJsonParamer(string(jsonBytes))
+    return parameter
+}

+ 45 - 0
model/cert/request/CertQueryRequest.go

@@ -0,0 +1,45 @@
+package cert_request
+
+import (
+	"private-go-sdk/http"
+	"encoding/json"
+)
+
+type CertQueryRequest struct {
+	// <ext>core:true</ext> 【证书序列号】证书序列号
+	SerialNo string `json:"serialNo,omitempty"`
+	// <ext>core:true</ext>【法人单位id】法人单位id
+	CompanyId *int64 `json:"companyId,omitempty"`
+	// <ext>core:true</ext> 【第三方业务系统法人单位id】第三方业务系统法人单位id
+	OpenCompanyId string `json:"openCompanyId,omitempty"`
+	// <ext>core:true</ext> 【法人单位名称】法人单位名称
+	CompanyName string `json:"companyName,omitempty"`
+	// <ext>core:true</ext> 【法人单位代码】法人单位代码 【传参】 支持传入当前单位存储的统一社会信用代码或工商注册号
+	RegisterNo string `json:"registerNo,omitempty"`
+	// <ext>core:true</ext> 【用户id】用户id
+	UserId *int64 `json:"userId,omitempty"`
+	// <ext>core:true</ext> 【第三方业务系统用户id】第三方业务系统用户id
+	OpenUserId string `json:"openUserId,omitempty"`
+	// <ext>core:true</ext> 【业务系统标识】业务系统标识 【作用】 1:根据第三方业务系统用户id查询系统成员/用户信息时使用 2:涉及到多套业务系统集成且不同系统间第三方业务系统用户id可能重复时需要传入该参数
+	SystemCode string `json:"systemCode,omitempty"`
+	// <ext>core:true</ext> 【用户联系方式】用户联系方式 【传参】 mobile(手机号),email(邮箱) 【特殊说明】 手机号允许使用国际手机号手机号,手机号格式为:区号+空格+手机号,例:852 9xxxxxxx ,大陆手机号可以不传区号
+	Contact string `json:"contact,omitempty"`
+	// <ext>core:true</ext> 【自定义登录账号】自定义登录账号
+	AccountNo string `json:"accountNo,omitempty"`
+	// <ext>core:true</ext> 【成员编号】成员编号
+	Number string `json:"number,omitempty"`
+	// <ext>core:true</ext> 【每页数量 】每页数量  【传参】 传入正整数;不传值默认为:10。 单位:条。
+	PageSize *float64 `json:"pageSize,omitempty"`
+	// <ext>core:true</ext> 【指定页码】指定页码 【传参】 传入正整数;不传值默认为:1。 单位:页。
+	PageNo *float64 `json:"pageNo,omitempty"`
+}
+func (obj CertQueryRequest) GetUrl() string {
+    return "/cert/query"
+}
+
+func (obj CertQueryRequest) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewPostHttpParameter()
+    jsonBytes, _ := json.Marshal(obj)
+    parameter.SetJsonParamer(string(jsonBytes))
+    return parameter
+}

+ 32 - 0
model/cert/request/CertStatisticQueryRequest.go

@@ -0,0 +1,32 @@
+package cert_request
+
+import (
+	"private-go-sdk/http"
+	"encoding/json"
+	"private-go-sdk/model/common"
+)
+
+type CertStatisticQueryRequest struct {
+	// <ext>core:true</ext> 【证书主体类型】证书主体类型 【作用】 查询单位或个人证书 【传参】 1、取值范围:COMPANY(单位类型),PERSONAL(个人类型) 2、证书主体、指定单位、指定个人必传其一
+	CertType string `json:"certType,omitempty"`
+	CompanyRequest *common.CertStatisticQueryCompanyRequest `json:"companyRequest,omitempty"`
+	UserRequest *common.CertStatisticQueryUserRequest `json:"userRequest,omitempty"`
+	// <ext>core:true;format:date</ext> 【证书颁发时间-起始】证书颁发时间-起始 【作用】 查询指定时间区间内颁发的证书数量 【传参】 1、日期格式:yyyy-MM-dd HH:mm:ss。 2、仅传入起始时间则查询从起始时间开始的所有证书,同时传入起始和结束时间则可查询该时间区间内的证书。
+	IssueTimeStart string `json:"issueTimeStart,omitempty"`
+	// <ext>core:true;format:date</ext> 【证书颁发时间-结束】证书颁发时间-结束 【作用】 查询指定时间区间内颁发的证书数量 【传参】 1、日期格式:yyyy-MM-dd HH:mm:ss。 2、仅传入结束时间则查询截止到结束时间的所有证书,同时传入起始和结束时间则可查询该时间区间内的证书。
+	IssueTimeEnd string `json:"issueTimeEnd,omitempty"`
+	// <ext>core:true</ext> 【每页数量】每页数量 【传参】 传入正整数;不传值默认为:10。 单位:条。
+	PageSize *float64 `json:"pageSize,omitempty"`
+	// <ext>core:true</ext> 【指定页码】指定页码 【传参】 传入正整数;不传值默认为:1。 单位:页。
+	PageNo *float64 `json:"pageNo,omitempty"`
+}
+func (obj CertStatisticQueryRequest) GetUrl() string {
+    return "/cert/statistic/query"
+}
+
+func (obj CertStatisticQueryRequest) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewPostHttpParameter()
+    jsonBytes, _ := json.Marshal(obj)
+    parameter.SetJsonParamer(string(jsonBytes))
+    return parameter
+}

+ 32 - 0
model/cert/response/CertApplyResponse.go

@@ -0,0 +1,32 @@
+package cert_response
+
+
+// 【响应结果】响应结果
+type CertApplyResponse struct {
+	// 【证书id】证书id
+	Id string `json:"id,omitempty"`
+	// 【证书开始时间】证书开始时间
+	StartTime string `json:"startTime,omitempty"`
+	// 【证书结束时间】证书结束时间
+	EndTime string `json:"endTime,omitempty"`
+	// 【证书拥有者ID】证书拥有者ID
+	TenantId string `json:"tenantId,omitempty"`
+	// 【证书拥有者名称】证书拥有者名称
+	TenantName string `json:"tenantName,omitempty"`
+	// 【证书主体类型】证书主体类型 CORPORATE(平台方法人单位),COMPANY(外部法人单位),INNER_COMPANY(内部法人单位),PERSONAL(个人)
+	TenantType string `json:"tenantType,omitempty"`
+	// 【证书状态】证书状态 NORMAL(生效中),REVOKED(已吊销),APPROVE(已颁发),AUDIT(待审核),REJECT(已拒绝),EXPIRED(已过期),DELETE(已删除),UNABLE(已停用),WAIT_WRITE(待写入),FIN_WRITE(已写入)
+	CertStatus string `json:"certStatus,omitempty"`
+	// 【创建时间】创建时间
+	CreateTime string `json:"createTime,omitempty"`
+	// 【证书存储类型】证书存储类型 cloud(云证书),ukey(ukey证书),mobile(移动证书),third(第三方业务系统),encrption(加密机证书)
+	CertMedium string `json:"certMedium,omitempty"`
+	// 【加密算法】加密算法 RSA(国际算法),SM2(国密算法)
+	SigAlgType string `json:"sigAlgType,omitempty"`
+	// 【证书公钥Base64】证书公钥Base64
+	PublicCertBase64 string `json:"publicCertBase64,omitempty"`
+	// 【最近一次操作时间】最近一次操作时间
+	UpdateTime string `json:"updateTime,omitempty"`
+	// 【最近一次操作人姓名】最近一次操作人姓名
+	Operator string `json:"operator,omitempty"`
+}

+ 32 - 0
model/cert/response/CertApplyThirdResponse.go

@@ -0,0 +1,32 @@
+package cert_response
+
+
+// 【响应结果】响应结果
+type CertApplyThirdResponse struct {
+	// 【证书id】证书id
+	Id string `json:"id,omitempty"`
+	// 【证书有效期开始时间】证书有效期开始时间
+	StartTime string `json:"startTime,omitempty"`
+	// 【证书有效期结束时间】证书有效期结束时间
+	EndTime string `json:"endTime,omitempty"`
+	// 【证书主体id】证书主体id
+	TenantId string `json:"tenantId,omitempty"`
+	// 【证书主体名称】证书主体名称
+	TenantName string `json:"tenantName,omitempty"`
+	// 【证书主体类型】证书主体类型 CORPORATE(平台方法人单位),COMPANY(外部法人单位),INNER_COMPANY(内部法人单位),PERSONAL(个人)
+	TenantType string `json:"tenantType,omitempty"`
+	// 【证书状态】证书状态 NORMAL(生效中),REVOKED(已吊销),APPROVE(已颁发),AUDIT(待审核),REJECT(已拒绝),EXPIRED(已过期),DELETE(已删除),UNABLE(已停用),WAIT_WRITE(待写入),FIN_WRITE(已写入)
+	CertStatus string `json:"certStatus,omitempty"`
+	// 【创建时间】创建时间
+	CreateTime string `json:"createTime,omitempty"`
+	// 【证书存储类型】证书存储类型 cloud(云证书),ukey(ukey证书),mobile(移动证书),third(第三方业务系统),encrption(加密机证书)
+	CertMedium string `json:"certMedium,omitempty"`
+	// 【加密算法】加密算法 RSA(国际算法),SM2(国密算法)
+	SigAlgType string `json:"sigAlgType,omitempty"`
+	// 【证书公钥Base64】证书公钥Base64
+	PublicCertBase64 string `json:"publicCertBase64,omitempty"`
+	// 【最近一次操作时间】最近一次操作时间
+	UpdateTime string `json:"updateTime,omitempty"`
+	// 【最近一次操作人姓名】最近一次操作人姓名
+	Operator string `json:"operator,omitempty"`
+}

+ 29 - 0
model/cert/response/CertOrderQueryResponse.go

@@ -0,0 +1,29 @@
+package cert_response
+
+import (
+	"private-go-sdk/model/common"
+)
+
+// 【响应结果】响应结果
+type CertOrderQueryResponse struct {
+	// 【页码】页码
+	PageNo *int64 `json:"pageNo,omitempty"`
+	// 【单页数量】单页数量
+	PageSize *int64 `json:"pageSize,omitempty"`
+	// 【总数】总数
+	TotalCount *int64 `json:"totalCount,omitempty"`
+	// 【第一条数据的起始位置】第一条数据的起始位置
+	First *int64 `json:"first,omitempty"`
+	// 【总页数】总页数
+	TotalPages *int64 `json:"totalPages,omitempty"`
+	// 【是否有下一页】是否有下一页
+	HasNext *bool `json:"hasNext,omitempty"`
+	// 【下一页页码】下一页页码
+	NextPage *int64 `json:"nextPage,omitempty"`
+	// 【是否有上一页】是否有上一页
+	HasPre *bool `json:"hasPre,omitempty"`
+	// 【上一页页码】上一页页码
+	PrePage *int64 `json:"prePage,omitempty"`
+	// 【证书列表】证书列表
+	Result []*common.CertOrderQueryResultResponse `json:"result,omitempty"`
+}

+ 29 - 0
model/cert/response/CertQueryResponse.go

@@ -0,0 +1,29 @@
+package cert_response
+
+import (
+	"private-go-sdk/model/common"
+)
+
+// 【响应结果】响应结果
+type CertQueryResponse struct {
+	// 【页码】页码
+	PageNo *int64 `json:"pageNo,omitempty"`
+	// 【单页数量】单页数量
+	PageSize *int64 `json:"pageSize,omitempty"`
+	// 【总数】总数
+	TotalCount *int64 `json:"totalCount,omitempty"`
+	// 【第一条数据的起始位置】第一条数据的起始位置
+	First *int64 `json:"first,omitempty"`
+	// 【总页数】总页数
+	TotalPages *int64 `json:"totalPages,omitempty"`
+	// 【是否有下一页】是否有下一页
+	HasNext *bool `json:"hasNext,omitempty"`
+	// 【下一页页码】下一页页码
+	NextPage *int64 `json:"nextPage,omitempty"`
+	// 【是否有上一页】是否有上一页
+	HasPre *bool `json:"hasPre,omitempty"`
+	// 【上一页页码】上一页页码
+	PrePage *int64 `json:"prePage,omitempty"`
+	// 【证书列表】证书列表
+	Result []*common.CertQueryResultResponse `json:"result,omitempty"`
+}

+ 29 - 0
model/cert/response/CertStatisticQueryResponse.go

@@ -0,0 +1,29 @@
+package cert_response
+
+import (
+	"private-go-sdk/model/common"
+)
+
+// 【响应结果】响应结果
+type CertStatisticQueryResponse struct {
+	// 【页码】页码
+	PageNo *int64 `json:"pageNo,omitempty"`
+	// 【单页数量】单页数量
+	PageSize *int64 `json:"pageSize,omitempty"`
+	// 【总数】总数
+	TotalCount *int64 `json:"totalCount,omitempty"`
+	// 【第一条数据的起始位置】第一条数据的起始位置
+	First *int64 `json:"first,omitempty"`
+	// 【总页数】总页数
+	TotalPages *int64 `json:"totalPages,omitempty"`
+	// 【是否有下一页】是否有下一页
+	HasNext *bool `json:"hasNext,omitempty"`
+	// 【下一页页码】下一页页码
+	NextPage *int64 `json:"nextPage,omitempty"`
+	// 【是否有上一页】是否有上一页
+	HasPre *bool `json:"hasPre,omitempty"`
+	// 【上一页页码】上一页页码
+	PrePage *int64 `json:"prePage,omitempty"`
+	// 【证书列表】证书列表
+	Result []*common.CertStatisticQueryResultResponse `json:"result,omitempty"`
+}

+ 16 - 0
model/checkHealth/request/CheckhealthRequest.go

@@ -0,0 +1,16 @@
+package checkHealth_request
+
+import (
+	"private-go-sdk/http"
+)
+
+type CheckhealthRequest struct {
+}
+func (obj CheckhealthRequest) GetUrl() string {
+    return "/checkHealth"
+}
+
+func (obj CheckhealthRequest) GetHttpParameter() *http.HttpParameter {
+    parameter := http.NewGetHttpParameter()
+    return parameter
+}

+ 15 - 0
model/common/AbnormalItem.go

@@ -0,0 +1,15 @@
+package common
+
+
+type AbnormalItem struct {
+	// 【列入经营异常原因】列入经营异常原因
+	InReason string `json:"inReason,omitempty"`
+	// 【列入时间】列入时间
+	InDate string `json:"inDate,omitempty"`
+	// 【移出经营异常原因】移出经营异常原因
+	OutReason string `json:"outReason,omitempty"`
+	// 【移出时间】移出时间
+	OutDate string `json:"outDate,omitempty"`
+	// 【做出决定的部门】做出决定的部门
+	Department string `json:"department,omitempty"`
+}

+ 63 - 0
model/common/Action.go

@@ -0,0 +1,63 @@
+package common
+
+
+// 【签署节点】签署节点 【作用】 即组织签署方下可设置不同的签署节点进行签署,如组织签署、个人签字、审批 【特殊说明】 外部组织签署方仅支持指定签署人,不能指定印章id
+type Action struct {
+	// <ext>core:true</ext> 【签署节点类型 】签署节点类型  【作用】 1、组织签章:即组织使用单位数字证书以及印章进行签署 2、法定代表人签署:即签署方所属单位的法定代表人(或法人章的签章人)使用法人章或法人签名进行签署 3、个人签字:即个人使用个人数字证书以及个人签名进行签署 4、个人审批:用印流程若设置了审批节点,业务系统若也有审批,可通过此参数,同步将电子签章系统中的审批节点同步审批完成 5、经办人签字:即由组织签署方的经办人进行签字 6、个人执业章签章:即个人使用个人执业章进行签署  7、会签签章:即一个节点中需要签署多个印章或多个签字,仅支持组织签章会签、个人签字会签、个人审批会签、个人执业章会签,传入会签签章,childs参数必传 【传参】  取值范围:CORPORATE(组织签章),LP(法定代表人签署),PERSONAL(个人签字),AUDIT(个人审批),OPERATOR(经办人签字),PRACTICE(个人执业章签章),COUNTERSIGN(会签签章) 。
+	Type_ string `json:"type"`
+	// <ext>core:true</ext> 【签署节点名称】签署节点名称 【作用】 可自定义签署节点名称,不传值将使用节点类型作为节点名称。如组织签章节点,可自定义命名为公司盖章
+	Name string `json:"name,omitempty"`
+	// <ext>core:true</ext> 【签署节点编号】签署节点编号 【作用】 可传入业务系统自行定义的签署节点的唯一编号,方便后续通过此参数定位签署节点,一个签署方下每个签署节点的编号不允许重复
+	ActionNo string `json:"actionNo,omitempty"`
+	// <ext>core:true</ext> 【会签动作】会签动作 【传参】 当type(签署节点类型)是COUNTERSIGN(会签)时必填。
+	Childs []*SignurlActions `json:"childs,omitempty"`
+	// <ext>core:true</ext> 【签署节点签署顺序】签署节点签署顺序 【传参】 1、如果想按顺序签署,可分别设置签署动作的serialNo为1,2,3;  2、如果想无序签署,则设置签署动作的serialNo为1,1,1; 设置serialNo为1,2,2时,则表示第一个先签署,后两个同时签署; 3、自定义定义顺序,可设置serialNo为1,2,2,3,4,4,6,7时,则表示第一个节点先签署,后两个同时签署; 第4个第3个顺序签署,依次类推; 【特殊说明】 1、用印流程的签署方为非预设,或预设但允许发起时添加/删除预设签署方,则此参数传入的签署顺序生效。 2、用印流程为预设且不允许发起时添加/删除预设的签署方,则签署节点将按照用印流程中预设的顺序依次匹配,传入的签署顺序将无效,如节点类型与预设不一致将报错。
+	SerialNo *int64 `json:"serialNo,omitempty"`
+	// <ext>core:true</ext> 【手动/自动签署】手动/自动签署 【作用】 1、组织签章节点、法定代表人签字节点、个人签字节点均支持设置自动签与静默签 2、手动签:由签署人在签署页面在文件添加印章或签名以及完成意愿校验后进行签署 3、自动签:由电子签章系统自动签署。当节点类型为组织签章和法定代表人签字时,actionOperators未传入,则无签署人;若actionOperators传入,在自动签失败情况下,将由传入的签署人手动签署;当节点类型为个人签字时,actionOperators需要传入作为签字人 4、第三方业务系统静默签:由业务系统调用印章/法人/个人静默签接口完成签署,无签署人 【传参】 取值范围:MANUAL(手动签),AUTO(自动签),SILENT(第三方业务系统静默签);不传值默认为:MANUAL(手动签)。
+	ActionOperatorRule string `json:"actionOperatorRule,omitempty"`
+	// <ext>core:true</ext> 【签署人】签署人 【作用】 指定签署节点的签署人,例如审批节点的审批人、签章节点的签章人、个人签字节点签字人等。 【传参】 1、证件号、联系方式、成员编号必传其一,传入多个时只按最高优先级查询,优先级为证件号>联系方式>成员编号。 2、若用户不存在时,则使用传入的参数创建用户。使用证件号新建用户时默认证件类型为“大陆身份证”。 【特殊说明】 组织签章节点未指定签署人时,会通知所有可用印章下所有签章人进行签署。
+	ActionOperators []*ActionOperatorInfo `json:"actionOperators,omitempty"`
+	CorporateSignTypeSetting *CorporateSignTypeSetting `json:"corporateSignTypeSetting,omitempty"`
+	// <ext>core:true;format:string</ext> 【印章id】印章id 【作用】 签署节点类型为“组织签章”时,可传入印章id指定组织签章节点所用印章,仅支持传入一个印章。 【传参】 指定具体印章时,印章id、印章id集合、印章名称集合必传其一,传入多个参数时只按参数中最高优先级查询,优先级为:印章id>印章id集合>印章名称集合。 【特殊说明】 1、仅对内部法人单位生效。 2、用印流程预设的组织签章节点,传入的印章必须符合流程预设的要求。例如,流程预设公章类型,传入的印章不属于公章类型时,会抛出异常。
+	SealId *int64 `json:"sealId,omitempty"`
+	// <ext>core:true</ext> 【印章id集合】印章id集合 【作用】 签署节点类型为“组织签章”时,可传入多个印章id指定组织签章所用的印章。 【传参】 1、格式:[123123123213,123213213213]。 2、指定具体印章时,印章id、印章id集合、印章名称集合必传其一,传入多个参数时只按参数中最高优先级查询,优先级为:印章id>印章id集合>印章名称集合。 【特殊说明】 1、仅对内部法人单位生效。 2、用印流程预设的组织签章节点,传入的印章必须符合流程预设的要求。例如,流程预设公章类型,传入的印章不属于公章类型时,会抛出异常。
+	SealIds string `json:"sealIds,omitempty"`
+	// <ext>core:true</ext> 【印章名称集合】印章名称集合 【作用】 签署节点类型为“组织签章”时,可传入印章名称指定法人单位签章所用印章 【传参】 1、格式:[\"企业公章\",\"合同章\"] 2、指定具体印章时,印章id、印章id集合、印章名称集合必传其一,传入多个参数时只按参数中最高优先级查询,优先级为:印章id>印章id集合>印章名称集合。 【特殊说明】 1、仅对内部法人单位生效。 2、用印流程预设的组织签章节点,传入的印章必须符合流程预设的要求。例如,流程预设公章类型,传入的印章不属于公章类型时,会抛出异常。
+	SealNames string `json:"sealNames,omitempty"`
+	// <ext>core:true;format:string</ext> 【印章所属组织id】印章所属组织id 【作用】 签署节点类型为“组织签章”时,需指定所用印章的所属组织。 【传参】 1、仅在印章id、印章id集合、印章名称集合不传时生效。 2、可同时传入印章所属组织id、印章类型、印章自定义字段,传入多项时根据传入的参数取交集,获取印章范围。 【特殊说明】 1、当用印流程中已预设印章所属组织时,将使用预设的印章所属组织,传参不一致时将报错。 2、发起主体未传入组织id时,会取发起主体对应的组织作为印章所属组织; 接收方未传入组织id时,会取接收方对应的法人单位。 3、对内部法人单位和外部法人单位都生效。
+	SealOwner *int64 `json:"sealOwner,omitempty"`
+	// <ext>core:true</ext> 【印章类型】印章类型 【作用】 签署节点类型为“组织签章”时,可指定所用的印章类型 【传参】 1、仅在印章id、印章id集合、印章名称集合不传时生效。 2、可同时传入印章所属组织id、印章类型、印章自定义字段,传入多项时根据传入的参数取交集,获取印章范围。 【特殊说明】 1、印章类型不存在或者类型与用印流程中设置的类型不一致时,会抛出异常。 2、对内部法人单位和外部法人单位都生效。
+	SealCategoryName string `json:"sealCategoryName,omitempty"`
+	// <ext>core:true</ext> 【印章自定义字段】印章自定义字段 【作用】 签署节点类型为“组织签章”时,可使用印章自定义字段指定所用的印章范围 【传参】 1、仅在印章id、印章id集合、印章名称集合不传时生效。 2、可同时传入印章所属组织id、印章类型、印章自定义字段,传入多项时根据传入的参数取交集,获取印章范围。 【特殊说明】 仅对内部法人单位生效
+	SealCustomFields []*SealCustomField `json:"sealCustomFields,omitempty"`
+	// <ext>core:true</ext> 【个人签名id】个人签名id 【传参】 指定签名时,签名id、签名类型、签名分类必传其一,传入多个参数时只按参数中最高优先级查询,优先级为:签名id>签名类型>签名分类。 【特殊说明】 1、仅支持个人签署方,及组织签署方中的个人签字节点、法人签字节点。 2、若个人签名签署要求指定使用系统签名或无外观签名,则传入的指定签名信息不生效。
+	PerSealId string `json:"perSealId,omitempty"`
+	// <ext>core:true</ext> 【个人签名类型】个人签名类型 【传参】 指定签名时,签名id、签名类型、签名分类必传其一,传入多个参数时只按参数中最高优先级查询,优先级为:签名id>签名类型>签名分类。 【特殊说明】 1、签名类型可在电子签约管理后台-签名类型管理中维护。 2、若个人签名签署要求指定使用系统签名或无外观签名或无外观签名或无外观签名,则传入的指定签名信息不生效。
+	PersonSealCategoryName string `json:"personSealCategoryName,omitempty"`
+	// <ext>core:true</ext> 【个人签名分类】个人签名分类 【传参】 1、取值范围:PERSON_SIGN(个人签名),PERSON_SEAL(个人名章)。 2、指定签名时,签名id、签名类型、签名分类必传其一,传入多个参数时只按参数中最高优先级查询,优先级为:签名id>签名类型>签名分类。 【特殊说明】 若个人签名签署要求指定使用系统签名或无外观签名或无外观签名,则传入的指定签名信息不生效。
+	PersonSealCarrier string `json:"personSealCarrier,omitempty"`
+	// <ext>core:true</ext> 【指定签名不存在时,允许使用默认签名/默认名章签署】指定签名不存在时,允许使用默认签名/默认名章签署 【传参】 1、取值范围:true(允许),false(不允许);不传值默认为:true(允许)。 2、若存在默认签名,则优先使用默认签名签署;若无默认签名,则使用默认名章签署。
+	AllowUseDefaultPerSeal string `json:"allowUseDefaultPerSeal,omitempty"`
+	// <ext>core:true</ext> 【档案章单元格内容】 档案章单元格内容 【作用】 1、通常为档案管理系统在文件材料归档时加盖归档章,用于指示档案在全宗中的位置,便于档案的管理和利用 2、通过此参数可预设档案章中的单元格文字,预设后,签署时添加的档案章将默认使用此参数传入的文字,但允许签署人修改 【特殊说明】 1、若指定的印章范围包含多个档案章,以下参数将对所有档案章都生效;若单元格位置和key值跟定位到的档案章不匹配,则不生效
+	ArchivalSealContents []*ActionArchivalSealContent `json:"archivalSealContents,omitempty"`
+	// <ext>core:true</ext> 【用途章样式名称】用途章样式名称 【作用】 用于指定需要可加盖的用途章样式 【传参】 1、格式:[\"用途章\",\"空白章\"]。 2、未传时,则所有样式均可用。
+	PurposeNames string `json:"purposeNames,omitempty"`
+	// <ext>core:true</ext> 【用途章文字】用途章文字 【作用】 1、用印流程可设置签署时允许在文件上加盖用途章,给文件做标记,避免重要的文件被乱用。如“此件仅供XXX使用,其他用途无效” 2、此参数用于预设用途章的用途内容,签署时添加的用途章将默认使用此说明文字,但允许签署人修改 【特殊说明】 若用印流程不允许添加用途章或者用途章不需要输入用途内容时,此参数传入的值无效。
+	PurposeText string `json:"purposeText,omitempty"`
+	// <ext>core:true</ext> 【签署位置】签署位置
+	Locations []*SignatoryRect `json:"locations,omitempty"`
+	// <ext>core:true</ext> 【消息提醒】消息提醒 【作用】 轮到当前签署节点签署时,该节点所有签署人是否发送消息通知(若签署人有手机号则发送短信通知,若有邮箱则发送邮件通知,若均有则均发送) 【传参】 1、取值范围:true(发送),false(不发送);不传值默认为:true(发送)。 2、当用印流程配置不发送消息提醒时,该参数无效,将不会发送消息提醒。
+	Remind *bool `json:"remind,omitempty"`
+	// 【是否自动签】是否自动签署  【作用】  控制签署动作动作是否自动签署  【特殊说明】 1、仅对内部发起方或内部接收方的法人单位签章、签字动作和个人接收方签字动作有效,且必须要指定有效的签署位置。 2、需要具备印章管理权限的角色授权业务系统调用单位数字证书和印章外观,才可自动签章。 3、需个人授权业务系统调用数字证书和签名外观后,才可自动签字。可通【2.6.2.1.1 个人签名静默签署授权连接】接口进行签名授权或前往电子签约系统个人中心进行签名授权
+	AutoSign *bool `json:"autoSign,omitempty"`
+	// 【用印次数限制】用印次数限制 【作用】 1、指定签署位置时,可指定的签名/印章位置的用印次数 2、签署时,可签署的印章/签名数量的用印次数 【传参】 1、最小值:0(包含),最大值:9999(包含)。 2、单位:次。 【特殊说明】 1、仅对个人签名、法人签名、法人章、组织签章、执业章生效,对签署日期、批注不生效 2、骑缝章合并加盖会计算为1次
+	SealPositionSize *int64 `json:"sealPositionSize,omitempty"`
+	// <ext>core:true</ext> 【按位置类型设置用印次数】按位置类型设置用印次数 【作用】 1、签署节点类型为“组织签章”或“个人执业章”时,可通过rectType(位置类型)分别设置节点可签署的正文章次数、骑缝章次数 2、签署节点类型为“个人签字”或“法定代表人签字”时,可通过rectType(位置类型)分别设置节点可签署的正文签名次数、骑缝签名次数 【特殊说明】 1、当sealPositionSize(用印次数限制)与此参数均传入时,以此参数传入的配置生效。 2、每种签章类型rectType仅支持传入1项,若传入多项会返回报错
+	RectTypeSizeConfigs []*ActionRectTypeSizeConfigs `json:"rectTypeSizeConfigs,omitempty"`
+	// <ext>core:true</ext> 【多个印章用印次数限制】多个印章用印次数限制 【作用】 1、action内传入sealds时,可通过此参数中的sealId(印章id)分别指定每个印章的用印次数; 2、未传入rectType(位置类型)时,则控制正文章和骑缝章加在一起的合计次数; 3、传入rectType(位置类型)时可分别控制每个印章可加盖的正文章次数、骑缝章次数 【特殊说明】 当sealPositionSize(用印次数限制)、rectTypeSizeConfigs(按位置类型限制用印次数)与此参数均传入时,以此参数传入的配置生效。
+	SealSizeConfigs []*SealSizeConfig `json:"sealSizeConfigs,omitempty"`
+	// 【按文档设置用印次数】按文档设置用印次数 【作用】 1、当电子签约中包含多个签署文档时,可按签署文档指定签名/印章位置的用印次数; 2、未传入rectType(位置类型)时,则控制正文章和骑缝章加在一起的合计次数。传入rectType(位置类型)时可分别控制每个印章可加盖的正文章次数、骑缝章次数; 3、action内传入sealds时,可通过此参数中的sealId(印章id)分别指定每个印章的用印次数;未传入sealId(印章id)时则所有印章统一计算次数; 【特殊说明】 1、当sealPositionSize(用印次数限制)、rectTypeSizeConfigs(按位置类型限制用印次数)、sealSizeConfigs(多个印章用印次数限制)与此参数均传入时,以此参数传入的配置生效。 2、sealId和rectType可选择性传入,以满足不同场景 3、当同一文档出现多种类型的用印次数,优先级为:位置类型+印章id>仅印章id>仅位置类型>不区分印章和位置类型 4、当同一文档的同一类型传入多个用印次数时,优先取最大次数
+	DocumentSizeConfigs []*DocumentSizeConfig `json:"documentSizeConfigs,omitempty"`
+	// <ext>core:true</ext> 【用印次数校验方式】用印次数校验方式 【作用】 控制文件上最终实际签署次数与用印次数之间的校验方式,包括3种: 1、实际签署必须小于等于用印次数 2、实际签署必须等于用印次数 3、实际签署必须大于等于用印次数 【传参】 取值范围:NOT_MUST_SIGN(小于等于),MUST_SIGN(等于),NOT_LESS_SIGN(大于等于);不传值默认为:NOT_MUST_SIGN(小于等于)。 【特殊说明】 1、仅对个人签名、法人签名、法人章、组织签章、执业章生效,对签署日期、批注不生效; 2、骑缝章合并加盖会计算为1次
+	SealPositionSignType string `json:"sealPositionSignType,omitempty"`
+}

+ 11 - 0
model/common/ActionArchivalSealContent.go

@@ -0,0 +1,11 @@
+package common
+
+
+type ActionArchivalSealContent struct {
+	// <ext>core:true</ext> 【单元格位置】单元格位置 【传参】 1、单元格行,单元格列。如1,3 代表第1行第3列的单元格。 2、若传入的行、列超出了档案章的总行数和总列数,则传入的单元格内容不生效。 3、单元格位置和Key值必传其一,均传入以Key值为准。
+	Location string `json:"location,omitempty"`
+	// <ext>core:true</ext> 【单元格Key值】单元格Key值 【作用】 用于设置单元格key值。通过签署接口传入单元格中的文字时,key值可用于快速定位需要输入的单元格。 【传参】 单元格位置和Key值必传其一,均传入以Key值为准。
+	Key string `json:"key,omitempty"`
+	// <ext>core:true</ext> 【单元格文字】单元格文字 【作用】 用于设置档案章单元格中的文字内容,若印章章面已经固定了文字内容,则传入的内容无效。
+	Value string `json:"value,omitempty"`
+}

+ 11 - 0
model/common/ActionInfo.go

@@ -0,0 +1,11 @@
+package common
+
+
+// 【签署节点】签署节点 【作用】 查询(这里根据不同场景定义描述)的签署节点。 【传参】 1、签署节点id和签署节点编号必传其一,均传入以签署节点id为准。 2、签署节点编号可能不唯一,需同时传入签署方信息查询。
+type ActionInfo struct {
+	// <ext>format:string</ext> 【签署节点id】签署节点id 
+	ActionId string `json:"actionId,omitempty"`
+	SignatoryInfo *SignatoryInfo `json:"signatoryInfo,omitempty"`
+	// 【签署节点编号】签署节点编号
+	ActionNo string `json:"actionNo,omitempty"`
+}

+ 9 - 0
model/common/ActionInfoRequest.go

@@ -0,0 +1,9 @@
+package common
+
+
+type ActionInfoRequest struct {
+	// <ext>format:string</ext> 【电子签约节点ID】电子签约节点ID 【作用】 支持传入电子签约节点ID查询签约节点
+	ActionId *int64 `json:"actionId,omitempty"`
+	// 【电子签约节点No】电子签约节点No 【作用】 支持传入电子签约节点No查询签约节点
+	ActionNo string `json:"actionNo,omitempty"`
+}

+ 13 - 0
model/common/ActionOperatorInfo.go

@@ -0,0 +1,13 @@
+package common
+
+
+type ActionOperatorInfo struct {
+	// <ext>core:true</ext> 【姓名】姓名 【作用】 当签署人不存在时,将创建新用户并以该参数作为用户姓名;若签署人账号已存在,该参数传参无效。
+	OperatorName string `json:"operatorName,omitempty"`
+	// <ext>core:true</ext> 【证件号】证件号
+	OperatorCardId string `json:"operatorCardId,omitempty"`
+	// <ext>core:true</ext> 【联系方式】联系方式 【传参】 1、可传入用户手机号或者邮箱。 2、手机号允许使用大陆、港澳台、国际手机号,手机号格式为:区号+空格+手机号,例:852 9xxxxxxx ,大陆手机号可以不传区号。 3、邮箱需传入符合格式的字符串,例:xxxxxxxx@163.com。
+	OperatorContact string `json:"operatorContact,omitempty"`
+	// <ext>core:true</ext> 【成员编号】成员编号
+	OperatorNumber string `json:"operatorNumber,omitempty"`
+}

+ 9 - 0
model/common/ActionRectTypeSizeConfigs.go

@@ -0,0 +1,9 @@
+package common
+
+
+type ActionRectTypeSizeConfigs struct {
+	// 【位置类型】位置类型 【作用】 需指定用印申请次数的签章类型。 【传参】 SEAL_CORPORATE(正文章/正文签名),ACROSS_PAGE(骑缝章/骑缝签名)
+	RectType string `json:"rectType"`
+	// 【用印申请次数】用印申请次数 【作用】 指定印章对应签章类型的可用印次数。 【传参】 1、最小值:0(包含),最大值:9999(包含)。 2、单位:次。
+	SealPositionSize *int64 `json:"sealPositionSize"`
+}

+ 9 - 0
model/common/AddTemplateGroup.go

@@ -0,0 +1,9 @@
+package common
+
+
+type AddTemplateGroup struct {
+	// <ext>format:string</ext> 【分组id】分组id 【作用】 根据分组id指定模板创建成功后放入哪个分组下 【传参】 不传值时默认放入未分组下。  
+	TemplateGroupId *int64 `json:"templateGroupId,omitempty"`
+	TemplateGroupInfo *AddTemplateGroupInfo `json:"templateGroupInfo,omitempty"`
+	TemplateGroupFullInfo *TemplateGroupFullInfo `json:"templateGroupFullInfo,omitempty"`
+}

+ 11 - 0
model/common/AddTemplateGroupInfo.go

@@ -0,0 +1,11 @@
+package common
+
+
+type AddTemplateGroupInfo struct {
+	// 【分组名称】分组名称 【作用】 根据分组名称指定模板创建成功后哪个分组下 【传参】 1、当未指定模板所在分组父分组时,则默认在一级模板分组下查找对应分组名。 2、当指定模板所在分组父分组时,则在指定父分组下查询对应分组名。 3、当传入名称不存在时,根据字段【是否创建分组】配置,决定是否新增分组。 4、不传入时默认放在未分组下。 5、用分组名称指定模板所在分组时必填。 
+	TemplateGroupName string `json:"templateGroupName,omitempty"`
+	// <ext>format:string</ext> 【父分组id】父分组id 【作用】 根据分组名称指定模板创建成功后哪个分组下时,若分组名称存在同名的情况,可支持通过传入父分组id定义模板所在分组的层级 【传参】 1、未传父分组id时,将模板放在一级模板分组下的对应分组中。 2、传了父分组ID时,放在指定父分组下的对应分组中。 
+	ParentId *int64 `json:"parentId,omitempty"`
+	// 【是否创建新分组】是否创建新分组 【作用】 根据分组名称指定模板所在分组时,若传入的分组名称不存在时,是否创建新分组 1、true:即创建新分组,父分组id未传值时将创建新分组放在一级模板分组下;父分组id传值时创建在指定父分组下 2、false:即不创建新分组,若分组名称不存在,会将模板放在未分组下 【传参】 取值范围:true(创建新分组),false(不创建新分组);不传值时默认为:false(不创建新分组)。 
+	CreateTemplateGroup *bool `json:"createTemplateGroup,omitempty"`
+}

+ 24 - 0
model/common/AddTemplateInfo.go

@@ -0,0 +1,24 @@
+package common
+
+
+type AddTemplateInfo struct {
+	// <ext>core:true</ext> 【模板标题】模板标题
+	TemplateTitle string `json:"templateTitle"`
+	// <ext>core:true</ext> 【模板类型】模板类型 【作用】 用于指定模板类型,支持: 1、Word模板:即可支持上传Word格式的文件创建文件模板,仅支持docx 格式 2、PDF模板:即可支持上传PDF格式的文件创建文件模板,仅支持pdf格式 3、在线模板:即可在线编辑模板内容,仅支持txt、json格式或不传任何文件 4、未传入模板类型,将根据上传的模板文件类型自动判断创建对应类型的模板 (1)传入pdf格式的模板文件,则直接创建PDF类型模板; (2)传入docx格式的模板文件,则直接创建Word类型模板; (3)传入txt、json格式的模板文件,则直接创建在线模板(若不传任何文件,则直接创建为空白在线模板); 【传参】 取值范围:word(Word模板),pdf(PDF模板),html(在线模板);不传值时默认为:根据上传文件类型自动创建对应类型的模板。
+	TemplateType string `json:"templateType,omitempty"`
+	// <ext>core:true</ext> 【模板状态】模板状态 【作用】 可控制模板创建完成后的状态 1、启用:启用状态的模板,在签署时方可调用 2、停用:停用状态的模板,在签署时无法调用 【传参】 取值范围:0(停用),1(启用);不传值默认为:0(停用)。
+	Status *int64 `json:"status,omitempty"`
+	// <ext>core:true;format:string</ext> 【模板归属集团】模板归属集团 【作用】 可用于定义模板创建完成后归属的集团 【传参】 1、支持传入集团id。 2、不传值时默认创建成功后模板属于内部顶级组织。 
+	TemplateOrgId *int64 `json:"templateOrgId,omitempty"`
+	// <ext>core:true</ext> 【模板标签】模板标签 【作用】 可根据模板不同属性自定义标签,例如可为模板添加人事合同模板、财务合同模板等标签,后续可以支持根据标签筛选 【传参】 支持传入多个,传入多个以,分隔,每个标签限制在40字符以内。 
+	Label string `json:"label,omitempty"`
+	TemplateGroup *AddTemplateGroup `json:"templateGroup,omitempty"`
+	// <ext>core:true</ext> 【Word模板参数是否必填】Word模板参数是否必填 【作用】 支持设置Word模板中的参数是否全部必填 1、true:全部必填 2、false:全部非必填 3、不传值时默认为:全部非必填 【传参】 取值范围:true(全部必填),false(全部非必填);不传值默认为:false(全部非必填)。 
+	Required *bool `json:"required,omitempty"`
+	TemplateManger *AddTemplateManger `json:"templateManger"`
+	Viewer *AddTemplateViewer `json:"viewer"`
+	TemplateRange *TemplateRange `json:"templateRange,omitempty"`
+	ShareRange *UpdateShareRange `json:"shareRange,omitempty"`
+	Operator *NameUserInfoRequest `json:"operator,omitempty"`
+	TemplateOperator *AddTemplateManger `json:"templateOperator,omitempty"`
+}

+ 11 - 0
model/common/AddTemplateManger.go

@@ -0,0 +1,11 @@
+package common
+
+
+type AddTemplateManger struct {
+	// 【组织】组织 【作用】 1、查询需要设置为模板管理员的组织 2、传入的组织,当前组织下的全部成员(不包含下级组织的成员)将设为当前模板的模板管理员 【传参】 1、参数必传其一,传入多个时只按最高优先级查询,优先级为组织id>组织名称> 第三方业务系统组织id > 组织编码。 2、若组织不存在时,将会报错。 
+	DepartmentRequests []*UpdateDepartmentRequest `json:"departmentRequests,omitempty"`
+	// 【个人用户】个人用户 【作用】 查询需要设置为模板管理员的个人用户 【传参】 1、参数必传其一,传入多个参数时,根据verificationRule(查询规则)判断查询规则。 2、若用户不存在时,将会报错。   
+	UserInfoRequests []*NameUserInfoRequest `json:"userInfoRequests,omitempty"`
+	// 【角色id】角色id 【作用】 支持传入角色id,当前角色下的全部成员将设为当前模板的模板管理员 
+	RoleIds []string `json:"roleIds,omitempty"`
+}

+ 13 - 0
model/common/AddTemplateViewer.go

@@ -0,0 +1,13 @@
+package common
+
+
+type AddTemplateViewer struct {
+	// 【组织信息】组织信息 【作用】 可传入组织,即组织下的所有用户均为模板查看人(包括后续组织下新增的用户),如组织下删除了用户则对应用户将失去模板查看权限
+	DepartmentRequests []*UpdateDepartmentRequest `json:"departmentRequests,omitempty"`
+	// 【用户信息】用户信息 【作用】 可传入系统的用户作为模板查看人  
+	UserInfoRequests []*NameUserInfoRequest `json:"userInfoRequests,omitempty"`
+	// 【角色id】角色id 【作用】 支持传入角色id,当前角色下的全部成员将设为当前模板的模板查看人 
+	RoleIds []string `json:"roleIds,omitempty"`
+	// 【指定查看人为所有人】指定查看人为所有人 【作用】 1、true:即指定查看认为所有人,该模板未公开查看,系统中所有人员均可查看 2、false:即不指定查看人为所有人,仅有模板查看人权限的人员才可查看 【传参】 取值范围:true(定查看认为所有人),false(不指定查看人为所有人);不传值时默认为:false。  
+	AllUser string `json:"allUser,omitempty"`
+}

+ 21 - 0
model/common/AdminPunishment.go

@@ -0,0 +1,21 @@
+package common
+
+
+type AdminPunishment struct {
+	// 【序号】序号
+	SeqNo string `json:"seq_no,omitempty"`
+	// 【决定书文号】决定书文号
+	Number string `json:"number,omitempty"`
+	// 【违法行为类型】违法行为类型
+	IllegalType string `json:"illegalType,omitempty"`
+	// 【行政处罚内容】行政处罚内容
+	Content string `json:"content,omitempty"`
+	// 【决定机关名称】决定机关名称
+	Department string `json:"department,omitempty"`
+	// 【处罚决定日期】处罚决定日期
+	Date string `json:"date,omitempty"`
+	// 【公示日期】公示日期
+	PublishDate string `json:"publishDate,omitempty"`
+	// 【详情】详情
+	Description string `json:"description,omitempty"`
+}

+ 16 - 0
model/common/AnnotationStampers.go

@@ -0,0 +1,16 @@
+package common
+
+
+// 【批注内容】批注内容,各签署节点的操作人对文件添加的批注内容
+type AnnotationStampers struct {
+	// 【批注内容】批注内容
+	Annotation string `json:"annotation"`
+	// 【批注内容的类型】批注内容的类型 TEXT(文字批注),HAND_WRITE(手写批注)
+	Type_ string `json:"type"`
+	// 【批注内容宽度】批注内容宽度,单位为mm
+	Width *int64 `json:"width"`
+	// 【批注内容高度】批注内容高度,单位为mm
+	Hight *int64 `json:"hight"`
+	// 【批注内容所在签署文档id】批注内容所在签署文档id
+	DocumentId *float64 `json:"documentId"`
+}

+ 15 - 0
model/common/AppendDevice.go

@@ -0,0 +1,15 @@
+package common
+
+
+type AppendDevice struct {
+	// <ext>format:string</ext>  【印章id】印章id  【作用】 根据物理印章的id查询印章,作为申请用印的印章  【传参】 印章id、章筒识别码、印章名称必传其一,传入多个时只按最高优先级查询,优先级为印章id>章筒识别码>印章名称。
+	SealId *int64 `json:"sealId,omitempty"`
+	// 【章筒识别码】章筒识别码 【特殊说明】 章管家章筒的识别码取蓝牙地址即可
+	DeviceNo string `json:"deviceNo,omitempty"`
+	// 【印章名称】印章名称 【传参】 当sealName(印章名称)传值时,必须传入ownerName(印章所属单位名称),查询所属单位下的该印章。 【特殊说明】 deviceNo、sealName至少填写一个 
+	SealName string `json:"sealName,omitempty"`
+	// 【印章所属单位名称】印章所属单位名称 【作用】 1.通过印章名称指定印章时名称必传,用于查询该法人 单位下的印章 2.通过章筒识别码指定法定代表人章时,若多个法人章 绑定了同一个章筒则名称必传,用于查询该法人单位下 的法定代表人章
+	OwnerName string `json:"ownerName"`
+	// 【补签用印次数】补签用印次数 【作用】 该印章的补签次数 【传参】 1、最小值:1(包含)。单位:次。
+	Count *int64 `json:"count"`
+}

+ 21 - 0
model/common/ApplyUserInfo.go

@@ -0,0 +1,21 @@
+package common
+
+
+type ApplyUserInfo struct {
+	// <ext>core:true</ext> 【用户id】用户id       
+	UserId *int64 `json:"userId,omitempty"`
+	// <ext>core:true</ext> 【联系方式】联系方式 【传参】 1、可传入用户手机号或者邮箱。 2、手机号允许使用大陆、港澳台、国际手机号,手机号格式为:区号+空格+手机号,例:852 9xxxxxxx ,大陆手机号可以不传区号。 3、邮箱需传入符合格式的字符串,例:xxxxxxxx@163.com。
+	Contact string `json:"contact,omitempty"`
+	// <ext>core:true</ext> 【手机号】手机号 【传参】 手机号允许使用大陆、港澳台、国际手机号,手机号格式为:区号+空格+手机号,例:852 9xxxxxxx ,大陆手机号可以不传区号。
+	Mobile string `json:"mobile,omitempty"`
+	// <ext>core:true</ext> 【邮箱】邮箱 【传参】 邮箱需传入符合格式的字符串,例:xxxxxxxx@163.com。
+	Email string `json:"email,omitempty"`
+	// <ext>core:true</ext> 【成员编号】成员编号
+	Number string `json:"number,omitempty"`
+	// <ext>core:true</ext> 【证件号】证件号 【传参】 1、支持传入用户关联的证件号,包括居民身份证、护照号、港澳居民来往内地通行证等。 2、系统中若存在多个同证件号用户,则优先匹配已认证中最早认证的用户;若无已认证用户,则关联最早创建的用户。
+	CardNo string `json:"cardNo,omitempty"`
+	// <ext>core:true</ext> 【第三方业务系统用户id】第三方业务系统用户id
+	OpenUserId string `json:"openUserId,omitempty"`
+	// <ext>core:true</ext> 【登录账号】登录账号
+	AccountNo string `json:"accountNo,omitempty"`
+}

+ 11 - 0
model/common/ArchivalSealContent.go

@@ -0,0 +1,11 @@
+package common
+
+
+type ArchivalSealContent struct {
+	// <ext>core:true</ext> 【单元格位置】单元格位置 【传参】 1、单元格行,单元格列。如1,3 代表第1行第3列的单元格。 2、若传入的行、列超出了档案章的总行数和总列数,则传入的单元格内容不生效。 3、单元格位置和Key值必传其一,均传入以Key值为准。
+	Location string `json:"location,omitempty"`
+	// <ext>core:true</ext> 【单元格Key值】单元格Key值 【作用】 用于设置单元格key值。通过签署接口传入单元格中的文字时,key值可用于快速定位需要输入的单元格 【传参】 单元格位置和Key值必传其一,均传入以Key值为准。
+	Key string `json:"key,omitempty"`
+	// <ext>core:true</ext> 【单元格文字】单元格文字 【作用】 用于设置档案章单元格中的文字内容,若印章章面已经固定了文字内容,则传入的内容无效
+	Value string `json:"value,omitempty"`
+}

+ 11 - 0
model/common/Attachment.go

@@ -0,0 +1,11 @@
+package common
+
+
+type Attachment struct {
+	// <ext>format:string;core:true</ext> 【附件id】附件id 【传参】 1、上传附件之前需先调用其他接口将附件转换为签署文档id再传入。 2、格式:[{\"id\":\"2495903120714977622\"},{\"id\":\"2495903120714977621\"}]。 其中id为签署文档id。
+	Id *int64 `json:"id"`
+	// <ext>format:string;core:true</ext>【文件页数】文件页数
+	Pages string `json:"pages"`
+	// <ext>format:string;core:true</ext>【文件标题】文件标题
+	Title string `json:"title"`
+}

+ 51 - 0
model/common/AuthCompanyResponse.go

@@ -0,0 +1,51 @@
+package common
+
+
+type AuthCompanyResponse struct {
+	// 【单位ID】单位ID
+	Id string `json:"id,omitempty"`
+	// 【单位名称】单位名称
+	Name string `json:"name,omitempty"`
+	// 【统一信用代码】统一信用代码
+	RegisterNo string `json:"registerNo,omitempty"`
+	// 【公司地址】公司地址
+	Address string `json:"address"`
+	// 【单位类型】单位类型:CORPORATE(平台方),INNER_COMPANY(内部单位),COMPANY(外部单位)
+	TenantType string `json:"tenantType,omitempty"`
+	// 【创建时间】创建时间;格式:yyyy-MM-dd HH:mm:ss
+	CreateTime string `json:"createTime,omitempty"`
+	// 【更新时间】更新时间;格式:yyyy-MM-dd HH:mm:ss
+	UpdateTime string `json:"updateTime"`
+	// 【是否冻结】是否冻结 TRUE:已冻结; FALSE:未冻结;
+	Freeze *bool `json:"freeze,omitempty"`
+	// 【单位状态】单位状态;UNREGISTERED(未注册),REGISTERED(已注册),CERTIFYING(认证中),AUTH_SUCCESS(认证完成),AUTH_FAILURE(认证失败)
+	Status string `json:"status,omitempty"`
+	// 【负责人】负责人
+	Charger string `json:"charger"`
+	// 【法人姓名】法人姓名
+	LegalPerson string `json:"legalPerson,omitempty"`
+	// 【开放平台法人单位ID】开放平台法人单位ID
+	OpenCompanyId string `json:"openCompanyId"`
+	// 【是否申请独立法人单位认证服务】是否申请独立法人单位认证服务
+	ApplyIndependent *bool `json:"applyIndependent"`
+	// 【是否提交独立法人单位认证服务】是否提交独立法人单位认证服务
+	Submitted *bool `json:"submitted"`
+	// 【外部法人单位是否能够发起电子签约开关】外部法人单位是否能够发起电子签约开关,默认是开启的
+	SendContractSwitch *bool `json:"sendContractSwitch"`
+	// 【外部法人单位发送的电子签约对象控制】外部法人单位发送的电子签约对象控制,默认true,给内部法人单位发送电子签约,false,任意接收方发起电子签约
+	SendObjectControl *bool `json:"sendObjectControl"`
+	// 【印章管理模式】印章管理模式
+	SealManageMode string `json:"sealManageMode"`
+	// 【长期证书数量】长期证书数量
+	PlatformCertCount string `json:"platformCertCount"`
+	// 【联系方式】联系方式
+	Contact string `json:"contact"`
+	// 【公司等待关联法人是否认证】公司等待关联法人是否认证
+	WaitingAuthLegalUserStatus *bool `json:"waitingAuthLegalUserStatus"`
+	// 【手机号】手机号
+	Mobile string `json:"mobile"`
+	// 【是否要去校验工商四要素】是否要去校验工商四要素
+	CheckFourElements *bool `json:"checkFourElements"`
+	// 【法人单位认证状态】法人单位认证状态
+	CompanyAuthState string `json:"companyAuthState,omitempty"`
+}

+ 21 - 0
model/common/AuthInfo.go

@@ -0,0 +1,21 @@
+package common
+
+
+type AuthInfo struct {
+	// 【实名认证方式】实名认证方式 【传参】 取值范围:IVS(三要素),FACE(人脸认证),ALIPAY(支付宝认证),BANK(银行卡认证),DEFAULT(不指定认证模式);DEFAULT(不指定认证模式)。不传值默认为:DEFAULT(不指定认证模式)可使用全部认证。
+	AuthMode string `json:"authMode,omitempty"`
+	// 【证件类型】证件类型 【传参】 取值范围:IDCARD(二代身份证),PASSPORT(护照),HKMP(港澳通行证),MTPS(台胞证);不传值默认为:IDCARD(二代身份证)。
+	PaperType string `json:"paperType,omitempty"`
+	// 【用户认证名称】用户认证名称
+	Name string `json:"name,omitempty"`
+	// 【用户身份证号】用户身份证号
+	IdCard string `json:"idCard,omitempty"`
+	// 【用户银行卡号】用户银行卡号
+	BankNo string `json:"bankNo,omitempty"`
+	// 【用户银行卡预留手机号】用户银行卡预留手机号
+	BankMobile string `json:"bankMobile,omitempty"`
+	// 【认证失败降级方式】认证失败降级方式 【传参】 取值范围:IVS(三要素),FACE(人脸认证),ALIPAY(支付宝认证),BANK(银行卡认证),MANUAL(人工审核);可选多项。
+	AuthDemotionMode string `json:"authDemotionMode,omitempty"`
+	// 【认证时可修改项 】认证时可修改项                   【作用】  控制用户在实名认证时可以修改哪些信息 1、不传参:默认除了手机号以外所有参数都允许修改 2、NONE:接口传入的所有参数都不允许修改 3、传入除了NONE以外的其他值:传入的值可以修改支持传入多项,传入项在个人认证时可进行修改  【传参】  取值范围:NAME(姓名),CARDNO(证件号)、MOBILE(手机号),BANKNO(银行账号)、BANKPHONE(银行预留手机号),NONE(都不允许修改);不传值默认为:除了手机号以外所有参数都允许修改。
+	ModifyFields []string `json:"modifyFields,omitempty"`
+}

+ 11 - 0
model/common/AuthorityRange.go

@@ -0,0 +1,11 @@
+package common
+
+
+type AuthorityRange struct {
+	// 【用户列表】用户列表
+	Users []*UserResponse `json:"users,omitempty"`
+	// 【组织列表】组织列表
+	Departments []interface{} `json:"departments,omitempty"`
+	// 【角色列表】角色列表
+	Roles []*RoleResponse `json:"roles,omitempty"`
+}

+ 17 - 0
model/common/AuthorizedSealRecord.go

@@ -0,0 +1,17 @@
+package common
+
+
+type AuthorizedSealRecord struct {
+	// 【印章id】印章id
+	SealId string `json:"sealId"`
+	// 印章范围【印章范围】
+	CpSealTokenSets []*CpSealTokenSet `json:"cpSealTokenSets,omitempty"`
+	// 【授权开始时间】授权开始时间
+	StartTime string `json:"startTime"`
+	// 【授权结束时间】授权结束时间
+	EndTime string `json:"endTime"`
+	// 【授权范围】授权范围
+	AuthScope string `json:"authScope"`
+	// 【授权状态】授权状态
+	Status string `json:"status"`
+}

+ 7 - 0
model/common/AuthorizedSealRecordBean.go

@@ -0,0 +1,7 @@
+package common
+
+
+type AuthorizedSealRecordBean struct {
+	AuthorizedSealRecord *AuthorizedSealRecord `json:"authorizedSealRecord"`
+	SealBean *SealBean `json:"sealBean"`
+}

+ 10 - 0
model/common/BatchRecallResult.go

@@ -0,0 +1,10 @@
+package common
+
+
+type BatchRecallResult struct {
+	// 【批量任务执行状态】批量任务执行状态 COMPLETE(完成)、EXECUTING(执行中)
+	TaskStatus string `json:"taskStatus,omitempty"`
+	TaskStatistics *TaskStatistics `json:"taskStatistics,omitempty"`
+	// 【任务详情】任务详情
+	TaskDetail []*ContractBatchRecall `json:"taskDetail,omitempty"`
+}

+ 9 - 0
model/common/BatchSignatoryInfo.go

@@ -0,0 +1,9 @@
+package common
+
+
+type BatchSignatoryInfo struct {
+	// <ext>core:true</ext> 【签署方姓名】签署方姓名 【传参】 1、传入个人真实姓名。  2、最大长度:200(包含)。 3、请勿传入错误,否则会导致认证不通过。
+	Name string `json:"name"`
+	// <ext>core:true</ext> 【签署方联系方式】签署方联系方式 【作用】 1、用于查询用户,作为个人签署方 【传参】 1、可传入用户手机号或者邮箱。 2、手机号允许使用大陆、港澳台、国际手机号,手机号格式为:区号+空格+手机号,例:852 9xxxxxxx ,大陆手机号可以不传区号。 3、邮箱需传入符合格式的字符串,例:xxxxxxxx@163.com。 4、传入该参数查询用户时,若用户不存在时,则使用传入的联系方式创建新用。
+	Contact string `json:"contact"`
+}

+ 27 - 0
model/common/BatchSignatoryRect.go

@@ -0,0 +1,27 @@
+package common
+
+
+type BatchSignatoryRect struct {
+	// <ext>core:true</ext> 【签署文档id】签署文档id 【作用】 用于指定签署位置所在的签署文档
+	DocumentId string `json:"documentId"`
+	// <ext>core:true</ext>  【签署文档名称】 签署文档名称 【作用】  通过名称指定签署位置所在的签署文档
+	DocumentName string `json:"documentName"`
+	// <ext>core:true</ext> 【签署页码 】签署页码  【作用】 指定签署位置所在的文件页码  【传参】 第page页(例如:第7页,则传入7)。
+	Page *int64 `json:"page"`
+	// 【签署位置起始X轴坐标】签署位置起始X轴坐标 【作用】 1、通过坐标指定批量签署位置的左上角起点,系统将根据这个位置从左到右、从上到下,为每个签署方依次生成一个签署位置  2、以页面左下角为原点,页面宽度为1,通过比例定位签署位置左下角所在的横向位置,传值范围0-1   【传参】   最小值:0(不包含),最大值:1(不包含);不传值默认为:0。
+	OffsetX string `json:"offsetX,omitempty"`
+	// 【签署位置起始Y轴坐标】签署位置起始Y轴坐标 【作用】 1、通过坐标指定批量签署位置的左上角起点,系统将根据这个位置从左到右、从上到下,为每个签署方依次生成一个签署位置 2、通过坐标指定签署位置时,以页面左下角为原点,页面高度为1,通过比例定位签署位置左下角所在的纵向位置,传值范围0-1 【传参】 最小值:0(不包含),最大值:1(不包含);不传值默认为:0。
+	OffsetY string `json:"offsetY,omitempty"`
+	// 【签字位置宽度】签字位置宽度 【作用】  设置签署位置的宽度,防止用户在文件上添加的签名过大或过小  【传参】 1、仅传宽度时,高度按比例适配,两者均传参以宽度为准。 2、最小值:10(包含),最大值:120(包含);不传值默认为:系统默认大小。
+	Width string `json:"width,omitempty"`
+	// 【签字位置高度】签字位置高度 【作用】 设置签署位置的高度,防止用户在文件添加的签名过大或过小 【传参】 1、仅传高度时,宽度按比例适配,两者均传参以宽度为准。 2、最小值:4(包含),最大值:48(包含);不传值默认为:系统默认大小。
+	Height string `json:"height,omitempty"`
+	// 【添加签名时自动带出签署日期】添加签名时自动带出签署日期 【传参】 取值范围:true(带出),false(不带出);不传值默认为:false(不带出)
+	AddTimeStamp *bool `json:"addTimeStamp,omitempty"`
+	// 【日期位置宽度】日期位置宽度 【作用】 设置签署位置的宽度,防止用户在文件上添加的时间戳过大或过小  【传参】 1、仅传宽度时,高度按比例适配,两者均传参以宽度为准。 2、最小值:10(包含),最大值:120(包含);不传值默认为:系统默认大小。 3、仅在当addTimeStamp(添加签名时自动带出签署日期)传值为true(带出)时,生效
+	TsWidth string `json:"tsWidth,omitempty"`
+	// 【日期位置高度】日期位置高度 【作用】 设置签署位置的高度,防止用户在文件添加的时间戳过大或过小 【传参】 1、仅传高度时,宽度按比例适配,两者均传参以宽度为准。 2、最小值:4(包含),最大值:48(包含);不传值默认为:系统默认大小。 3、仅在当addTimeStamp(添加签名时自动带出签署日期)传值为true(带出)时,生效
+	TsHeight string `json:"tsHeight,omitempty"`
+	// 【签署位置动态分配】签署位置动态分配 【作用】 1、关闭时,批量位置下的每一个位置按签署方顺序与签署方绑定 2、开启后,将按照签署方进入签署的顺序为其动态分配签署位置  【传参】  取值范围:true(开启),false(关闭);不传值默认为:false(关闭)
+	AddOrder string `json:"addOrder,omitempty"`
+}

+ 9 - 0
model/common/BinaryBatchCancelDataSignListRequest.go

@@ -0,0 +1,9 @@
+package common
+
+
+type BinaryBatchCancelDataSignListRequest struct {
+	// <ext>core:true</ext> 【数据签名id】数据签名id 【传参】 数据签名id和第三方业务系统数据签名id必传其一,均传入以数据签名id为准。
+	Id string `json:"id,omitempty"`
+	// <ext>core:true</ext> 【第三方业务系统数据签名id】第三方业务系统数据签名id 【传参】 数据签名id和第三方业务系统数据签名id必传其一,均传入以数据签名id为准。
+	BizId string `json:"bizId,omitempty"`
+}

+ 13 - 0
model/common/BinaryBatchCancelQueryTaskDetailResponse.go

@@ -0,0 +1,13 @@
+package common
+
+
+type BinaryBatchCancelQueryTaskDetailResponse struct {
+	// 【第三方业务系统数据签名id】第三方业务系统数据签名id
+	Bizid string `json:"bizid,omitempty"`
+	// 【数据签名id】数据签名id
+	DataSignId string `json:"dataSignId,omitempty"`
+	// 【状态】状态 WAITING(等待)、COMPLETE(完成)、FAILURE(失败)
+	RecallStatus string `json:"recallStatus,omitempty"`
+	// 【失败原因】失败原因
+	FailReason string `json:"failReason,omitempty"`
+}

+ 10 - 0
model/common/BinaryCancelSignDataSignRequest.go

@@ -0,0 +1,10 @@
+package common
+
+
+// <ext>core:true</ext> 【作废的数据签名】作废的数据签名
+type BinaryCancelSignDataSignRequest struct {
+	// <ext>core:true</ext> 【数据签名id】数据签名id 【传参】 数据签名id和第三方业务系统数据签名id必传其一,均传入以数据签名id为准。
+	Id string `json:"id,omitempty"`
+	// <ext>core:true</ext> 【第三方业务系统数据签名id】第三方业务系统数据签名id 【传参】 数据签名id和第三方业务系统数据签名id必传其一,均传入以数据签名id为准。
+	BizId string `json:"bizId,omitempty"`
+}

+ 9 - 0
model/common/BinaryCompany.go

@@ -0,0 +1,9 @@
+package common
+
+
+type BinaryCompany struct {
+	// 【法人单位id】法人单位id
+	Id string `json:"id"`
+	// 【法人单位名称】法人单位名称
+	Name string `json:"name"`
+}

+ 11 - 0
model/common/BinaryDataBatchSignContent.go

@@ -0,0 +1,11 @@
+package common
+
+
+type BinaryDataBatchSignContent struct {
+	// 【数据签名主题】数据签名主题 【作用】 定义数据签名的标题,便于后续在前台显示数据签名列表时区分显示每条数据 【传参】 最大长度:500(包含) 【特殊说明】 若未传,则默认按【数据签名-数据签名id】作为主题名称
+	Subject string `json:"subject,omitempty"`
+	// 【第三方业务系统数据签名id】第三方业务系统数据签名id 【作用】 传入第三方业务系统中唯一数据签名ID,方便后续进行查询 【传参】 最大长度:200。
+	BizId string `json:"bizId,omitempty"`
+	// 【数据签名内容】数据签名内容 【作用】 以字符串的形式传入签署的业务数据(使用数字证书签署数据流) 例如:采购系统需要签署一份采购表单,采购表单本身不是文件只是表单上一串数据,则可传入数据进行签署
+	DataString string `json:"dataString,omitempty"`
+}

+ 10 - 0
model/common/BinaryDataBatchTaskResult.go

@@ -0,0 +1,10 @@
+package common
+
+
+type BinaryDataBatchTaskResult struct {
+	// 【批量任务执行状态】批量任务执行状态 COMPLETE(完成)、EXECUTING(执行中)
+	TaskStatus string `json:"taskStatus,omitempty"`
+	TaskStatistics *BinaryDataBatchTaskResultTaskStatistics `json:"taskStatistics,omitempty"`
+	// 【任务详情】任务详情
+	TaskDetail []*BinaryDataBatchTaskResultTaskDetail `json:"taskDetail,omitempty"`
+}

+ 15 - 0
model/common/BinaryDataBatchTaskResultTaskDetail.go

@@ -0,0 +1,15 @@
+package common
+
+
+type BinaryDataBatchTaskResultTaskDetail struct {
+	// 【第三方业务系统数据签名id】第三方业务系统数据签名id
+	Bizid string `json:"bizid,omitempty"`
+	// 【数据签名id】数据签名id
+	DataSignId string `json:"dataSignId,omitempty"`
+	// 【数据签名主题】数据签名主题
+	Subject string `json:"subject,omitempty"`
+	// 【状态】状态 WAITING(等待)、COMPLETE(完成)、FAILURE(失败)
+	RecallStatus string `json:"recallStatus,omitempty"`
+	// 【失败原因】失败原因
+	FailReason string `json:"failReason,omitempty"`
+}

+ 14 - 0
model/common/BinaryDataBatchTaskResultTaskStatistics.go

@@ -0,0 +1,14 @@
+package common
+
+
+// 【任务统计】任务统计
+type BinaryDataBatchTaskResultTaskStatistics struct {
+	// 【总个数】总个数
+	TotalCount string `json:"totalCount,omitempty"`
+	// 【执行成功个数】执行成功个数
+	SuccessCount string `json:"successCount,omitempty"`
+	// 【执行失败个数】执行失败个数
+	FailureCount string `json:"failureCount,omitempty"`
+	// 【等待执行个数】等待执行个数
+	WaitingCount string `json:"waitingCount,omitempty"`
+}

+ 11 - 0
model/common/BinaryOperator.go

@@ -0,0 +1,11 @@
+package common
+
+
+type BinaryOperator struct {
+	// 【签署人ID】签署人ID
+	Id string `json:"id"`
+	// 【签署人姓名】签署人姓名
+	Name string `json:"name"`
+	// 【联系方式】联系方式
+	Contact string `json:"contact"`
+}

+ 9 - 0
model/common/BinarySeal.go

@@ -0,0 +1,9 @@
+package common
+
+
+type BinarySeal struct {
+	// 【签署图片id】签署图片id
+	Id *int64 `json:"id"`
+	// 【签署图片名称】签署图片名称
+	Name string `json:"name"`
+}

+ 11 - 0
model/common/BinarySealRequest.go

@@ -0,0 +1,11 @@
+package common
+
+
+type BinarySealRequest struct {
+	// <ext>format:string</ext> 【印章id】印章id
+	Id string `json:"id,omitempty"`
+	// 【第三方业务系统印章id】第三方业务系统印章id
+	OpenSealId string `json:"openSealId,omitempty"`
+	// 【印章名称】印章名称 使用印章名称时需要和company一起查询,此时company只能指定印章现有所属法人单位且只能查询出处于 启用/停用状态下的印章
+	Name string `json:"name,omitempty"`
+}

+ 12 - 0
model/common/BinarySignatory.go

@@ -0,0 +1,12 @@
+package common
+
+
+type BinarySignatory struct {
+	Operator *NameUserInfoRequest `json:"operator,omitempty"`
+	Company *CompanyRequest `json:"company,omitempty"`
+	Seal *BinarySealRequest `json:"seal,omitempty"`
+	// <ext>core:true</ext> 【第三方业务系统数据签名id】第三方业务系统数据签名id 【作用】 传入第三方业务系统中唯一数据签名ID,方便后续进行查询 【传参】 最大长度:200。
+	BizId string `json:"bizId,omitempty"`
+	// 【允许传入重复第三方业务系统数据签名id 】允许传入重复第三方业务系统数据签名id 【作用】 支持传入重复的bizid,将bizid和原有的数据签记录解绑,且绑定最新传入的数据签,主要适用于以下场景:某次签署传入的bizid有误,占用了后续签署数据的bizid时,后续签署时可传入重复bizid 【传参】 取值范围:false(不可重复传入),true(可重复传入);不传值默认为:false(不可重复传入)。
+	AllowRepetitiveBizId *bool `json:"allowRepetitiveBizId,omitempty"`
+}

+ 7 - 0
model/common/BinarySignurlV2PageConfigPageStyleRequest.go

@@ -0,0 +1,7 @@
+package common
+
+
+type BinarySignurlV2PageConfigPageStyleRequest struct {
+	// <ext>format:color</ext> 【自定义页面主题色】自定义页面主题色 【作用】 可根据组织的品牌风格,自定义页面的主题颜色,如红色、蓝色 【传参】 RGB颜色(16进制),例如:#A67A7A。
+	ThemeColor string `json:"themeColor,omitempty"`
+}

+ 16 - 0
model/common/BinarySignurlV2PageConfigRequest.go

@@ -0,0 +1,16 @@
+package common
+
+
+type BinarySignurlV2PageConfigRequest struct {
+	// 【链接失效后跳转地址】链接失效后跳转地址 【作用】 当链接页面失败后页面自动跳转至指定地址(如:超过访问次数、链接已超过有效期)
+	InvalidToPage string `json:"invalidToPage,omitempty"`
+	// 【链接有效期】链接有效期 【作用】 1、用于设置获取到的链接在多长时间后过期 2、参数不传值时,链接有效期取电子签章管理后台设置的“接口页面默认有效期  3、参数传入时长超过电子签章管理后台设置的“接口页面最大有效期天数”时,将以后台设置的有效期为准 【传参】 最小值:0(不包含)。单位:秒。
+	ExpireTime *int64 `json:"expireTime,omitempty"`
+	// 【移动端页面导航头部】移动端页面导航头部 【作用】 1、移动端内嵌页面默认带有头部导航区域,且区域内提供返回按钮,嵌入其他app时会与app自带的导航头部区域航重复 2、可通过本参数控制签入移动端页面时是否提供头部导航区域 【传参】 取值范围:true(隐藏导航头部),false(显示导航头部);不传值默认为:false(显示导航头部)。
+	HideHeader string `json:"hideHeader,omitempty"`
+	PageStyle *BinarySignurlV2PageConfigPageStyleRequest `json:"pageStyle,omitempty"`
+	// 【链接访问次数】链接访问次数 【作用】 1、限制链接访问次数,若超过次数则链接失效 2、若不传值,则访问次数无限制;若传入具体数值,则链接在访问所传具体值次数后失效,无法继续访问 【传参】 最小值:1(包含)。单位:次。
+	VisitNum *int64 `json:"visitNum,omitempty"`
+	// 【页面语言】页面语言 【作用】 1、用于指定链接页面使用的语言 2、选择的语言需要在管理后台-设置-系统语言配置对应语言 3、除中文 - 简体中文以外其他语言页面为付费功能,请确认开通对应语言后使用 【传参】 取值范围:ZH_CN(中文 - 简体中文), EN_US(英语 - English),JP(日语 - 日本語),ZH_TW(中文 - 繁體中文), AZ(阿塞拜疆语 - azərbaycan),GA(爱尔兰语 - Gaeilge), ET(爱沙尼亚语 - eesti),BE(白俄罗斯语 - беларуская),BG(保加利亚语 - български),IS(冰岛语 - íslenska),PL(波兰语 - polski),DA(丹麦语 - dansk),DE(德语 - Deutsch),RU(俄语-русский),FR(法语 - français),FIL(菲律宾语 - Filipino),FI(芬兰语 - suomi),KO(韩语 -한국어),NL(荷兰语 - Nederlands),CS(捷克语 - čeština),HR(克罗地亚语 - hrvatski),LO(老挝语 - ລາວ),RO(罗马尼亚语-română),MN(蒙古语 - монгол),BN(孟加拉语 - বাংলা),PT(葡萄牙语 - português),SV(瑞典语 - svenska),TH(泰语 - ไทย),TR(土耳其语 - Türkçe),ES(西班牙语 - español),EL(希腊语 - Ελληνικά),IT(意大利语 - italiano),ID(印度尼西亚语 - Indonesia),不传值默认为:ZH_CN(中文)。
+	Language string `json:"language,omitempty"`
+}

+ 17 - 0
model/common/BizParam.go

@@ -0,0 +1,17 @@
+package common
+
+
+type BizParam struct {
+	// 【文件类型】文件类型 【作用】 作为消息通知里的文件类型,对应参数${fileTypeName},可自定义传入内容,比如:单据、电子签约、证明、文件等 【传参】 未传入时默认为“文件”
+	FileTypeName string `json:"fileTypeName,omitempty"`
+	// 【操作类型】操作类型 【作用】 作为消息通知里的操作类型,对应参数${actionTypeName},可自定义传入内容,比如:查看、审批、填参、签署等 【传参】 未传入时默认为“查看”
+	ActionTypeName string `json:"actionTypeName,omitempty"`
+	// 【文件主题】文件主题 【作用】 作为消息通知里的文件主题,对应参数${themeName} 【传参】 未传入时取电子签约的文件主题
+	ThemeName string `json:"themeName,omitempty"`
+	// 【业务系统名称】业务系统名称 【作用】 作为消息通知里的系统名称,用于告知用户登录的系统名称,对应参数${appName},可自定义传入业务系统名称 【传参】 未传入时取电子签章管理后台中配置的电子签章前台系统名称
+	AppName string `json:"appName,omitempty"`
+	// 【是否包含链接地址】是否包含链接地址 【作用】 控制短信模板中是否需包含链接地址 【传参】 取值范围:true(包含链接),false(不含链接);默认为true。
+	ContainsLink *bool `json:"containsLink,omitempty"`
+	// 【链接地址】链接地址 【作用】 作为消息通知里的链接,对应参数${link},可传入用户需访问的链接地址 【传参】 未传入链接取电子签约在电子签章系统前台的访问地址,用户登录后可直接进入查看/审批/签署文件 【特殊说明】 仅使用自主短信通道时,支持传入link参数
+	Link string `json:"link,omitempty"`
+}

+ 20 - 0
model/common/CBAction.go

@@ -0,0 +1,20 @@
+package common
+
+
+// 【签署节点】签署节点 【作用】 即组织签署方下可设置不同的签署节点进行签署,如个人签署、个人审批 【特殊说明】 个人签署节点可同时签署个人签名和单位印章(但都是以该节点签署人个人名义签署)
+type CbAction struct {
+	// <ext>core:true</ext> 【签署节点类型 】签署节点类型  【作用】 1、个人签署:节点签署人可使用个人签名和单位印章图片进行签署 2、个人审批:用印流程若设置了审批节点,业务系统若也有审批,可通过此参数,同步将电子签章系统中的审批节点同步审批完成 3、个人审查:用户需审阅查看确认文件,无需签署 【传参】 取值范围:PERSONAL(个人签署),AUDIT(个人审批) ,REVIEW(个人审查)  【特殊说明】 Docusign支持:个人签署、个人审查  Adobesign支持:个人签署、个人审批 
+	Type_ string `json:"type"`
+	// <ext>core:true</ext> 【签署节点名称】签署节点名称 【作用】 可自定义签署节点名称,不传值将使用节点类型作为节点名称。如组织签章节点,可自定义命名为公司盖章
+	Name string `json:"name,omitempty"`
+	// <ext>core:true</ext> 【签署节点编号】签署节点编号 【作用】 可传入业务系统自行定义的签署节点的唯一编号,方便后续通过此参数定位签署节点,一个签署方下每个签署节点的编号不允许重复
+	ActionNo string `json:"actionNo,omitempty"`
+	// <ext>core:true</ext> 【签署节点签署顺序】签署节点签署顺序 【传参】 1、如果想按顺序签署,可分别设置签署动作的serialNo为1,2,3; 2、目前暂不支持无序签署 【特殊说明】 1、用印流程的签署方为非预设,或预设但允许发起时添加/删除预设签署方,则此参数传入的签署顺序生效 2、用印流程为预设且不允许发起时添加/删除预设的签署方,则签署节点将按照用印流程中预设的顺序依次匹配,传入的签署顺序将无效,如节点类型与预设不一致将报错
+	SerialNo *int64 `json:"serialNo,omitempty"`
+	// <ext>core:true</ext> 【签署人】签署人 【作用】 指定签署节点的签署人,例如审批节点的审批人、签署节点的签署人 【传参】 1、邮箱和成员编号必传其一,均传入以邮箱为准。 2、若用户不存在时,则使用传入的参数创建用户。 【特殊说明】 若通过成员编号查询到用户未绑定邮箱,则会报错
+	ActionOperators []CbActionOperator `json:"actionOperators,omitempty"`
+	// <ext>core:true</ext> 【签署位置】签署位置
+	Locations []CbSignatoryRect `json:"locations,omitempty"`
+	// <ext>core:true</ext> 【消息提醒】消息提醒 【作用】 轮到当前签署节点签署时,该节点所有签署人是否发送消息通知(若签署人有手机号则发送短信通知,若有邮箱则发送邮件通知,若均有则均发送) 【传参】 1、取值范围:true(发送),false(不发送);不传值默认为:true(发送)。 2、当用印流程配置不发送消息提醒时,该参数无效,将不会发送消息提醒。
+	Remind *bool `json:"remind,omitempty"`
+}

+ 11 - 0
model/common/CBActionOperator.go

@@ -0,0 +1,11 @@
+package common
+
+
+type CbActionOperator struct {
+	// <ext>core:true</ext> 【姓名】姓名 【作用】 当签署人不存在时,将创建新用户并以该参数作为用户姓名;若签署人账号已存在,该参数传参无效。
+	OperatorName string `json:"operatorName,omitempty"`
+	// <ext>core:true</ext> 【联系方式】联系方式 【传参】 1、可传入用户手机号或者邮箱。 2、手机号允许使用大陆、港澳台、国际手机号,手机号格式为:区号+空格+手机号,例:852 9xxxxxxx ,大陆手机号可以不传区号。 3、邮箱需传入符合格式的字符串,例:xxxxxxxx@163.com。
+	OperatorContact string `json:"operatorContact,omitempty"`
+	// <ext>core:true</ext> 【成员编号】成员编号
+	OperatorNumber string `json:"operatorNumber,omitempty"`
+}

+ 13 - 0
model/common/CBContractTransmitItem.go

@@ -0,0 +1,13 @@
+package common
+
+
+type CbContractTransmitItem struct {
+	// <ext>core:true;format:string;deprecated:false</ext> 【用户姓名 】用户姓名
+	ReceiverName string `json:"receiverName,omitempty"`
+	// <ext>core:true;deprecated:false</ext> 【联系方式】联系方式 【传参】 1、可传入用户手机号或者邮箱。 2、手机号允许使用大陆、港澳台、国际手机号,手机号格式为:区号+空格+手机号,例:852 9xxxxxxx ,大陆手机号可以不传区号。 3、邮箱需传入符合格式的字符串,例:xxxxxxxx@163.com。
+	ReceiverMobile string `json:"receiverMobile,omitempty"`
+	// <ext>core:true;format:string;deprecated:false</ext> 【成员编号】成员编号  
+	Number string `json:"number,omitempty"`
+	// <ext>core:true;format:string;deprecated:false</ext> 【登录账号】登录账号 
+	AccountNo string `json:"accountNo,omitempty"`
+}

+ 12 - 0
model/common/CBCustomizeFiled.go

@@ -0,0 +1,12 @@
+package common
+
+
+// 自定义字段
+type CbCustomizeFiled struct {
+	// <ext>core:true</ext> 【自定义字段名称】自定义字段名称 【作用】 通过自定义字段名称确定自定义字段 【传参】 字段名称、key值必传其一,均传入以字段名称为准
+	Name string `json:"name,omitempty"`
+	// <ext>core:true</ext> 【自定义字段key值】自定义字段key值 【作用】 通过自定义字段key值确定自定义字段 【传参】 字段名称、key值必传其一,均传入以字段名称为准
+	Key string `json:"key,omitempty"`
+	// <ext>core:true</ext> 【自定义字段值】自定义字段值 【作用】 传入自定义字段的填写值,字段格式需与该字段的类型和格式要求一致 【传参】 1、文本类型:请传入具体的文本内容。 2、单选类型:例如可选项为“保密”、“非保密”,可传入“保密”。 3、多选类型:传入多个时使用“;”间隔。例如,配置了可选项为“保密”、“非保密”,可传入“保密;非保密”。 4、数值类型:仅可传入数值,如:123。 5、日期类型:请传入日期字段要求的日期格式。如日期格式为2023-09-23,则需传入2023-09-23。
+	Value string `json:"value,omitempty"`
+}

Fichier diff supprimé car celui-ci est trop grand
+ 6 - 0
model/common/CBDocumentParam.go


+ 35 - 0
model/common/CBSignatory.go

@@ -0,0 +1,35 @@
+package common
+
+
+type CbSignatory struct {
+	// <ext>core:true</ext> 【签署方类型】签署方类型 【传参】 取值范围:COMPANY(组织),PERSONAL(个人)。 
+	TenantType string `json:"tenantType"`
+	// <ext>core:true</ext> 【签署方名称】签署方名称 【传参】 1、组织签署方需传入工商营业执照上的真实单位名称;个人签署方传入个人真实姓名。 2、最大长度:200(包含)。
+	TenantName string `json:"tenantName"`
+	// <ext>core:true</ext> 【经办人姓名】经办人姓名 【作用】 1、指定组织签署方的经办人姓名。 2、个人签署方无需传入该参数,将使用tenantName作为签署方姓名。
+	ReceiverName string `json:"receiverName,omitempty"`
+	// <ext>core:true</ext> 【经办人联系方式】经办人联系方式 【作用】 用于查询用户,作为内部组织签署方的经办人或个人签署方 【传参】 1、可传入用户手机号或者邮箱(个人签署方仅支持传入邮箱) 2、手机号允许使用大陆、港澳台、国际手机号,手机号格式为:区号+空格+手机号,例:852 9xxxxxxx ,大陆手机号可以不传区号。 3、邮箱需传入符合格式的字符串,例:xxxxxxxx@163.com。 4、传入该参数查询用户时,若用户不存在时,则使用传入的联系方式创建新用户,并将该用户加入组织。
+	Contact string `json:"contact,omitempty"`
+	// <ext>core:true</ext> 【经办人成员编号】经办人成员编号 【传参】 1、当未传入联系方式时,可使用成员编号、第三方业务系统用户id查询用户,作为内部组织签署方的经办人,或个人签署方。 2、成员编号、第三方业务系统用户id均传入时,以成员编号为准。 3、若使用成员编号查询用户,若用户不存在,则将使用传入的成员编号创建新用户,并将该用户加入组织。若查询的用户未绑定邮箱,则报错。
+	ReceiverNumber string `json:"receiverNumber,omitempty"`
+	// <ext>core:true</ext> 【经办人第三方业务系统用户id】经办人第三方业务系统用户id 【作用】 1、当未传入联系方式时,可使用成员编号、第三方业务系统用户id查询用户,作为组织签署方的经办人,或个人签署方。 2、成员编号、第三方业务系统用户id均传入时,以成员编号为准。 3、使用该参数查询用户,若用户不存在或用户未绑定邮箱时,将会报错提示。
+	OpenUserId string `json:"openUserId,omitempty"`
+	// <ext>core:true</ext> 【业务系统标识】业务系统标识 【作用】 1:根据第三方业务系统用户id查询系统成员/用户信息时使用 2:涉及到多套业务系统集成且不同系统间第三方业务系统用户id可能重复时需要传入该参数
+	SystemCode string `json:"systemCode,omitempty"`
+	// <ext>core:true;format:email;deprecated:true</ext> 【经办人邮箱】经办人邮箱 【作用】 当传入contact且传参为手机号时,若该接收人未绑定邮箱,可传入该参数为接收人绑定邮箱。
+	Email string `json:"email,omitempty"`
+	// <ext>core:true</ext> 【签署方编号】签署方编号  【作用】 支持业务系统传入签署方唯一标识,方便后续通过此唯一标识定位签署方,一份电子签约文件中每个签署方的编号不允许重复。
+	SignatoryNo string `json:"signatoryNo,omitempty"`
+	// <ext>core:true;format:number</ext> 【签署方签署顺序】签署方签署顺序 【传参】 1、需按顺序签署,可分别设置签署方的serialNo为1,2,3; 2、目前暂不支持无序签署 3、签署方传入了签署顺序,以传入的为准,未传入顺序的签署方将按添加的顺序生成serialNo,例如有3个签署方,则按添加顺序将serialNo设置为1,2,3 【特殊说明】 1、用印流程的签署方为非预设,或预设但允许发起时添加/删除预设签署方,则此参数传入的签署顺序生效 2、用印流程中预设了签署方且不允许发起时添加/删除预设签署方,则传入的签署方顺序将无效,将按照用印流程中预设顺序进行签署
+	SerialNo *int64 `json:"serialNo"`
+	// <ext>core:true</ext> 【文件查看密码】文件查看密码 【作用】 1、签署用户收到待签文件,需输入此处设置的密码才可查看并签署文件 2、仅针对个人签署方生效 【传参】 6~20位字符
+	AdobeSignPassword string `json:"adobeSignPassword,omitempty"`
+	// <ext>core:true</ext> 【签署节点】签署节点 【作用】 即组织签署方下可设置不同的签署节点进行签署,如个人签署、个人审批 【特殊说明】 个人签署节点可同时签署个人签名和单位印章(但都是以该节点签署人个人名义签署)
+	Actions []CbAction `json:"actions,omitempty"`
+	// 【消息提醒】消息提醒 【作用】 轮到该签署方签署时,该签署方下所有签署人是否发送消息通知 【传参】 1、取值范围:true(发送),false(不发送);不传值默认为:true(发送)。 2、若用印流程中关闭消息通知,则该参数传参无效,将不发送消息通知
+	Remind *bool `json:"remind,omitempty"`
+	// 【签署方语言】签署方语言 【作用】 指定签署方登录系统时,默认的系统页面语言环境 【传参】 取值范围:zh_CN(中文),en_US(英文);不传值默认为:zh_CN(中文)。
+	Language string `json:"language,omitempty"`
+	// 【是否添加员工】是否添加员工 【作用】 内部组织签署方中传入未加入组织经办人或签署节点的签署人时,是否加入对应的签署方所在法人单位 【传参】 取值范围:true(添加),false(不添加);不传值默认为:true(添加)。
+	AddEmployee *bool `json:"addEmployee,omitempty"`
+}

+ 24 - 0
model/common/CBSignatoryRect.go

@@ -0,0 +1,24 @@
+package common
+
+
+// 【签署位置】签署位置 【作用】 指定签署动作的签署位置 【传参方式】 签署位置有以下两种表现方式:   1、用关键字确定坐标: keyword:关键字。  keywordIndex:第几个关键字,0:全部,-1:最后一个,其他:第keyIndex个,默认为1。  关键字处于实际印章位置y轴中央。  offsetX:横坐标偏移量;默认为0,取值范围是(-1, 1)。  offsetY:纵坐标偏移量;默认为0,取值范围是(-1, 1)。  找到实际印章位置的坐标(x, y),再加上偏移量(offsetX, offsetY),最终得到的坐标是(x+offsetX, y+offsetY),如果实际印章位置超出纸张边缘,会适当偏移位置。  偏移量的坐标原点是实际印章位置的坐标(x, y)的左下角。   2、直接确定坐标: page:印章所在页码;从1开始。  offsetX:横坐标;默认电子签约页的宽为1,所以取值范围是(0, 1)。  offsetY:纵坐标;默认电子签约页的高为1,所以取值范围是(0, 1)。  由page确定页码,由(offsetX, offsetY)确定坐标。  坐标原点是电子签约页的左下角,坐标是指印章图片的左下角的坐标。
+type CbSignatoryRect struct {
+	// <ext>core:true</ext> 【签署位置类型】签署位置类型 【传参】 取值范围:ADOBE_SIGNATURE(电子签名),INLINE_IMAGE(图章),DIGITAL_SIGNATURE(数字签名),ADOBE_TIMESTAMP(时间戳),SEAL_PERSONAL_FULL_NAME(全名信息),SEAL_JOB_POSITION(职务信息)。 【特殊说明】 1、电子签名:签署人可在邮箱中收到adobe发送的签署通知。用户点击链接即可添加签名/印章,使用签名Adobe平台颁发的证书进行签署 2、数字签名:签署人可在邮箱中收到adobe发送的签署通知。用户点击链接即可添加签名/印章,使用信任服务提供商(TSP)/如证书颁发机构(CA)颁发的数字证书进行签署 3、用印流程配置不允许添加日期,则传入的时间戳无效
+	RectType string `json:"rectType"`
+	// <ext>core:true</ext> 【X轴坐标】X轴坐标 【作用】 通过坐标指定签署位置时,以页面左下角为原点,页面宽度为1,通过比例定位签署位置左下角所在的横向位置 【传参】 1、坐标定位时必传 2、最小值:-1(不包含),最大值:1(不包含);不传值默认为:0。
+	OffsetX *float64 `json:"offsetX,omitempty"`
+	// <ext>core:true</ext> 【Y轴坐标】Y轴坐标 【作用】 通过坐标指定签署位置时,以页面左下角为原点,页面高度为1,通过比例定位签署位置左下角所在的纵向位置。 【传参】 1、坐标定位时必传。 2、最小值:-1(不包含),最大值:1(不包含);不传值默认为:0。
+	OffsetY *float64 `json:"offsetY,omitempty"`
+	// <ext>core:true</ext> 【签署页码】签署页码 【作用】 指定签署位置所在的文件页码 【传参】 1、使用坐标指定位置时必须传入。 2、0:全部页,-1:最后一页,其他:第page页(例如:第7页,则传入7)。
+	Page *int64 `json:"page,omitempty"`
+	// <ext>core:true</ext> 【签署位置宽度】签署位置宽度 【作用】 设置签署位置的宽度,防止用户在文件上添加的签名过大或过小 【传参】 1、支持个人签署、时间戳位置, 2、仅传宽度时,高度按比例适配,两者均传参以宽度为准 3、最小值:10(包含),最大值:120(包含);不传值默认为:系统默认大小。
+	Width *float64 `json:"width,omitempty"`
+	// <ext>core:true</ext> 【签署位置高度】签署位置高度 【作用】 设置签署位置的高度,防止用户在文件添加的签名过大或过小 【传参】 1、支持个人签署、时间戳位置 2、仅传宽度时,高度按比例适配,两者均传参以宽度为准 3、最小值:4(包含),最大值:48(包含);不传值默认为:系统默认大小。
+	Height *float64 `json:"height,omitempty"`
+	// <ext>core:true;format:string</ext> 【签署文档id】签署文档id 【作用】 用于指定签署位置所在的签署文档 【传参】 不传入documentid(签署文档id)、documentids(签署文档id集合)、templates(文件模板id集合)时,签署位置默认对全部签署文档生效
+	DocumentId *int64 `json:"documentId,omitempty"`
+	// <ext>core:true;format:string</ext> 【签署文档id集合】签署文档id集合 【作用】 用于指定签署位置所在的签署文档 【传参】 1、格式:[123123123213,123213213213] 2、不传入documentid(签署文档id)、documentids(签署文档id集合)、templates(文件模板id集合)时,签署位置默认对全部签署文档生效
+	DocumentIds []int64 `json:"documentIds,omitempty"`
+	// <ext>core:true;format:string</ext> 【文件模板id】文件模板id 【作用】 用印流程绑定文件模板时,支持传入模板id用于指定签署位置 【传参】 1、传入多个模板id时,使用“,”间隔,示例:[123123123213,123213213213] 2、不传入documentid(签署文档id)、documentids(签署文档id集合)、templates(文件模板id集合)时,签署位置默认对全部签署文档生效
+	Templates []int64 `json:"templates,omitempty"`
+}

+ 26 - 0
model/common/CategoryActionResponse.go

@@ -0,0 +1,26 @@
+package common
+
+
+// 【签署动作】签署动作
+type CategoryActionResponse struct {
+	// 【签署动作类型】签署动作类型 CORPORATE(法人单位签章),PERSONAL(个人签字),LP(法定代表人签字),AUDIT(审批),COUNTERSIGN(\"会签签章\")
+	Type_ string `json:"type"`
+	// 【会签动作】会签动作
+	Childs []*CategoryActionResponse `json:"childs,omitempty"`
+	// 【签署动作名称】
+	Name string `json:"name"`
+	// 【签署顺序】签署顺序
+	SerialNo *int64 `json:"serialNo"`
+	// 【印章ID】印章ID
+	SealId *int64 `json:"sealId,omitempty"`
+	// 【指定印章类型名称】指定印章类型名称
+	SealCategoryName string `json:"sealCategoryName,omitempty"`
+	// 【印章所属组织ID】印章所属组织ID
+	SealOwner *int64 `json:"sealOwner,omitempty"`
+	// 【签章所属组织名称】签章所属组织名称
+	SealOwnerName string `json:"sealOwnerName"`
+	// 【是否自动签署】是否自动签署
+	AutoSign *bool `json:"autoSign,omitempty"`
+	// 【签署人】签署人
+	ActionOperators []*UserResponse `json:"actionOperators"`
+}

+ 18 - 0
model/common/CategoryDetailCompanyResponse.go

@@ -0,0 +1,18 @@
+package common
+
+
+// 用印流程公司信息
+type CategoryDetailCompanyResponse struct {
+	// 【公司ID】公司ID
+	Id string `json:"id"`
+	// 【公司名称】公司名称
+	Name string `json:"name"`
+	// 【公司代码】公司代码
+	RegisterNo string `json:"registerNo"`
+	// 【公司类型】公司类型 CORPORATE(平台方),COMPANY(外部法人单位),INNER_COMPANY(内部法人单位)
+	TenantType string `json:"tenantType"`
+	// 【公司状态】公司状态 UNREGISTERED(未注册),REGISTERED(已注册),CERTIFYING(认证中),AUTH_SUCCESS(认证完成),AUTH_FAILURE(认证失败)
+	Status string `json:"status"`
+	// 【创建时间】创建时间 格式:yyyy-MM-dd HH:mm:ss
+	CreateTime string `json:"createTime"`
+}

+ 24 - 0
model/common/CategoryDetailResponse.go

@@ -0,0 +1,24 @@
+package common
+
+
+// 响应结果
+type CategoryDetailResponse struct {
+	// 【用印流程id】用印流程id
+	Id string `json:"id"`
+	// 【用印流程名称】用印流程名称
+	Name string `json:"name"`
+	// 【用印流程创建时间】用印流程创建时间
+	CreateTime string `json:"createTime"`
+	// 【是否为默认用印流程】是否为默认用印流程
+	Primary *bool `json:"primary"`
+	// 【流程状态】流程状态 0(启用), 1(停用)
+	State *int64 `json:"state"`
+	// 【用印流程模板信息】用印流程模板信息
+	Templates []*TemplateResponse `json:"templates,omitempty"`
+	// 【用印流程公司信息】用印流程公司信息
+	Sponsors []*CategoryDetailCompanyResponse `json:"sponsors,omitempty"`
+	// 【用印流程拟定方信息】用印流程拟定方信息
+	FillSignatories []*FillSignatoryResponse `json:"fillSignatories,omitempty"`
+	// 【用印流程签署方信息】用印流程签署方信息
+	Signatories []*SignatoryResponse `json:"signatories,omitempty"`
+}

+ 16 - 0
model/common/CategoryFillActionResponse.go

@@ -0,0 +1,16 @@
+package common
+
+
+// 【拟定动作】拟定动作
+type CategoryFillActionResponse struct {
+	// 【拟定动作类型】拟定动作类型 FILL(个人拟定),AUDIT(审批),COUNTERSIGN(\"会签签章\")
+	Type_ string `json:"type"`
+	// 【会签动作】会签动作
+	Childs []*CategoryFillActionResponse `json:"childs,omitempty"`
+	// 【拟定动作名称】
+	Name string `json:"name"`
+	// 【拟定顺序】拟定顺序
+	SerialNo *int64 `json:"serialNo"`
+	// 【拟定人】拟定人
+	ActionOperators []*UserResponse `json:"actionOperators"`
+}

+ 17 - 0
model/common/CategoryGroupResponse.go

@@ -0,0 +1,17 @@
+package common
+
+
+type CategoryGroupResponse struct {
+	// 【分组id】分组id
+	Id string `json:"id"`
+	// 【分组名称】分组名称
+	Name string `json:"name"`
+	// 【分组所属层级】分组所属层级,0为顶级,依次类推
+	Level *int64 `json:"level"`
+	// 【分组创建时间】分组创建时间
+	CreateTime string `json:"createTime"`
+	// 【子分组】子分组
+	Children []*CategoryGroupResponse `json:"children,omitempty"`
+	// 【用印流程列表】用印流程列表
+	CategoryList []*CategoryResponse `json:"categoryList,omitempty"`
+}

+ 9 - 0
model/common/CategoryInfo.go

@@ -0,0 +1,9 @@
+package common
+
+
+type CategoryInfo struct {
+	// <ext>core:true;format:string</ext> 【用印流程id】用印流程id 【作用】 1、实际签署过程中,存在不同类型的文件签署流程,比如采购(企业与企业进行签署)、人事(企业与个人进行签署) 2、可在电子签章前台中根据实际的签署场景提前搭建不同的用印流程,用印流程中支持提前设置好签署方、签署顺序及流程、签署文件、指定签署位置等等 3、发起文件时,需选择使用的用印流程,此参数可传入用印流程id查询 【传参】 1、内部单位必须传入用印流程发起,外部单位无用印流程功能因此可不传入(如内部单位的用印流程配置为外部单位可发起,可传入用印流程)。 2、用印流程id和用印流程名称必传其一,均传入以用印流程id为准。
+	CategoryId *int64 `json:"categoryId,omitempty"`
+	// <ext>core:true</ext> 【用印流程名称】用印流程名称 【作用】 传入用印流程名称查询本次发起的电子签约文件所使用的用印流程 【传参】 用印流程id和用印流程名称必传其一,均传入以用印流程id为准。
+	CategoryName string `json:"categoryName,omitempty"`
+}

Certains fichiers n'ont pas été affichés car il y a eu trop de fichiers modifiés dans ce diff