审查视图

model/sendJobsSql.php 2.0 KB
1  
邓超 authored
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
<?php

namespace Model;

/**
 * 邮件发送任务
 * @author:dc
 * @time 2023/4/10 16:28
 * Class sendJobsSql
 * @package Model
 */
class sendJobsSql {

    /**
     * 表
     * @var string
     */
1  
邓超 authored
18
    public static $table = 'send_jobs';
1  
邓超 authored
19 20

1  
邓超 authored
21 22 23 24 25 26
    /**
     * 获取需要发送的邮件
     * @author:dc
     * @time 2023/4/11 14:56
     * @return string
     */
1  
邓超 authored
27
    public static function sendList($limit):string {
1  
邓超 authored
28
        // 控制在500数量,协程数量就控制
邓超 authored
29
        return "select * from `".self::$table."` where `status` in (0,1) and `send_time` <= ".time()." limit {$limit}";
1  
邓超 authored
30
    }
1  
邓超 authored
31 32

1  
邓超 authored
33
    /**
x  
邓超 authored
34 35 36 37 38 39 40 41 42 43
     * 列表
     * @param string $where
     * @param int $p
     * @param int $limit
     * @return string
     * @author:dc
     * @time 2023/4/17 15:59
     */
    public static function all(string $where,int $p=1,int $limit=20):string {
        $filed = '`id`,`success`,`title`,`created_at`,`error`,`total`,`stop`,`status`,`send_time`,`remark`';
朱世亮 authored
44
        return "select {$filed} from `".static::$table."` where ".$where." order by id desc limit {$limit} offset ".(($p-1)*$limit);
x  
邓超 authored
45 46 47
    }

    /**
x  
邓超 authored
48 49 50 51 52 53 54 55 56 57 58
     * 统计
     * @param string $where
     * @return string
     * @author:dc
     * @time 2023/4/17 16:44
     */
    public static function count(string $where):string {
        return "select count(`id`) from `".static::$table."` where ".$where;
    }

    /**
x  
邓超 authored
59 60 61 62 63 64
     * 某个任务是否暂停了
     * @param int $id
     * @return bool
     * @author:dc
     * @time 2023/4/17 16:19
     */
x  
邓超 authored
65
    public static function isStatus(int $id):string {
x  
邓超 authored
66
        return "select `status` from `".static::$table."` where `id` = ".$id;
x  
邓超 authored
67 68 69
    }

    /**
1  
邓超 authored
70 71 72 73 74 75 76
     * 更新状态
     * @param int $id
     * @param int $status
     * @param null $db
     * @author:dc
     * @time 2023/4/11 16:06
     */
邓超 authored
77
    public static function upStatus(int $id, int $status){
1  
邓超 authored
78
        // 更新状态
邓超 authored
79
        return db()->update(\Model\sendJobsSql::$table,[
1  
邓超 authored
80 81 82 83 84 85
            'status'    =>  $status
        ],dbWhere([
            'id'    =>  $id
        ]));
    }
1  
邓超 authored
86 87

}