<?php

namespace Controller\v2;

use Controller\Base;
use Lib\Mail\Mail;
use Lib\Mail\MailFun;
use Lib\UploadFile;
use Lib\Verify;
use Model\bodySql;
use Model\emailSql;
use Model\folderSql;
use Model\listsSql;
use Model\sendJobsSql;



/**
 * @author:dc
 * @time 2023/2/13 11:28
 * Class Home
 * @package Controller
 */
class Home extends Base {


    /**
     * 邮件列表 针对aicc应用那边
     * @author:dc
     * @time 2023/2/17 14:12
     */
    public function lists(){

        $limit   =   app()->request('limit',20,['intval','abs']);

        $last_id   =   app()->request('last_id',0,['intval','abs']);

        $folder_ids   =   app()->request('folder_ids',[],['intval','abs']);

        $udate = app()->request('udate',0,'intval');

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

        foreach ($folder_ids as $k=>$folder_id){
            if(!$folder_id){
                unset($folder_ids[$k]);
            }
        }

        $folder_ids = array_values($folder_ids);

        // 默认查询 inbox
        if(!is_array($folder_ids) || !$folder_ids){
            $folder_ids = db()->value(
                sprintf(
                    "select `id` from `%s` where `email_id` = %d and `origin_folder` = 'INBOX'",
                    folderSql::$table
                    ,$where['email_id']
                )
            );
        }
        //目录
        $where['folder_id'] = $folder_ids;


        $sql = "`id` > ".$last_id;
        if($udate){
            $sql .= " and `udate` > ".$udate;
        }

        $lists = db()->all(
            sprintf(
                "select `id`,`subject`,`from`,`from_name`,`seen`,`udate`,`email_id` from `%s` where %s and %s order by `id` asc limit %d"
                ,listsSql::$table
                ,$sql
                ,dbWhere($where)
                ,$limit
            )
        );

        app()->_json(['data'=>$lists?:[]]);

    }


}