<?php
namespace app\task\behavior;
use think\Cache;
use app\task\model\UserCoupon as UserCouponModel;
class UserCoupon
{
private $model;
public function run($model)
{
if (!$model instanceof UserCouponModel) {
return new UserCouponModel and false;
}
$this->model = $model;
if (!Cache::has('__task_space__UserCoupon')) {
$this->setExpired();
Cache::set('__task_space__UserCoupon', time(), 3600);
}
return true;
}
private function setExpired()
{
$couponIds = $this->model->getExpiredCouponIds();
$this->dologs('setExpired', [
'couponIds' => json_encode($couponIds),
]);
return $this->model->setIsExpire($couponIds);
}
private function dologs($method, $params = [])
{
$value = 'UserCoupon --' . $method;
foreach ($params as $key => $val)
$value .= ' --' . $key . ' ' . $val;
return log_write($value);
}
}