Compare commits

...

2 Commits

Author SHA1 Message Date
ed4ce5bebe fix : coupon date 2025-08-06 15:10:12 +08:00
eb0ce8a347 fix : coupon date 2025-08-06 12:44:58 +08:00
3 changed files with 56 additions and 2 deletions

View File

@@ -12,6 +12,7 @@ use App\Service\Api\System\GetLeaderboardService;
use App\Service\Api\System\MiniWxConfigService;
use App\Service\Api\System\SiteListService;
use App\Service\Api\System\SystemConfigService;
use App\Service\Api\System\TestService;
use App\Service\Api\User\IndexService;
use DateMalformedStringException;
use Hyperf\HttpServer\Annotation\Controller;
@@ -87,4 +88,10 @@ class SystemController extends AbstractController
{
return (new GetLeaderboardService)->handle();
}
#[RequestMapping(path: "test", methods: "GET")]
public function test()
{
return (new TestService)->handle();
}
}

View File

@@ -13,8 +13,11 @@ namespace App\Cron\Coupon;
use App\Constants\Common\CouponCode;
use App\Lib\Log;
use App\Model\UserCoupon;
use Exception;
use Hyperf\Crontab\Annotation\Crontab;
use Hyperf\Di\Annotation\Inject;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
#[Crontab(rule: "* * * * *", name: "UserCouponTask", singleton: true , callback: "execute", memo: "每秒执行优惠券过期")]
class UserCouponTask
@@ -31,12 +34,17 @@ class UserCouponTask
#[Inject]
protected UserCoupon $userCouponModel;
public function execute()
/**
* @return void
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
*/
public function execute(): void
{
try {
$this->userCouponModel
->whereTime('validity_end_time', '<', date('Y-m-d H:i:s'))
->where('status', CouponCode::COUPON_STATUS_UNUSED)
->where('validity_end_time', '<', date('Y-m-d H:i:s'))
->update(['status' => CouponCode::COUPON_STATUS_EXPIRE]);
}catch (Exception $e){
$this->log->error(__CLASS__.$e->getMessage());

View File

@@ -0,0 +1,39 @@
<?php
/**
* This service file is part of item.
*
* @author ctexthuang
* @contact ctexthuang@qq.com
*/
declare(strict_types=1);
namespace App\Service\Api\System;
use App\Constants\Common\CouponCode;
use App\Model\UserCoupon;
use App\Service\Api\BaseService;
use Hyperf\Di\Annotation\Inject;
class TestService extends BaseService
{
/**
* @var UserCoupon
*/
#[Inject]
protected UserCoupon $userCouponModel;
public function handle()
{
var_dump(date('Y-m-d H:i:s'));
$data = $this->userCouponModel
->where('status', CouponCode::COUPON_STATUS_UNUSED)
->where('validity_end_time', '<', date('Y-m-d H:i:s'))
->get();
$data = $data->toArray();
var_dump($data);
}
}