Files
fdesk/app/process/Task.php
T

48 lines
1.7 KiB
PHP

<?php
namespace app\process;
use app\crm\model\Customer;
use support\Log;
use Workerman\Crontab\Crontab;
class Task
{
public function onWorkerStart()
{
// 每半小时执行一次
new Crontab('0 */30 * * * *', function(){
echo date('Y-m-d H:i:s') . "\n";
Log::info('send follow start',[time()]);
$where = [
['follow_next', '<=', time() + 3600],
['follow_next', '>', time()],
['warn', '<', 1]
];
$customer = Customer::where($where)->get();
foreach ($customer as $item) {
$contacts = $item->contacts??$item['phone'];
$contacts = $contacts??$item['whatsApp'];
$contacts = $contacts??$item['email'];
$data = [
'sender_id' => 0, //发送人ID 0默认系统
'sender_type' => 'system', //发送者类型 user admin system
'title' => '客户跟进提醒 - ' . $contacts, //标题
'content' => $contacts . ' 到达预定跟进时间,请及时跟进', //内容
'scene' => 1, //场景 0系统公共 1系统通知
'recipient' => [$item->user_id], //接收人 空为全部
'push_method' => 0 //推送方式0系统推送1手动推送
];
\Webman\RedisQueue\Redis::send("notice",$data);
$item->warn = 1;
$item->save();
}
Log::info('send follow start',[time()]);
});
}
}