<?php

namespace app\api\controller\qa;

use app\models\qa\QaFavor;
use app\models\qa\QaReply;
use app\Request;
use app\models\qa\QaPost;
use app\models\user\User;
use crmeb\services\UtilService;

class QuestionsController
{
    //提交留言
    public function AddQuestions(Request $request)
    {
        $data = UtilService::postMore([
            ['title', ''],
            ['content', ''],
            ['img_list', ''],
        ], $request);
        $data['uid'] = $request->uid();
        $data['add_time'] = time();
        $data['img_list'] = explode(',', $data['img_list']);
        if (sizeof($data['img_list']) > 0)
            $data['img_list'] = json_encode($data['img_list']);

        $res = QaPost::AddQues($data);
//        User::postIntegral($request->uid());
        if ($res) {
            return app('json')->success('成功');
        } else {
            return app('json')->fail('失败');
        }
    }

    //获取留言列表
    public function QutList(Request $request)
    {
        header('Access-Control-Allow-Origin: *');
        $data = UtilService::getMore([
            ['id', '0'],
            ['page', '0'],
            ['limit', '20'],
            ['uid', ''],
            ['title', ''],
            ['type', 0]
        ], $request);
        $arr = QaPost::QutList($data['id'], $data['page'], $data['limit'], $data['uid'], $data['title'],$data['type']);
        if ($arr) {
            foreach ($arr as &$value) {
                $value['add_time'] = date('Y-m-d H:i:s', $value['add_time']);
                //$value['img_list']=substr($value['img_list'],0,strlen($value['img_list'])-1);
//                $value['img_list'] = explode(';', $value['img_list']);
                $value['img_list'] = json_decode($value['img_list'], true);
                if ($value['uid'])
                    $value['userinfo'] = User::where('uid', $value['uid'])->select()->toArray();
                else
                    $value['userinfo'][0] = [
                        'nickname' => '乖乖拼',
                        'avatar' => 'https://xipin.liuniu946.com//uploads/attach/2020/04/20200430/5def6d41d665dcb3def43e8f5cde77ff.png'
                    ];
                $value['is_favor'] = QaFavor::be(['qid' => $value['id'], 'uid' => $request->uid(), 'is_del' => 0]) ? 1 : 0; //用户是否点过赞
                $value['answer_nums'] = QaReply::where('pid', $value['id'])->where('is_del=0')->count();
            }
        }
        return app('json')->success($arr);
    }

    /**
     * 点赞
     * @param Request $request
     * @return mixed
     */
    public function favor(Request $request)
    {
        $param = UtilService::postMore([
            'id',
            ['favor', 1]
        ], $request);

        $uid = $request->uid();
        if (!QaPost::be(['id' => $param['id'], 'is_del' => 0])) {
            return app('json')->fail('找不到该帖子');
        }
        $time = time();
        if ($param['favor'] == 1) { //点赞
            if (QaFavor::be(['uid' => $uid, 'qid' => $param['id'], 'is_del' => 0])) {
                return app('json')->fail('请勿重复点赞');
            }
            QaFavor::create([
                'qid' => $param['id'],
                'uid' => $uid,
                'add_time' => $time
            ]);
            QaPost::where("id={$param['id']}")->inc('favor_nums', 1)->update();
        } else {    //取消点赞
            if (!QaFavor::be(['uid' => $uid, 'qid' => $param['id'], 'is_del' => 0])) {
                return app('json')->fail('您没有点赞过,无法取消');
            }
            $id = QaFavor::where("qid={$param['id']} and uid={$uid} and is_del=0")->value('id');
            QaFavor::update([
                'id' => $id,
                'is_del' => 1
            ]);
            QaPost::where("id={$param['id']}")->dec('favor_nums', 1)->update();
        }
//        QaPost::up
        return app('json')->success('操作成功');
    }
}