sendJobStatusSql.php 1.5 KB
<?php

namespace Model;

/**
 * 邮件发送任务状态
 * @author:dc
 * @time 2023/4/10 16:27
 * Class sendJobStatusSql
 * @package Model
 */
class sendJobStatusSql {

    /**
     * 表
     * @var string
     */
    public static $table = 'send_job_status';


    /**
     * 统计
     * @param int $job_id
     * @param string $to
     * @return string
     * @author:dc
     * @time 2023/4/11 16:13
     */
    public static function count(int $job_id, string $to=''):string {
        return "select count(*) from `".self::$table."` where `job_id` = {$job_id} ".($to ? "and `to_email` = '{$to}'" : '');
    }


    /**
     * @param int $job_id
     * @return string
     * @author:dc
     * @time 2023/4/17 17:25
     */
    public static function countSum(int $job_id){
        $sucees = "(select count(*) from `".self::$table."` where `job_id` = {$job_id} and `status` = 1) as s";
        $error = "(select count(*) from `".self::$table."` where `job_id` = {$job_id} and `status` = 0) as e";
        return "select count(*) as t,{$sucees},{$error} from `".self::$table."` where `job_id` = {$job_id} ";
    }

    /**
     * job任务详情页
     * @param int $jobId
     * @param int $page
     * @param int $limit
     * @return string
     */
    public static function detail(int $jobId, int $page = 1, int $limit = 20)
    {
        return "select * from `" . static::$table . "` where `job_id` = " . $jobId . " order by id desc limit {$limit} offset " . (($page - 1) * $limit);
    }


}