<?php

namespace app\api\controller\school\worker;

use app\common\model\school\classes\Cate;
use app\common\model\school\classes\ClassesLib;
use app\common\model\school\classes\Label;
use app\common\model\school\classes\Type;
use app\common\model\school\SearchCity;
use think\Cache;
use think\Log;

/**
 * 员工管理机构课程接口
 */
class Classes extends Base
{
    protected $noNeedLogin = [];
    protected $noNeedRight = '*';

    protected $model = null;

    /**
     * 初始化操作
     * @access protected
     */
    protected function _initialize()
    {

        $this->model = new ClassesLib;
        parent::_initialize();

        //判断登录用户是否是员工   'add','edit','del'

        $this->setUrlLock();

    }


     /**
     * @ApiTitle(员工课程添加)
     * @ApiSummary(员工课程添加)
     * @ApiMethod(POST)
      * @ApiParams(name = "classes_num", type = "int",required=true,description = "核销次数")
     * @ApiParams(name = "status", type = "string",required=true,description = "上架状态:1=上架,2=下架,3=平台下架")
     * @ApiParams(name = "teacher_id", type = "int",required=true,description = "老师id")
      * @ApiParams(name = "classes_type", type = "string",required=true,description = "课程类型")
      * @ApiParams(name = "classes_cate_ids", type = "string",required=true,description = "课程标签ids 多值逗号拼接")
      * @ApiParams(name = "classes_label_ids", type = "string",required=true,description = "课程热门标签")
      * @ApiParams(name = "self_label_tag", type = "string",required=true,description = "机构热门标签：多值逗号拼接")
      * @ApiParams(name = "title", type = "string",required=true,description = "课程标题")
      * @ApiParams(name = "headimage", type = "string",required=true,description = "课程头图")
      * @ApiParams(name = "images", type = "string",required=true,description = "课程轮播图多值逗号拼接")
      * @ApiParams(name = "type", type = "string",required=true,description = "地点类型:out=户外,in=室内")
      * @ApiParams(name = "spec", type = "string",required=true,description = "课时多规格：[{'id':665,'classes_lib_id':570,'name':'xxxxx','limit_num':100,'status':'1','weigh':665,'time':'2024\/12\/12 19:00 - 2024\/12\/12 20:00'}] ")
      * @ApiParams(name = "address_type", type = "string",required=true,description = "地址类型:1=按机构,2=独立位置")
      * @ApiParams(name = "province", type = "string",required=false,description = "省编号")
      * @ApiParams(name = "city", type = "string",required=false,description = "市编号")
      * @ApiParams(name = "district", type = "string",required=false,description = "县区编号")
      * @ApiParams(name = "address", type = "string",required=false,description = "地图定位地址")
      * @ApiParams(name = "address_detail", type = "string",required=false,description = "手录详细地址")
      * @ApiParams(name = "longitude", type = "string",required=false,description = "经度")
      * @ApiParams(name = "latitude", type = "string",required=false,description = "纬度")
      * @ApiParams(name = "content", type = "string",required=false,description = "课程详情")
      * @ApiParams(name = "notice", type = "string",required=false,description = "课程须知")
      * @ApiParams(name = "price", type = "string",required=false,description = "课程价格 0为免费")
      * @ApiParams(name = "selfhot", type = "string",required=false,description = "机构热门:0=否,1=是")
     * @ApiReturn({
     *
     *})
     */
    public function add(){
        $user_id = 0;
        $user = $this->auth->getUser();//登录用户
        if($user)$user_id = $user['id'];
        $params = [];
        $params["status"] =  $this->request->post('status/s', 0); //上架状态:1=上架,2=下架,3=平台下架
        $params["teacher_id"]  =  $this->request->post('teacher_id/d', 0); //老师id
        $params["classes_type"] =  $this->request->post('classes_type/s', ''); //老师id
        $params["classes_cate_ids"] =  $this->request->post('classes_cate_ids/s', ''); //课程标签
        $params["classes_label_ids"] =  $this->request->post('classes_label_ids/s', ''); //课程热门标签
        $params["self_label_tag"] =  $this->request->post('self_label_tag/s', ''); //老师id
        $params["title"] =  $this->request->post('title/s', ''); //老师id
        $params["headimage"] =  $this->request->post('headimage/s', ''); //老师id
        $params["images"] =  $this->request->post('images/s', ''); //老师id
        $params["type"] =  $this->request->post('type/s', ''); //老师id
        $params["spec"] =  $this->request->post('spec/s', ''); //老师id
        $params["classes_num"] =  $this->request->post('classes_num/d', 0); //核销次数
        //
        $params["address_type"] =  $this->request->post('address_type/s', ''); //老师id
        $params["province"] =  $this->request->post('province/d', 0); //老师id
        $params["city"] =  $this->request->post('city/d', 0); //老师id
        $params["district"] =  $this->request->post('district/d', 0); //老师id
        $params["address"] =  $this->request->post('address/s', ''); //老师id
        $params["address_detail"] =  $this->request->post('address_detail/s', ''); //老师id
        $params["longitude"] =  $this->request->post('longitude/s', 0); //老师id
        $params["latitude"] =  $this->request->post('latitude/s', 0); //老师id
        $params["content"] =  $this->request->post('content/s', ''); //老师id
        $params["notice"] =  $this->request->post('notice/s', ''); //老师id
        $params["price"] =  $this->request->post('price/f', 0); //老师id
        $params["selfhot"] =  $this->request->post('selfhot/s', ''); //老师id


        //classes_type

        try{
            $res = $this->model->createClassesByOper($params,true,'user',$user_id,true);
        }catch (\Throwable $e){
            $this->error($e->getMessage());
        }
        $this->success('添加成功', $res);
    }






