|
|
@@ -68,7 +68,7 @@ class UpdateCropGrowthCommand extends Command
|
|
|
$crop->save();
|
|
|
|
|
|
// 触发生长阶段变更事件
|
|
|
- event(new CropGrowthStageChangedEvent($userId, $crop, $oldStage, $newStage));
|
|
|
+ event(new CropGrowthStageChangedEvent($userId, $crop, $oldStage->value, $newStage));
|
|
|
|
|
|
$updatedCount++;
|
|
|
|
|
|
@@ -121,8 +121,16 @@ class UpdateCropGrowthCommand extends Command
|
|
|
return GROWTH_STAGE::MATURE->value;
|
|
|
}
|
|
|
|
|
|
- // 正常阶段递增
|
|
|
- return $currentStage + 1;
|
|
|
+ // 使用阶段映射确定下一个阶段
|
|
|
+ $stageMap = [
|
|
|
+ GROWTH_STAGE::SEED->value => GROWTH_STAGE::SPROUT->value,
|
|
|
+ GROWTH_STAGE::SPROUT->value => GROWTH_STAGE::GROWTH->value,
|
|
|
+ GROWTH_STAGE::GROWTH->value => GROWTH_STAGE::MATURE->value,
|
|
|
+ GROWTH_STAGE::MATURE->value => GROWTH_STAGE::WITHERED->value,
|
|
|
+ GROWTH_STAGE::WITHERED->value => GROWTH_STAGE::WITHERED->value, // 枯萎期保持不变
|
|
|
+ ];
|
|
|
+
|
|
|
+ return $stageMap[$currentStage->value] ?? GROWTH_STAGE::WITHERED->value;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -143,20 +151,20 @@ class UpdateCropGrowthCommand extends Command
|
|
|
$now = now();
|
|
|
|
|
|
switch ($stage) {
|
|
|
- case GROWTH_STAGE::SEED:
|
|
|
+ case GROWTH_STAGE::SEED->valueInt():
|
|
|
return $now->addSeconds($seed->seed_time);
|
|
|
|
|
|
- case GROWTH_STAGE::SPROUT:
|
|
|
+ case GROWTH_STAGE::SPROUT->valueInt():
|
|
|
return $now->addSeconds($seed->sprout_time);
|
|
|
|
|
|
- case GROWTH_STAGE::GROWTH:
|
|
|
+ case GROWTH_STAGE::GROWTH->valueInt():
|
|
|
return $now->addSeconds($seed->growth_time);
|
|
|
|
|
|
- case GROWTH_STAGE::MATURE:
|
|
|
+ case GROWTH_STAGE::MATURE->valueInt():
|
|
|
// 成熟期持续24小时后进入枯萎期
|
|
|
return $now->addHours(24);
|
|
|
|
|
|
- case GROWTH_STAGE::WITHERED:
|
|
|
+ case GROWTH_STAGE::WITHERED->valueInt():
|
|
|
// 枯萎期没有结束时间
|
|
|
return null;
|
|
|
|