Files
slogan/server/styleagent/agent/scoring_weather_rule.go
T
admin a6de9ebd12 Add 'server/' from commit 'e64421295fff83acbb6d6ab3d3b27f3ef8368f00'
git-subtree-dir: server
git-subtree-mainline: c4e617ada7
git-subtree-split: e64421295f
2026-08-04 15:02:35 +08:00

37 lines
815 B
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package agent
// weatherScore 天气适宜度(25 分制)
// 温度匹配每件服装季节 +5;<10℃ 无外套 -10>30℃ 有外套 -8
func weatherScore(o CandidateOutfit, ctx ScoreContext) int {
score := 0
for _, it := range o.Items {
switch {
case ctx.TempAvg >= 28 && it.Season == "夏":
score += 5
case ctx.TempAvg >= 18 && ctx.TempAvg < 28 && it.Season == "春":
score += 5
case ctx.TempAvg >= 18 && ctx.TempAvg < 28 && it.Season == "秋":
score += 5
case ctx.TempAvg < 18 && it.Season == "冬":
score += 5
case it.Season == "四季":
score += 4
default:
score += 2
}
}
if ctx.TempAvg < 10 && !o.HasOuterwear {
score -= 10
}
if ctx.TempAvg > 30 && o.HasOuterwear {
score -= 8
}
if score < 0 {
return 0
}
if score > 25 {
return 25
}
return score
}