1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <?php
- namespace Work\Lib;
- use Dever;
- Class Cron
- {
- #工单日统计
- public function index_api(){
- $title = '工单每日统计';
- $data = Dever::db('work/branch')->state(array('type'=>1));
- foreach ($data as $k => $v) {
- $group_id = explode(',',$v['group']);
- $admin[] = Dever::db('manage/admin')->find($group_id[1]);
- }
- $content = $this->email_api();
- foreach($admin as $key => $val){
- $this->send($val['email'], $val['username'], $title, $content);
- }
- }
- #发送邮件
- public function email_api()
- {
- $start=mktime(0,0,0,date('m'),date('d'),date('Y'))-86400;
- $end = $start+86400-1;
- $config = Dever::db('work/info')->config['config_status'];
- $data['branch'] = Dever::db('work/branch')->state(array('type'=>1));
- if ($data['branch']) {
- foreach($data['branch'] as $k => $v) {
- $data['info']['app'] = Dever::db('work/appoint')->getEmail(array('group'=>$v['group'],'start'=>$start,'end'=>$end));
- $data['info']['xu'] = Dever::db('work/info')->getCount(array('group'=>$v['group'],'start'=>$start,'end'=>$end,'status'=>1));
- $data['info']['yi'] = Dever::db('work/info')->getCount(array('group'=>$v['group'],'start'=>$start,'end'=>$end,'status'=>3));
- $data['info']['wei'] = Dever::db('work/info')->getCount(array('group'=>$v['group'],'start'=>$start,'end'=>$end,'status'=>'1,2,4'));
- $data['app'] = Dever::db('work/info')->getAll(array('group'=>$v['group'],'start'=>$start,'end'=>$end));
- foreach ($data['app'] as $k1 => $v1) {
- $data['app'][$k1]['cdate'] = date('Y-m-d H:i:s',$v1['cdate']);
- $data['app'][$k1]['zhipai'] = date('Y-m-d H:i:s',$v1['zdate']);
- $data['app'][$k1]['chu'] = date('Y-m-d H:i:s',$v1['chdate']);
- $cate = Dever::db('work/q_cate')->find($v1['cate_id']);
- $data['app'][$k1]['cate_name'] = $cate['name'];
- $priority = Dever::db('work/priority')->find($v1['priority_id']);
- $data['app'][$k1]['priority_name'] = $priority['name'];
- $data['app'][$k1]['status']= Dever::status($config,$v1['status']);
- }
- }
- }
- return Dever::render('email', $data);
- }
-
- #代理商统计发送邮件
- public function send($email, $username, $title, $content)
- {
- $config = Dever::config('base', 'project')->email;
- Dever::apply('src/PHPMailer', 'email');
- Dever::apply('src/Exception', 'email');
- Dever::apply('src/SMTP', 'email');
- $mail = new \PHPMailer\PHPMailer\PHPMailer();
- $mail->isSMTP();
- //$mail->SMTPDebug = 2;
- $mail->CharSet = 'UTF-8';
- $mail->Host = $config['smtp'];
- $mail->Port = 465;
- $mail->SMTPSecure = 'ssl';
- $mail->SMTPAuth = true;
- $mail->Username = $config['username'];
- $mail->Password = $config['password'];
- $mail->setFrom($config['from'][0], '统计');
- $mail->addAddress($email, $username);
- $mail->Subject = "=?utf-8?B?" . base64_encode($title) . "?=";
- $mail->Body = $content;
- $mail->isHTML(true);
- //$mail->addAttachment($file);
- if (!$mail->send()) {
- Dever::alert("Mailer Error: " . $mail->ErrorInfo);
- } else {
- return 'ok';
- }
- }
- }
|