    /**
     * @ApiTitle(员工课程编辑)
     * @ApiSummary(员工课程编辑)
     * @ApiMethod(POST)
     * @ApiParams(name = "id", type = "string",required=true,description = "课程id")
     * @ApiParams(name = "status", type = "string",required=true,description = "上架状态:1=上架,2=下架,3=平台下架")
     * @ApiParams(name = "teacher_id", type = "int",required=true,description = "老师id")
     * @ApiParams(name = "classes_type", type = "string",required=true,description = "课程类型")
     * @ApiParams(name = "classes_cate_ids", type = "string",required=true,description = "课程标签ids 多值逗号拼接")
     * @ApiParams(name = "classes_label_ids", type = "string",required=true,description = "课程热门标签")
     * @ApiParams(name = "self_label_tag", type = "string",required=true,description = "机构热门标签：多值逗号拼接")
     * @ApiParams(name = "title", type = "string",required=true,description = "课程标题")
     * @ApiParams(name = "headimage", type = "string",required=true,description = "课程头图")
     * @ApiParams(name = "images", type = "string",required=true,description = "课程轮播图多值逗号拼接")
     * @ApiParams(name = "type", type = "string",required=true,description = "地点类型:out=户外,in=室内")
     * @ApiParams(name = "spec", type = "string",required=true,description = "课时多规格：[{'id':665,'classes_lib_id':570,'name':'xxxxx','limit_num':100,'status':'1','weigh':665,'time':'2024\/12\/12 19:00 - 2024\/12\/12 20:00'}] ")
     * @ApiParams(name = "address_type", type = "string",required=true,description = "地址类型:1=按机构,2=独立位置")
     * @ApiParams(name = "province", type = "string",required=false,description = "省编号")
     * @ApiParams(name = "city", type = "string",required=false,description = "市编号")
     * @ApiParams(name = "district", type = "string",required=false,description = "县区编号")
     * @ApiParams(name = "address", type = "string",required=false,description = "地图定位地址")
     * @ApiParams(name = "address_detail", type = "string",required=false,description = "手录详细地址")
     * @ApiParams(name = "longitude", type = "string",required=false,description = "经度")
     * @ApiParams(name = "latitude", type = "string",required=false,description = "纬度")
     * @ApiParams(name = "content", type = "string",required=false,description = "课程详情")
     * @ApiParams(name = "notice", type = "string",required=false,description = "课程须知")
     * @ApiParams(name = "price", type = "string",required=false,description = "课程价格 0为免费")
     * @ApiParams(name = "selfhot", type = "string",required=false,description = "机构热门:0=否,1=是")
     * @ApiReturn({
     *
     *})
     */
    public function edit(){
        $user_id = 0;
        $user = $this->auth->getUser();//登录用户
        if($user)$user_id = $user['id'];
        $params = [];
        $id =  $this->request->post('id/d', 0);
        $params["status"] =  $this->request->post('status/s', ''); //上架状态:1=上架,2=下架,3=平台下架
        $params["teacher_id"]  =  $this->request->post('teacher_id/d', 0); //老师id
        $params["classes_type"] =  $this->request->post('classes_type/s', ''); //老师id
        $params["classes_cate_ids"] =  $this->request->post('classes_cate_ids/s', ''); //课程标签
        $params["classes_label_ids"] =  $this->request->post('classes_label_ids/s', ''); //课程热门标签
        $params["self_label_tag"] =  $this->request->post('self_label_tag/s', ''); //老师id
        $params["title"] =  $this->request->post('title/s', ''); //老师id
        $params["headimage"] =  $this->request->post('headimage/s', ''); //老师id
        $params["images"] =  $this->request->post('images/s', ''); //老师id
        $params["type"] =  $this->request->post('type/s', ''); //老师id
        $params["spec"] =  $this->request->post('spec/s', ''); //老师id
        $params["address_type"] =  $this->request->post('address_type/s', ''); //老师id
        $params["province"] =  $this->request->post('province/d', 0); //老师id
        $params["city"] =  $this->request->post('city/d', 0); //老师id
        $params["district"] =  $this->request->post('district/d', 0); //老师id
        $params["address"] =  $this->request->post('address/s', ''); //老师id
        $params["address_detail"] =  $this->request->post('address_detail/s', ''); //老师id
        $params["longitude"] =  $this->request->post('longitude/s', 0); //老师id
        $params["latitude"] =  $this->request->post('latitude/s', 0); //老师id
        $params["content"] =  $this->request->post('content/s', ''); //老师id
        $params["notice"] =  $this->request->post('notice/s', ''); //老师id
        $params["price"] =  $this->request->post('price/f', 0); //老师id
        $params["selfhot"] =  $this->request->post('selfhot/s', ''); //老师id


        //classes_type

        try{
            $res = $this->model->updateClassesByOper($params,$id,true,'user',$user_id,true);
        }catch (\Throwable $e){
            $this->error($e->getMessage());
        }
        $this->success('编辑成功', $res);
    }





