<?php namespace Model; /** * 邮件发送任务 * @author:dc * @time 2023/4/10 16:28 * Class sendJobsSql * @package Model */ class sendJobsSql { /** * 表 * @var string */ public static $table = 'send_jobs'; /** * 获取需要发送的邮件 * @author:dc * @time 2023/4/11 14:56 * @return string */ public static function sendList($limit):string { // 控制在500数量,协程数量就控制 return "select * from `".self::$table."` where `status` in (0,1) and `send_time` <= ".time()." limit {$limit}"; } /** * 列表 * @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`'; return "select {$filed} from `".static::$table."` where ".$where." order by id desc limit {$limit} offset ".(($p-1)*$limit); } /** * 统计 * @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; } /** * 某个任务是否暂停了 * @param int $id * @return bool * @author:dc * @time 2023/4/17 16:19 */ public static function isStatus(int $id):string { return "select `status` from `".static::$table."` where `id` = ".$id; } /** * 更新状态 * @param int $id * @param int $status * @param null $db * @author:dc * @time 2023/4/11 16:06 */ public static function upStatus(int $id, int $status){ // 更新状态 return db()->update(\Model\sendJobsSql::$table,[ 'status' => $status ],dbWhere([ 'id' => $id ])); } }