This commit is contained in:
2026-05-01 14:09:45 +08:00
parent 5973457bd8
commit 3da5e13db4
4 changed files with 269 additions and 3 deletions

View File

@@ -37,15 +37,17 @@ type ApiRequestService struct {
featureModel model.FeatureModel
productFeatureModel model.ProductFeatureModel
tianyuanapi *tianyuanapi.Client
authService *AuthorizationService
}
// NewApiRequestService 是一个构造函数,用于初始化 ApiRequestService
func NewApiRequestService(c config.Config, featureModel model.FeatureModel, productFeatureModel model.ProductFeatureModel, tianyuanapi *tianyuanapi.Client) *ApiRequestService {
func NewApiRequestService(c config.Config, featureModel model.FeatureModel, productFeatureModel model.ProductFeatureModel, tianyuanapi *tianyuanapi.Client, authService *AuthorizationService) *ApiRequestService {
return &ApiRequestService{
config: c,
featureModel: featureModel,
productFeatureModel: productFeatureModel,
tianyuanapi: tianyuanapi,
authService: authService,
}
}
@@ -196,6 +198,7 @@ var requestProcessors = map[string]func(*ApiRequestService, []byte) ([]byte, err
"IVYZ7F3A": (*ApiRequestService).ProcessIVYZ7F3ARequest,
"IVYZ3P9M": (*ApiRequestService).ProcessIVYZ3P9MRequest,
"FLXG7E8F": (*ApiRequestService).ProcessFLXG7E8FRequest,
"IVYZ4Y27": (*ApiRequestService).ProcessIVYZ4Y27Request,
}
// PreprocessRequestApi 调用指定的请求处理函数
@@ -1456,3 +1459,33 @@ func (a *ApiRequestService) ProcessFLXG7E8FRequest(params []byte) ([]byte, error
return convertTianyuanResponse(resp)
}
// ProcessIVYZ4Y27Request 学历信息查询需生成专用授权书PDF并Base64编码传入
func (a *ApiRequestService) ProcessIVYZ4Y27Request(params []byte) ([]byte, error) {
name := gjson.GetBytes(params, "name")
idCard := gjson.GetBytes(params, "id_card")
if !name.Exists() || !idCard.Exists() {
return nil, errors.New("api请求, IVYZ4Y27, 获取相关参数失败")
}
// 生成专用授权书PDF并Base64编码
userInfo := map[string]interface{}{
"name": name.String(),
"id_card": idCard.String(),
}
authFileBase64, err := a.authService.GenerateIVYZ4Y27AuthorizationBase64(userInfo)
if err != nil {
return nil, fmt.Errorf("生成IVYZ4Y27授权书失败: %v", err)
}
resp, err := a.tianyuanapi.CallInterface("IVYZ4Y27", map[string]interface{}{
"name": name.String(),
"id_card": idCard.String(),
"auth_authorize_file_base64": authFileBase64,
})
if err != nil {
return nil, err
}
return convertTianyuanResponse(resp)
}