    /**
     * @ApiTitle(员工课程批量删除)
     * @ApiSummary(员工课程批量删除)
     * @ApiMethod(POST)
     * @ApiParams(name = "ids", type = "string",required=true,description = "需要删除的一组课程id，多值逗号拼接")
     * @ApiReturn({
     *
     *})
     */
    public function del(){
        $user_id = 0;
        $user = $this->auth->getUser();//登录用户
        if($user)$user_id = $user['id'];

        $ids =  $this->request->post('ids/s', '');

        try{
            $res = $this->model->deleteClassesByOper($ids,true,'user',$user_id,true);
        }catch (\Throwable $e){
            $this->error($e->getMessage());
        }
        $this->success("成功删除{$res}条数据",["delete_number"=>$res]);
    }




    /**
     * @ApiTitle(课程更改状态)
     * @ApiSummary(课程更改状态)
     * @ApiMethod(POST)
     * @ApiParams(name = "id", type = "string",required=true,description = "需要更改状态的课程id")
     * @ApiParams(name = "status", type = "string",required=true,description = "需要更改状态:1=上架,2=下架")
     * @ApiReturn({
     *
     *})
     */
    public function update_status(){
        $user_id = 0;
        $user = $this->auth->getUser();//登录用户
        if($user)$user_id = $user['id'];

        $id =  $this->request->post('id/s', '');
        $status =  $this->request->post('status/s', '');
        try{
            $res = $this->model->updateStatusByOper($status,$id,true,'user',$user_id,true);
        }catch (\Throwable $e){
            $this->error($e->getMessage());
        }
        $this->success("状态更改成功",["self"=>$res]);
    }






}