courseBindModel = new \app\api\model\app\activity\BindCourse(); } public function getBindCourse(){ $activityId = input('activity_id'); $list = $this->courseBindModel ->with(['course']) ->where([ 'activity_id'=>$activityId, 'course.status'=>1 ]) ->select(); if($list){ foreach ($list as &$item){ $item->getRelation('course')->visible(['name','cover','id']); $item->visible(['id','course','count','subscription']); if(!$this->auth->isLogin()){ $item->subscription = false; }else{ $item->subscription = \app\common\model\user\Subscription::getSubscriptionAuth($this->auth->id,$item->course->id); } } } return $this->success("获取成功", $list); } /** * 检查参与权限 * @return void */ public function checkJoinAuth(){ $activityId = input('activity_id'); $data = $this->courseBindModel->checkJoinAuth($this->auth->id,$activityId); if($data){ return $this->success("可以参与"); } return $this->error("请先订阅关联课程"); } /** * 获取课程关联的活动 * @return void */ public function getCourseBindActivity(){ $courseId = $this->request->post('course_id'); $activityIds = $this->courseBindModel ->where([ 'course_id'=>$courseId ]) ->column('activity_id'); $query = \app\common\model\goods\Handle::getGoodsQuery(); $list = []; if($activityIds) { $list = $query->where([ 'id'=>['in',$activityIds], 'type'=>'activity' ])->select(); if($list){ foreach ($list as &$item){ $priceInfo = \app\common\model\goods\Handle::parseGoodsExtendInfo($item['id'],$item['type']); $item = array_merge($item,$priceInfo); } } } $this->success("获取成功",$list); } }