feat(cultivate-flower): 新增等待时长字段并更新阶段规则校验逻辑

This commit is contained in:
Austin
2026-10-08 12:47:17 +08:00
parent 5a7d8407bc
commit 55ae8b2acd
5 changed files with 34 additions and 14 deletions
@@ -18,6 +18,7 @@ type CultivateStageRuleEditInp struct {
RequiredPoints uint `json:"requiredPoints"`
WaterPoints uint `json:"waterPoints"`
FertilizePoints uint `json:"fertilizePoints"`
WaitHours uint `json:"waitHours"`
AllowedActions []string `json:"allowedActions"`
ImageFileId string `json:"imageFileId"`
AnimationFileId string `json:"animationFileId"`
@@ -64,8 +65,8 @@ func (in *CultivateFlowerEditInp) Filter(ctx context.Context) error {
return gerror.New("成长阶段不能重复")
}
seen[rule.Stage] = true
if rule.Stage != "bloom" && rule.RequiredPoints == 0 {
return gerror.New("非开花阶段升级阈值必须大于0")
if rule.Stage != "bloom" && rule.RequiredPoints == 0 && rule.WaitHours == 0 {
return gerror.New("非开花阶段必须配置升级阈值或等待时长")
}
if rule.NextStage != "" && !validStage[rule.NextStage] {
return gerror.New("下一阶段不正确")