<?php

namespace app\api\controller;

use app\common\controller\Api;
use app\common\model\CommunityModel;
use think\Db;

/**
 * 消息通知
 */
class Message extends Api
{
    protected $noNeedLogin = ['acvitityLists', 'Info', 'listInfo', 'qustion', 'qustionInfo', 'buildInfo', 'protable', 'trueTime', 'chooseTime', 'GgInfo'];
    protected $noNeedRight = ['*'];


    /**
     * 论坛动态
     */
    public function luntan()
    {
        $page = $this->request->get('page');
        $limit = $this->request->get('limit');
        if (!$page) {
            $pages = '0,10';
        } else {
            $page = $page - 1;
            if ($page < 0) $page = 0;
            $pages = $page . ',' . $limit;
        }
        $user = $this->auth->getUser();

        if ($user['luntan']==0) return $this->success('',[]);

        $userCommunity = CommunityModel::where('uid',$user['id'])->column('id');

        $str = implode(',',$userCommunity);

        $comment = Db::name('community_comment')
            ->where('c_id',"in",$str)
            ->limit($pages)
            ->order('create_time desc')->select();

        if (empty($comment)) return $this->success('',$comment);

        foreach ($comment as $k=>$v) {
            $comment[$k]['user'] = Db::name('user')->where('id',$v['uid'])
                ->where('status',1)
                ->field('id,avatar,username')
                ->find();

        }
        Db::name('user')->where('id',$user['id'])->update(['see_message_time'=>time()]);
        return json(['code'=>1,'data'=>$comment]);
    }

    /**
     * 活动动态
     */
    public function huodong()
    {
        $user = $this->auth->getUser();

        if ($user['huodong']==0) return $this->success('',[]);

        $data1 = Db::name('park_order o')
            ->join('park_activity a','o.a_id=a.id')
            ->where('o.uid',$user['id'])
            ->order('o.create_time desc')
            ->field('a.id,a.image')
            ->select();

        if (!empty($data1)) {
            foreach ($data1 as $k=>$v) {
                $data1[$k]['image'] = config('site.httpurl').$data1[$k]['image'];
                $data1[$k]['type'] = 1;
            }
        }

        $data2 = Db::name('acitivity_order o')
            ->join('avcitity a','o.a_id=a.id')
            ->where('o.uid',$user['id'])
            ->order('o.create_time desc')
            ->field('a.id,a.image')
            ->select();


        if (!empty($data2)) {
            foreach ($data2 as $m=>$n) {
//                $data2[$m]['image'] = config('site.httpurl').$data2[$m]['image'];
                $data2[$m]['type'] = 2;
            }
        }

        $data = array_merge($data1,$data2);

        return json(['code' =>1 ,'data'=>$data]);
    }


    /**
     * 服务动态
     */
    public function fuwu()
    {
        $page = $this->request->get('page');

        $limit = $this->request->get('limit');
        if (!$page) {
            $pages = '0,10';
        } else {
            $page = $page - 1;
            if ($page < 0) $page = 0;
            $pages = $page . ',' . $limit;
        }
        $user = $this->auth->getUser();

        if ($user['huodong']==0) return $this->success('',[]);

        $data = Db::name('business_declare d')
            ->join('business_lists l','d.lid=l.id')
            ->where('d.uid',$user['id'])
            ->limit($pages)
            ->order('d.create_time desc')
            ->field('l.id,l.image,l.title')
            ->select();

        if (empty($data)) return $this->success('',[]);

        foreach ( $data as $k=>$v) {
           $data[$k]['image'] = config('site.httpurl').  $data[$k]['image'];
        }

        return $this->success('',$data);
    }

    /**
     * 平台信息
     */
    public function pingtai()
    {
        $user = $this->auth->getUser();

        $page = $this->request->get('page');

        $limit = $this->request->get('limit');
        if (!$page) {
            $pages = '0,10';
        } else {
            $page = $page - 1;
            if ($page < 0) $page = 0;
            $pages = $page . ',' . $limit;
        }


        $data = Db::name('admin_message')->limit($pages)->order('create_time desc')->select();

        Db::name('user')->where('id',$user['id'])->update(['see_message_time'=>time()]);
        return $this->success('',$data);
    }
}