6
0
Fork 0
jiqu-library-server/app/Services/AdminSendCouponService.php

44 lines
1.2 KiB
PHP

<?php
namespace App\Services;
use App\Models\CouponSendTask;
use App\Models\CouponTaskLog;
class AdminSendCouponService
{
public function startTaskById(int $id)
{
$task = CouponSendTask::findOrFail($id);
$this->startTask($task);
}
public function startTask(CouponSendTask $task)
{
$nowTime = now();
$task->status = 1;
switch ($task->type) {
case 1://指定用户
$insertLogs = [];
$userIds = explode(',', json_decode($task->value, true)['user_ids']);
foreach ($userIds as $userId) {
$insertLogs[] = [
'task_id'=>$task->id,
'coupon_id'=>$task->coupon_id,
'user_id'=>$userId,
'num'=>$task->num,
'created_at'=>$nowTime,
'updated_at'=>$nowTime,
];
}
$res = CouponTaskLog::insert($insertLogs);
if ($res) {
$task->status = 2;
}
break;
}
$task->save();
}
}