This commit is contained in:
2026-06-22 12:06:16 +08:00
parent e2b224e993
commit 4b38840fd7

View File

@@ -1,45 +1,25 @@
package ivyz package ivyz
import ( import (
"fmt"
"strconv" "strconv"
) )
// mapNuoerKunyuFixToResponse 将 nuoer 响应2json.md转为对外结构1json.md // mapNuoerKunyuFixToResponse 将 nuoer 响应2json.md转为对外结构1json.md
// 解包 result将 score 映射为 scoreafywbase。 // 解包 result千分制 score 映射为百分制 scoreafywbase。
func mapNuoerKunyuFixToResponse(data map[string]interface{}) map[string]interface{} { func mapNuoerKunyuFixToResponse(data map[string]interface{}) map[string]interface{} {
scoreYwBase, ok := extractRax1Score(data)
score := "" score := ""
if data != nil { if ok {
payload := data score = mapScoreYwBaseToPercent(scoreYwBase)
if result, ok := data["result"].(map[string]interface{}); ok {
payload = result
}
if raw, ok := payload["score"]; ok && raw != nil {
score = stringifyKunyuFixScore(raw)
}
} }
return map[string]interface{}{ return map[string]interface{}{
"scoreafywbase": score, "scoreafywbase": score,
} }
} }
func stringifyKunyuFixScore(v interface{}) string { // mapScoreYwBaseToPercent 千分制 scoreywbase 转百分制 scoreafywbase。
if v == nil { // 与 mapRax1ScoreToScoreYwBase 互逆percent = (984 - scoreYwBase) / 6.32。
return "" func mapScoreYwBaseToPercent(scoreYwBase float64) string {
} percent := (rax1ScoreYwBaseIntercept - scoreYwBase) / rax1ScoreYwBaseSlope
switch val := v.(type) { return strconv.FormatFloat(percent, 'f', 2, 64)
case string:
return val
case float64:
if val == float64(int64(val)) {
return strconv.FormatInt(int64(val), 10)
}
return strconv.FormatFloat(val, 'f', -1, 64)
case int:
return strconv.Itoa(val)
case int64:
return strconv.FormatInt(val, 10)
default:
return fmt.Sprint(val)
}
} }