<?php

namespace app\api\controller;

use app\common\controller\Api;
use think\Db;
/**
 * 培训活动
 */
class Trainactive extends Api
{


    protected $noNeedLogin = ['info'];
    // 无需鉴权的接口,*表示全部
    protected $noNeedRight = ['test2'];


    //获取培训详情
    public function info()
    {
        $id = input('id');
        $info = Db::name('train_active')->field('id,name,sign_endtime')->where('id',$id)->find();

        $this->success('', $info);
    }

    //签到成功
    public function signin(){
        $sign_image = input('sign_image','');
        if(empty($sign_image)){
            $this->error();
        }

        //
        $id = input('id');
        $info = Db::name('train_active')->where('id',$id)->find();
        if(empty($info)){
            $this->error('不存在的培训活动');
        }

        //判断
        if($info['status'] != 1){
            $this->error('该培训已下架');
        }
        if($info['userauth_status'] == 0){
            /*if($this->auth->idcard_status != 1){
                $this->error('您未实名,不能签到该培训活动');
            }*/
            if(!in_array($this->auth->id,explode(',',$info['user_ids']))){
                $this->error('您不在该培训活动名单');
            }
        }

        $map = [
            'train_id' => $id,
            'user_id'  => $this->auth->id,
        ];
        $check = Db::name('user_train')->where($map)->find();
        if($check){
            $this->error('您已经签过到了');
        }

        //签到
        $status = 1;
        if(time() > $info['sign_endtime']){
            $status = 0;//迟到
        }

        $data = [
            'train_id' => $id,
            'user_id' => $this->auth->id,
            'sign_time' => time(),
            'status' => $status,
            'sign_image' => $sign_image,
        ];
        Db::name('user_train')->insertGetId($data);
        $this->success('签到成功');
    }

    //检测权限
    public function check(){
        $type = input('type','pingjia');
        $id = input('id',0);

        if($type == 'pingjia'){

            $info = Db::name('train_active')->where('id',$id)->find();
            if($info['pingjia_uid'] != $this->auth->id){
                $this->error('您不能评价当前培训');
            }
            $this->success('验证成功');
        }

        if($type == 'sign'){
            $this->success('验证成功');
        }

        $this->error('验证失败');
    }

    //评价成功
    public function pingjia(){
        $pingjia       = input('pingjia','');
        $pingjia_image = input('sign_image','');

        if(empty($pingjia) || empty($pingjia_image)){
            $this->error();
        }

        //
        $id = input('id');
        $info = Db::name('train_active')->where('id',$id)->find();
        if(empty($info)){
            $this->error('不存在的培训活动');
        }

        //判断
        if($info['status'] != 1){
            $this->error('该培训已下架');
        }

        if($this->auth->id != $info['pingjia_uid']){
            $this->error('您不能签到该培训活动');
        }

        //评价
        $data = [
            'pingjia' => $pingjia,
            'pingjia_image' => $pingjia_image,
            'pingjia_time' => time(),
        ];
        Db::name('train_active')->where('id',$id)->update($data);
        $this->success('评价成功');
    }


}