<?php

namespace App\Console\Commands;

use App\Modules\Book\Models\BookSearchStat;
use App\Modules\Statistic\Services\SendStatsEmailService;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Storage;

class BookSearchInfoStat extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'book_search_stat';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = '用户搜索图书记录信息';

    /**
     * Create a new command instance.
     *
     * @return void
     */
    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        $end_time = date("Y-m-d", strtotime("-1 day"));
        $begin_time = date("Y-m-d", strtotime("-8 day"));
        $type = 'WECHAT';
        $wechat_search_result = BookSearchStat::getInfo(compact('begin_time', 'end_time', 'type'), true);

        $type = 'WAP';
        $wap_search_result = BookSearchStat::getInfo(compact('begin_time', 'end_time', 'type'), true);

        $this->sendResultEmail($wechat_search_result, $wap_search_result, $begin_time, $end_time);
    }

    public function sendResultEmail($wechat_search_result, $wap_search_result, $start_date, $end_date)
    {
        if ($wechat_search_result && count($wechat_search_result) > 0) {
            $filename = '微信内搜索.' . 'csv';
            Storage::append($filename, mb_convert_encoding("关键词,搜索人数,搜索次数", 'gbk'));
            $str = '';
            foreach ($wechat_search_result as $item) {
                $str .= "$item->content,$item->user_num,$item->search_num\r\n";
            }
            Storage::append($filename, mb_convert_encoding($str, 'gbk'));
        }

        if ($wap_search_result && count($wap_search_result) > 0) {
            $filename = 'wap内搜索.' . 'csv';
            Storage::append($filename, mb_convert_encoding("关键词,搜索人数,搜索次数", 'gbk'));
            $str = '';
            foreach ($wap_search_result as $item) {
                $str .= "$item->content,$item->user_num,$item->search_num\r\n";
            }
            Storage::append($filename, mb_convert_encoding($str, 'gbk'));
        }

        $to_user = array(
            ['address'=>'songdb@iqiyoo.com','name'=>'songdb'],
            ['address'=>'zhaojp@yqsd.net','name'=>'赵君平'],
            ['address' => 'zhoulj@iqiyoo.com', 'name' => '周灵杰']
        );

        $file_path1 = storage_path('app/微信内搜索.csv');
        $file_path2 = storage_path('app/wap内搜索.csv');
        $attach = [$file_path1, $file_path2];
        $body = '搜索关键字统计,详情请见附件';
        SendStatsEmailService::SendMultyHtmlEmailWithAcce($to_user, ['subject' => $start_date . '至' . $end_date . " 搜索关键字统计", 'body' => $body], $attach);

        unlink($file_path1);
        unlink($file_path2);
    }
}