| 1234567891011121314151617181920212223242526272829303132 |
- <?php
- namespace App\Module\Farm\Validators;
- use App\Module\Farm\Models\FarmCrop;
- use UCore\Validation\BaseValidator;
- use Carbon\Carbon;
- /**
- * 摘取冷却验证器
- * 验证摘取冷却时间
- */
- class PickCooldownValidator extends BaseValidator
- {
- /**
- * 验证摘取冷却时间
- *
- * @param FarmCrop $crop 作物模型
- * @return bool
- */
- public function validate(FarmCrop $crop): bool
- {
- // 检查作物是否在摘取冷却期内
- if ($crop->pick_cooldown_end && now() < $crop->pick_cooldown_end) {
- $remainingTime = now()->diffInSeconds($crop->pick_cooldown_end);
- $this->addError("作物正在冷却中,还需等待{$remainingTime}秒");
- return false;
- }
- return true;
- }
- }
|