Files
xk-api-yii/common/handlers/PrescriptionAutoExpireHandlerClass.php
2024-09-19 11:32:39 +08:00

35 lines
1.1 KiB
PHP

<?php
namespace common\handlers;
use common\jobs\PrescriptionAutoExpireJob;
class PrescriptionAutoExpireHandlerClass extends BasePrescriptionHandler
{
public function handle()
{
self::execute();
}
protected function execute()
{
$config = \Yii::$app->params;
$autoExpireTime = isset($config['prescription']['over_time']) ? $config['prescription']['over_time'] : 900;
if (is_numeric($autoExpireTime) && $autoExpireTime >= 0) {
// 处方自动失效任务
\Yii::$app->queue->delay($autoExpireTime)->push(new PrescriptionAutoExpireJob([
'orderId' => $this->event->prescription->id,
]));
if($this->event->prescription->auto_expire_time){
$autoExpire = $this->event->prescription->auto_expire_time + $autoExpireTime;
} else {
$autoExpire = $this->event->prescription->created_at + $autoExpireTime;
}
$this->event->prescription->auto_expire_time = $autoExpire;
$this->event->prescription->save();
}
return $this;
}
}