Files
tyapi-server/internal/shared/esign/org_identity.go
2025-07-20 20:53:26 +08:00

64 lines
1.8 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package esign
import (
"fmt"
"net/url"
"strings"
)
// QueryOrgIdentityInfo 查询机构认证信息
// 根据orgId、orgName或orgIDCardNum查询机构实名认证信息
func (s *OrgAuthService) QueryOrgIdentityInfo(req *QueryOrgIdentityRequest) (*QueryOrgIdentityResponse, error) {
// 构建查询参数
params := url.Values{}
if req.OrgID != "" {
params.Add("orgId", req.OrgID)
} else if req.OrgName != "" {
params.Add("orgName", req.OrgName)
} else if req.OrgIDCardNum != "" {
params.Add("orgIDCardNum", req.OrgIDCardNum)
if req.OrgIDCardType != "" {
params.Add("orgIDCardType", string(req.OrgIDCardType))
}
} else {
return nil, fmt.Errorf("至少提供orgId, orgName或orgIDCardNum之一")
}
// 构建urlPath带query - 不使用URL编码保持原始参数值
urlPath := "/v3/organizations/identity-info"
if len(params) > 0 {
var queryParts []string
for key, values := range params {
for _, value := range values {
queryParts = append(queryParts, key+"="+value)
}
}
urlPath += "?" + strings.Join(queryParts, "&")
}
// 发送API请求
responseBody, err := s.httpClient.Request("GET", urlPath, nil)
if err != nil {
return nil, fmt.Errorf("查询机构认证信息失败: %v", err)
}
// 解析响应
var response QueryOrgIdentityResponse
if err := UnmarshalResponse(responseBody, &response); err != nil {
return nil, err
}
if err := CheckResponseCode(int(response.Code), response.Message); err != nil {
return nil, err
}
fmt.Printf("查询机构认证信息成功!\n")
return &response, nil
}
// QueryOrgIdentityInfo 查询机构认证信息(客户端方法)
// 通过Client提供的便捷方法
func (c *Client) QueryOrgIdentityInfo(req *QueryOrgIdentityRequest) (*QueryOrgIdentityResponse, error) {
return c.orgAuth.QueryOrgIdentityInfo(req)
}