listsSql.php 2.5 KB
<?php

namespace Model;

/**
 * 邮件列表
 * @author:dc
 * @time 2023/2/17 14:15
 * Class lists
 * @package Model
 */
class listsSql {

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


    /**
     * 查询列表
     * @param string $where
     * @param int $p
     * @param int $size
     * @return string
     * @author:dc
     * @time 2023/3/16 18:11
     */
    public static function lists(string $where, int $p, int $size){

        $filed = '`id`,`uid`,`msgno`,`subject`,`from`,`from_name`,`to`,`date`,`size`,`recent`,`flagged`,`answered`,`deleted`,`seen`,`draft`,`udate`,`folder_id`,`is_file`,`cc`,`bcc`,`description`,`email_id`';

        return "select {$filed} from `".static::$table."` where ".$where." order by `udate` desc limit {$size} offset ".(($p-1)*$size);

    }

    /**
     * 统计列表
     * @param string $where
     * @return string
     * @author:dc
     * @time 2023/3/16 18:10
     */
    public static function listCount(string $where){

        return "select count(*) from `".static::$table."` where ".$where;
    }

    /**
     * 获取最后一条更新的msgno
     * @param $email_id
     * @param $folder_id
     * @return string
     * @author:dc
     * @time 2023/2/18 10:01
     */
    public static function lastMsgno($email_id,$folder_id):string{
        return "select max(`msgno`) from `".self::$table."` where ".dbWhere(['email_id'=>$email_id,'folder_id'=>$folder_id])." limit 1";
    }

    /**
     * 获取已存在的id
     * @param $email_id
     * @param $folder_id
     * @param $msgno
     * @return string
     * @author:dc
     * @time 2023/2/18 10:08
     */
    public static function getIds($email_id,$folder_id,$msgno):string {
        return "select `id`,`msgno` from `".static::$table."` where ".dbWhere([
            'email_id' =>  $email_id,
            'folder_id' =>  $folder_id,
            'msgno' =>  $msgno,
            ]);
    }

    /**
     * 通过uuid查询id和email_id
     * @param $uuid
     * @return string
     * @author:dc
     * @time 2023/2/18 10:44
     */
    public static function hasUuid($uuid):string {
        return "select `id`,`email_id`,`uuid` from `".self::$table."` where ".dbWhere(['uuid'=>$uuid]);
    }

    /**
     * 根据id查询
     * @param string $where
     * @return string
     * @author:dc
     * @time 2023/3/17 16:24
     */
    public static function first(string $where,$filed='*'):string {

        return "select {$filed} from `".self::$table."` where ".$where;
    }



}