diff --git a/apps/api/internal/service/west_dex_service.go b/apps/api/internal/service/west_dex_service.go index d0c4547..b27b3c7 100644 --- a/apps/api/internal/service/west_dex_service.go +++ b/apps/api/internal/service/west_dex_service.go @@ -94,25 +94,35 @@ func (w *WestDexService) CallAPI(code string, reqData map[string]interface{}) (r logx.Infof("西部请求响应%+v", westDexResp) logx.Infof("西部流水号: %s", westDexResp.ID) + + if westDexResp.Code != "00000" { + if westDexResp.Code == "-1" { + if westDexResp.Data == "" { + logx.Errorf("【西部数据请求】业务失败时响应数据为空: %s %s", westDexResp.Message, westDexResp.Reason) + return nil, errs.ErrSystem + } + decryptedData, DecryptErr := crypto.WestDexDecrypt(westDexResp.Data, w.config.Key) + if DecryptErr != nil { + logx.Errorf("【西部数据请求】响应数据解密错误: %v", DecryptErr) + return nil, errs.ErrSystem + } + logx.Errorf("【西部数据请求】响应数据业务异常: %s %s %s", westDexResp.Message, westDexResp.Reason, string(decryptedData)) + return decryptedData, errs.ErrDataSource + } else { + logx.Errorf("【西部数据请求】响应数据异常: %s %s", westDexResp.Message, westDexResp.Reason) + return nil, errs.ErrSystem + } + } + if westDexResp.Data == "" { + logx.Errorf("【西部数据请求】响应Data字段数据为空") + return nil, errs.ErrSystem + } // 解密响应数据 decryptedData, DecryptErr := crypto.WestDexDecrypt(westDexResp.Data, w.config.Key) if DecryptErr != nil { logx.Errorf("【西部数据请求】响应数据解密错误: %v", DecryptErr) return nil, errs.ErrSystem } - logx.Infof("西部请求响应Code:%s", westDexResp.Code) - if westDexResp.Code != "00000" { - logx.Infof("到这1") - if westDexResp.Code == "-1" { - logx.Infof("到这2") - logx.Errorf("【西部数据请求】响应数据业务异常: %s %s %s", westDexResp.Message, westDexResp.Reason, string(decryptedData)) - return decryptedData, errs.ErrDataSource - } else { - logx.Infof("到这3") - logx.Errorf("【西部数据请求】响应数据异常: %s %s %s", westDexResp.Message, westDexResp.Reason, string(decryptedData)) - return nil, errs.ErrSystem - } - } // 输出解密后的数据 return decryptedData, nil }