<?php

namespace Controller;

use Lib\Mail\Mail;
use Model\emailSql;
use Model\sendJobsSql;


/**
 * 邮件发送任务
 * @author:dc
 * @time 2023/4/17 15:56
 * Class Job
 * @package Controller
 */
class Job extends Base {


    /**
     * 任务列表
     * @author:dc
     * @time 2023/4/17 15:57
     */
    public function index(){

        $page = app()->request('page',1,'intval');
        $limit = app()->request('limit',20,'intval');

        $where = dbWhere([
            'email_id'  =>  $this->getEmails('id')
        ]);

        $lists = db()->all(sendJobsSql::all($where,$page,$limit));

        foreach ($lists as &$list){
            $list['create_at'] = date('Y-m-d H:i:s',$list['send_time']);
        }

        return listsPage($lists,
            db()->count(sendJobsSql::count($where))
            ,1,20);
    }


    public function stop(){
        $id = app()->request('id',0,'intval');

        $ret = db()->update(sendJobsSql::$table,[
            'status'    =>  3
        ],dbWhere([
            'id'    =>  $id,
            'email_id'  =>  $this->getEmails('id')
        ]));

        if($ret){
            return ['status'=>200];
        }

        app()->e('send_job_stop_error');
    }

    /**
     * @throws \Lib\Err
     * @author:dc
     * @time 2023/4/17 17:03
     */
    public function start(){
        $id = app()->request('id',0,'intval');

        $ret = db()->update(sendJobsSql::$table,[
            'status'    =>  0
        ],dbWhere([
            'id'    =>  $id,
            'email_id'  =>  $this->getEmails('id')
        ]));

        if($ret){
            return ['status'=>200];
        }

        app()->e('send_job_start_error');

    }





}