This commit is contained in:
Mrx
2026-05-16 18:29:43 +08:00
parent a81f5198e3
commit c229ea2d5a
4 changed files with 239 additions and 4 deletions

View File

@@ -39,15 +39,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,
}
}
@@ -217,7 +219,7 @@ var requestProcessors = map[string]func(*ApiRequestService, []byte) ([]byte, err
"QCXG5F3A": (*ApiRequestService).ProcessQCXG5F3ARequest,
"FLXG0687": (*ApiRequestService).ProcessFLXG0687Request,
"FLXG3D56": (*ApiRequestService).ProcessFLXG3D56Request,
"FLXG0V4B": (*ApiRequestService).ProcesFLXG0V4BRequest,
"FLXG0V4B": (*ApiRequestService).ProcessFLXG0V4BRequest,
"QYGL8271": (*ApiRequestService).ProcessQYGL8271Request,
"IVYZ5733": (*ApiRequestService).ProcessIVYZ5733Request,
"IVYZ9A2B": (*ApiRequestService).ProcessIVYZ9A2BRequest,
@@ -270,6 +272,7 @@ var requestProcessors = map[string]func(*ApiRequestService, []byte) ([]byte, err
"FLXG3A9B": (*ApiRequestService).ProcessFLXG3A9BRequest,
"QYGL2S0W": (*ApiRequestService).ProcessQYGL2S0WRequest,
"FLXGDEA9": (*ApiRequestService).ProcessFLXGDEA9Request,
"IVYZ4Y27": (*ApiRequestService).ProcessIVYZ4Y27Request,
}
// PreprocessRequestApi 调用指定的请求处理函数
@@ -1927,3 +1930,35 @@ func (a *ApiRequestService) ProcessQCXG9P1CFRequest(params []byte) ([]byte, erro
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")
mobile := gjson.GetBytes(params, "mobile")
if !name.Exists() || !idCard.Exists() {
return nil, errors.New("api请求, IVYZ4Y27, 获取相关参数失败")
}
// 生成专用授权书PDF并Base64编码
userInfo := map[string]interface{}{
"name": name.String(),
"id_card": idCard.String(),
"mobile": mobile.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)
}