types.go 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. package qiyuesuosdk
  2. import "time"
  3. // OrgCertParams 机构法人认证页参数;OpenCompanyID 通常等于平台 tenant_id。
  4. type OrgCertParams struct {
  5. CompanyName string
  6. Charger string
  7. Mobile string
  8. OpenCompanyID string
  9. }
  10. // CompanyAuthStatus 法人单位认证状态查询结果。
  11. type CompanyAuthStatus struct {
  12. CompanyName string
  13. RegisterNo string
  14. LegalPerson string
  15. Charger string
  16. Mobile string
  17. AuthEndTime string
  18. Status string // result.status,AUTH_PASSED 表示认证成功
  19. Reason string
  20. }
  21. // CreateUserParams 在契约锁创建内部用户(医生等需个人签名的成员)。
  22. type CreateUserParams struct {
  23. Name string
  24. OpenUserID string
  25. AccountNo string
  26. Password string
  27. Mobile string
  28. }
  29. // UserInfo 契约锁用户基本信息。
  30. type UserInfo struct {
  31. Name string
  32. }
  33. // CompanySealSpec 企业公章关键字签署位置。
  34. type CompanySealSpec struct {
  35. CompanyName string
  36. Keyword string
  37. OffsetX string
  38. OffsetY string
  39. RotateDegree int64
  40. Page string // 空则不限页;双章场景可设 "1"
  41. }
  42. // PersonalSealSpec 个人签名关键字签署位置。
  43. type PersonalSealSpec struct {
  44. OpenUserID string
  45. Keyword string
  46. }
  47. // SignDocumentRequest PDF 静默签章请求(机构章 + 可选个人签)。
  48. type SignDocumentRequest struct {
  49. PDF []byte
  50. Subject string
  51. ProcessID string // 空则使用 Client 初始化时的 SignDefaults
  52. Launcher string
  53. CompanySeal CompanySealSpec
  54. PersonalSeals []PersonalSealSpec
  55. }
  56. // SignDualCompanyRequest 双企业公章签署(如账单合同甲乙双方)。
  57. type SignDualCompanyRequest struct {
  58. PDF []byte
  59. Subject string
  60. ProcessID string
  61. Launcher string
  62. CompanySeals []CompanySealSpec
  63. }
  64. // Callback request / event types — 与契约锁开放平台事件名一致。
  65. const (
  66. EventCompanyAuthSuccess = "COMPANY_AUTH_SUCCESS"
  67. EventCompanySealAuthSuccess = "COMPANY_SIGN_SILENT_AUTH"
  68. EventUserAuthSuccess = "USER_AUTH_SUCCESS"
  69. EventPersonalSealAuthSuccess = "PERSONAL_SIGN_SILENT_AUTH"
  70. EventCallbackCheck = "CALLBACK_CHECK"
  71. )
  72. // CallbackRequest 契约锁 HTTP 回调原始载荷。
  73. type CallbackRequest struct {
  74. Signature string `json:"signature"`
  75. Timestamp string `json:"timestamp"`
  76. Nonce string `json:"nonce"`
  77. Encrypted string `json:"encrypted"`
  78. }
  79. // CallbackEvent 解密验签后的回调事件。
  80. type CallbackEvent struct {
  81. Type EventType
  82. Data any
  83. }
  84. // EventType 回调事件类型。
  85. type EventType string
  86. // CompanyCertificationData 机构认证成功回调。
  87. type CompanyCertificationData struct {
  88. CompanyID string `json:"companyId"`
  89. CompanyName string `json:"companyName"`
  90. OpenCompanyID string `json:"openCompanyId"`
  91. RegisterNo string `json:"registerNo"`
  92. ApplicantName string `json:"applicantName"`
  93. ApplicantPhone string `json:"applicantPhone"`
  94. AuthEndTime string `json:"authEndTime"`
  95. CallbackTime string `json:"callbackTime"`
  96. }
  97. // CompanySealAuthData 机构印章静默授权回调。
  98. type CompanySealAuthData struct {
  99. UserName string `json:"userName"`
  100. UserMobile string `json:"userMobile"`
  101. AuthTime string `json:"authTime"`
  102. Status string `json:"status"`
  103. AuthCompanyID string `json:"authCompanyId"`
  104. AuthCompanyName string `json:"authCompanyName"`
  105. CallbackTime string `json:"callbackTime"`
  106. }
  107. // PersonalSealAuthData 个人签名静默授权回调。
  108. type PersonalSealAuthData struct {
  109. UserName string `json:"userName"`
  110. UserMobile string `json:"userMobile"`
  111. UserEmail string `json:"userEmail"`
  112. UserID string `json:"userId"`
  113. OpenUserID string `json:"openUserId"`
  114. AuthTime string `json:"authTime"`
  115. Status string `json:"status"`
  116. CallbackTime string `json:"callbackTime"`
  117. }
  118. // AuthRecord 静默授权记录摘要。
  119. type AuthRecord struct {
  120. Status string
  121. StartTime string
  122. EndTime string
  123. AuthScope string
  124. }
  125. // DefaultPersonalAuthDuration 个人静默授权默认时长(旧系统 10 个月,避免跨年重叠)。
  126. const DefaultPersonalAuthDuration = 10 * 30 * 24 * time.Hour
  127. // DefaultCompanySealAuthDuration 机构印章静默授权默认时长(旧系统 1 年)。
  128. const DefaultCompanySealAuthDuration = 365 * 24 * time.Hour