81 lines
2.7 KiB
PHP
81 lines
2.7 KiB
PHP
<?php
|
|
|
|
namespace app\process;
|
|
|
|
use app\common\model\FinPaymentApply;
|
|
use app\common\model\User;
|
|
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) {
|
|
$res =[
|
|
'id'=>$item->id,
|
|
'category'=>'crm',
|
|
'scene'=>'crm-person-follow-up',
|
|
'receive type'=>'person'
|
|
];
|
|
\Webman\RedisQueue\Redis::send("feishu-message",$res);
|
|
$item->warn = 1;
|
|
$item->save();
|
|
}
|
|
|
|
Log::info('send follow end',[time()]);
|
|
});
|
|
|
|
// 检查入账资料是否提交
|
|
new Crontab('* */70 * * * *', function () {
|
|
$G = date('G');
|
|
if ($G > 22 || $G < 8) {
|
|
return;
|
|
}
|
|
Log::info('fin_payment_apply submit_files start', [time()]);
|
|
$orWhere = [
|
|
['submit_files', '=', '[]'],
|
|
['submit_files', '=', ''],
|
|
];
|
|
$where = [
|
|
['warn', '<', 2],
|
|
['created_at', '>', time() - 60 * 60 * 48],
|
|
['created_at', '<', time() - 60 * 60 * 24],
|
|
];
|
|
$payment = FinPaymentApply::where($where)->orWhere($orWhere)->orderBy('id', 'desc')->get();
|
|
foreach ($payment as $item) {
|
|
Log::info('fin_payment_apply submit_files ', [$item->toArray()]);
|
|
$notice = [
|
|
'code' => $item->apply_no,
|
|
'payment_entity' => $item->payment_entity ?? $item->remitter,
|
|
'content' => '认领收款单后请在24小时内提交入账资料',
|
|
'reply' => '',
|
|
];
|
|
$email = [];
|
|
$email[] = User::where('id', $item->claimed_by)->value('email');
|
|
$email[] = User::where('id', $item->doc_user_id)->value('email');
|
|
$email = array_unique($email);
|
|
\app\common\utils\email\MailSend::send($email, '【XYH】付款记录', replaceTpl($notice, 'payment_files'));
|
|
|
|
$item->warn = ++$item->warn;
|
|
$item->save();
|
|
}
|
|
|
|
Log::info('fin_payment_apply submit_files end', [time()]);
|
|
});
|
|
}
|
|
|
|
} |