
<?php
namespace app\admin\cron;
use app\notice\logic\NoticeDetail;
use think\Db;
class FlowToSms
{
public function execute()
{
$currentHour = (int)date('H');
if (($currentHour >= 21) || ($currentHour < 7)) {
return '夜间不提醒(21点至早上7点)';
}
$type = [3];
$flowData = Db::query("SELECT
`flow_run_prcs`.`id`,
`flow_run_prcs`.`run_id`,
`flow_run_prcs`.`flow_id`,
`flow_run_prcs`.`prcs_name`,
`flow_run_prcs`.`prcs_id`,
`flow_run_prcs`.`user_id`,
`flow_run_prcs`.`user_name`,
`flow_run_prcs`.`real_name`,
`flow_run_prcs`.`status`,
`flow_run_prcs`.`pid`,
`flow_run_prcs`.`up_prcs`,
`flow_run_prcs`.`end_time`,
`flow_run_prcs`.`create_time`,
`flow_run_prcs`.`update_time`,
`flow_run_prcs`.`is_end_prcs`,
`flow_run_prcs`.`is_delete`,
`flowRun`.`id` AS `flowRun__id`,
`flowRun`.`flow_id` AS `flowRun__flow_id`,
`flowRun`.`run_name` AS `flowRun__run_name`,
`UpRunPrcs`.`user_id` AS `up_user_id`,
`UpRunPrcs`.`real_name` AS `up_real_name`,
`UpRunPrcs`.`prcs_name` AS `up_prcs_name`
FROM
`zztd_flow_run_prcs` `flow_run_prcs`
LEFT JOIN `zztd_flow_run` `flowRun` ON `flow_run_prcs`.`run_id` = `flowRun`.`id`
LEFT JOIN `zztd_flow_run_prcs` `UpRunPrcs` ON `flow_run_prcs`.`pid` = `UpRunPrcs`.`id`
WHERE
`flow_run_prcs`.`status` = 0
AND `flow_run_prcs`.`is_delete` = 0
AND `flow_run_prcs`.`end_time` = 0
AND `flow_run_prcs`.`up_prcs` <> ''
AND `flow_run_prcs`.`create_time` < UNIX_TIMESTAMP() - 86400
ORDER BY id DESC");
$count = count($flowData);
foreach ($flowData as $flow){
$title = "请办理流程!流水号:{$flow['run_id']},标题: {$flow['flowRun__run_name']},转交人:{$flow['up_real_name']},当前步骤:{$flow['up_prcs_name']}";
file_put_contents('sms_log.txt',$title.PHP_EOL,FILE_APPEND);
NoticeDetail::send($type,$flow['user_id'],$title,$flow['up_user_id'],9,$flow['run_id']);
}
return '提醒了'.$count.'条消息';
}
}