增加:用户餐费积分解冻及过期计划任务

This commit is contained in:
wuhui_zzw 2024-06-21 11:43:14 +08:00
parent e1780f4512
commit 5aaa01b28d
2 changed files with 32 additions and 0 deletions

View File

@ -47,6 +47,7 @@ return [
\crmeb\listens\CloseUserSvipListen::class, \crmeb\listens\CloseUserSvipListen::class,
\crmeb\listens\SendSvipCouponListen::class, \crmeb\listens\SendSvipCouponListen::class,
\crmeb\listens\SyncMerchantMarginStatusListen::class, \crmeb\listens\SyncMerchantMarginStatusListen::class,
\app\listener\shareholder\ShareholderListen::class,
] : [], ] : [],
'pay_success_user_recharge' => [\crmeb\listens\pay\UserRechargeSuccessListen::class], 'pay_success_user_recharge' => [\crmeb\listens\pay\UserRechargeSuccessListen::class],
'pay_success_user_order' => [\crmeb\listens\pay\UserOrderSuccessListen::class], 'pay_success_user_order' => [\crmeb\listens\pay\UserOrderSuccessListen::class],

View File

@ -0,0 +1,31 @@
<?php
namespace app\listener\shareholder;
use app\common\model\system\merchant\MerchantShareholderIntegral;
use crmeb\services\TimerService;
use think\facade\Log;
use crmeb\interfaces\ListenerInterface;
class ShareholderListen extends TimerService implements ListenerInterface{
public function handle($event): void{
$this->tick(1000 * 5, function () {
// Log::info('餐费积分定时任务被触发:');
request()->clearCache();
try{
// 积分解冻 预计解冻时间小于当前时间,且状态为冻结中
MerchantShareholderIntegral::where('status',0)
->where('expect_thaw_time','<=',time())
->update(['status' => 1]);
// 积分过期 预计过期时间小于当前时间,且状态为使用中
MerchantShareholderIntegral::where('status',1)
->where('expect_overdue_time','<=',time())
->update(['status' => 2]);
}catch(\Exception $e){
Log::info('餐费积分定时任务 - 错误:' . $e->getMessage());
}
});
}
}