41 lines
1.2 KiB
Go
41 lines
1.2 KiB
Go
package utils
|
||
|
||
// TranslateErrorMsg 翻译错误信息
|
||
func TranslateErrorMsg(errorType, errorMsg *string) *string {
|
||
if errorType == nil || errorMsg == nil {
|
||
return nil
|
||
}
|
||
|
||
// 错误类型到中文描述的映射
|
||
errorTypeTranslations := map[string]string{
|
||
"invalid_access": "无效的访问凭证",
|
||
"frozen_account": "账户已被冻结",
|
||
"invalid_ip": "IP地址未授权",
|
||
"arrears": "账户余额不足",
|
||
"not_subscribed": "未订阅该产品",
|
||
"product_not_found": "产品不存在",
|
||
"product_disabled": "产品已停用",
|
||
"system_error": "接口异常",
|
||
"datasource_error": "数据源异常",
|
||
"invalid_param": "参数校验失败",
|
||
"decrypt_fail": "参数解密失败",
|
||
"query_empty": "查询结果为空",
|
||
}
|
||
|
||
// 获取错误类型的中文描述
|
||
translatedType, exists := errorTypeTranslations[*errorType]
|
||
if !exists {
|
||
// 如果没有找到对应的翻译,返回原始错误信息
|
||
return errorMsg
|
||
}
|
||
|
||
// 构建翻译后的错误信息
|
||
translatedMsg := translatedType
|
||
if *errorMsg != "" && *errorMsg != *errorType {
|
||
// 如果原始错误信息不是错误类型本身,则组合显示
|
||
translatedMsg = translatedType + ":" + *errorMsg
|
||
}
|
||
|
||
return &translatedMsg
|
||
}
|