<?php
namespace App\Http\Controllers\Api\Wechat;

use App\Http\Controllers\Api\ApiBaseController;
use App\Models\Config;
use App\Models\WeixinReply;
use App\Services\Common\WechatService;
use App\Wechat\Official\EventHandle;
use App\Wechat\Official\MessageHandle;
use EasyWeChat\Kernel\Messages\Message;

class OfficialController extends ApiBaseController
{
    /**
     * @var WechatService
     */
    private $wechatService;


    /**
     * OfficialController constructor.
     * @param WechatService $wechatService
     */
    public function __construct(WechatService $wechatService)
    {
        $this->wechatService = $wechatService;
    }

    public function index()
    {
        $official=$this->wechatService->getOfficialAccount(get_subsite_id());
        $official->server->push(EventHandle::class, Message::EVENT);//微信事件过滤
        $official->server->push(MessageHandle::class, Message::TEXT | Message::IMAGE );//被动消息过滤(图片和文字),是否触发步骤事件
        $official->server->push(function ($message) {

            $default_reply=WeixinReply::where('type', 2)->get();
            $key_reply=WeixinReply::where('send', $message['Content'])->where('type', 1)->first();
            if ($key_reply) {
                return $key_reply->reply;
            }
            if ($default_reply->isEmpty()) {
                return "";
            }
            return $default_reply->random()->reply;
        }, Message::TEXT);

        return $official->server->serve();
    }

    public function pushMenu()
    {
        $official=$this->wechatService->getOfficialAccount(get_subsite_id());
        $config=Config::where('alias','wechat_exe_jobfair_app_id')->select('value')->first();
        /*$menu = [
            [
                "name"       => "个人服务",
                "sub_button" => [
                    [
                        "type" => "click",
                        "name" => "刷新简历",
                        "key"  => "PersonResumeRefresh"
                    ],
                    [
                        "type" => "view",
                        "name" => "面试邀请",
                        "url"  => route('mobile.auth.thirdlogin.official')
                            .'?redirect_url='.urlencode(route('mobile.person.jobs_interview'))
                    ],
                    [
                        "type" => "view",
                        "name" => "投递反馈",
                        "url"  => route('mobile.auth.thirdlogin.official')
                            .'?redirect_url='.urlencode(route('mobile.person.apply_jobs'))
                    ],
                    [
                        "type" => "view",
                        "name" => "职位搜索",
                        "url"  => route('mobile.auth.thirdlogin.official')
                            .'?redirect_url='.urlencode(route('mobile.jobs'))
                    ],
                    [
                        "type" => "view",
                        "name" => "个人中心",
                        "url"  => route('mobile.auth.thirdlogin.official')
                            .'?redirect_url='.urlencode(route('mobile.person.index'))
                    ]
                ],
            ],
            [
                "name"       => "企业服务",
                "sub_button" => [
                    [
                        "type" => "click",
                        "name" => "刷新职位",
                        "key"  => "CompanyJobRefresh"
                    ],
                    [
                        "type" => "view",
                        "name" => "职位管理",
                        "url"  => route('mobile.auth.thirdlogin.official')
                            .'?redirect_url='.urlencode(route('mobile.firm.jobs.list'))
                    ],
                    [
                        "type" => "view",
                        "name" => "应聘简历",
                        "url"  => route('mobile.auth.thirdlogin.official')
                            .'?redirect_url='.urlencode(route('mobile.firm.resume.apply'))
                    ],
                    [
                        "type" => "view",
                        "name" => "简历搜索",
                        "url"  => route('mobile.auth.thirdlogin.official')
                            .'?redirect_url='.urlencode(route('mobile.resumes'))
                    ]
                ],
            ],
            [
                "name"       => "更多精彩",
                "sub_button" => [
                    [
                        "type" => "click",
                        "name" => "每日签到",
                        "key"  => "EverydaySignIn"
                    ],
                    [
                        "type" => "view",
                        "name" => "账号绑定",
                        "url"  => route('mobile.auth.thirdlogin.official')
                    ],
                    [
                        "type" => "view",
                        "name" => "最近招聘会",
                        "url"  => route('mobile.auth.thirdlogin.official')
                            .'?redirect_url='.urlencode(route('mobile.jobfair.index'))
                    ],
                    [
                        "type" => "view",
                        "name" => "进入官网",
                        "url"  => route('mobile.home')
                    ],
                    [
                        "type"     => "miniprogram",
                        "name"     => "线上招聘会",
                        "url"      => route('mobile.firm.jobfair.net'),
                        "appid"    => $config->value,
                        "pagepath" => "pages/job_fair/job_fair"
                    ],
                ],
            ]
        ];*/
        $menu = [
            [
                'type'=> 'view',
                'name' => '积分商城',
                'url' => 'https://h5-point.jucai.gov.cn/',
            ]
        ];
        $official->menu->create($menu);
    }

}