add
This commit is contained in:
@@ -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)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user