48 lines
1.7 KiB
PHP
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()]);
|
|
});
|
|
}
|
|
|
|
} |