<?php namespace app\api\controller; use app\common\controller\Api; use think\Db; /** * 会员中心 */ class Usercenter extends Api { protected $noNeedLogin = []; protected $noNeedRight = ['*']; //我的配套 public function my_package(){ $map = [ 'order.user_id' => $this->auth->id, 'order.order_status' => 1, //'order.remain' => ['gt',0], 'order.is_gift' => 0, ]; $list = Db::name('package_order')->alias('order') ->field('order.id,order.starttime,order.endtime,order.is_gift,order.remain,p.name,p.name_en') ->join('lesson_package p','order.package_id = p.id','LEFT') ->where($map)->order('order.remain desc,order.endtime asc') ->autopage()->select(); $list = $this->list_lang($list,['name']); $this->success(1,$list); } //赠课记录 public function package_gift(){ $map = [ 'order.user_id' => $this->auth->id, 'order.order_status' => 1, //'order.remain' => ['gt',0], 'order.is_gift' => 1, ]; $list = Db::name('package_order')->alias('order') ->field('order.id,order.order_no,order.starttime,order.endtime,order.is_gift,order.sessions,order.remain, p.name as package_name,p.name_en as package_name_en, lesson.name,lesson.name_en') ->join('lesson_package p','order.package_id = p.id','LEFT') ->join('lesson','order.lesson_id = lesson.id','LEFT') ->where($map)->order('order.remain desc,order.endtime asc') ->autopage()->select(); $list = $this->list_lang($list,['name','package_name']); $this->success(1,$list); } //上课记录,预约点了名的 public function lesson_order_finish(){ $map = [ 'order.user_id' => $this->auth->id, 'order.order_status' => 20,//已点名 'order.usernumber_sign' => ['gt',0], ]; $list = Db::name('lesson_order')->alias('order') ->field('order.id,order.order_amount,order.paytype,order.package_order_id,order.package_remark,lesson.name,lesson.name_en,slot.starttime,slot.hours,slot.address,slot.coach_ids') ->join('lesson_slot slot','order.slot_id = slot.id','LEFt') ->join('lesson','order.lesson_id = lesson.id','LEFT') ->where($map)->order('order.finishtime desc') ->autopage()->select(); $list = $this->list_lang($list,['name']); //准备教练数据 $coach_list = Db::name('coach')->column('id,nickname'); foreach($list as $key => &$order){ //放入教练 $coach_text = ''; $coach_ids = explode(',',$order['coach_ids']); foreach($coach_ids as $coach_id){ $coach_text .= $coach_list[$coach_id].','; } $order['coach_text'] = substr($coach_text,0,-1); //放入支付套餐 if($order['paytype'] == 1){ $package_order = Db::name('package_order')->alias('order') ->field('p.name,p.name_en,order.starttime,order.endtime') ->join('lesson_package p','order.package_id = p.id','LEFT') ->where('order.id',$order['package_order_id'])->find(); $order['package_name'] = $package_order['name']; $order['package_name_en'] = $package_order['name_en']; $order['package_starttime'] = $package_order['starttime']; $order['package_endtime'] = $package_order['endtime']; } } $list = $this->list_lang($list,['package_name']); $this->success(1,$list); } //取消记录 public function lesson_order_cancel(){ $map = [ 'order.user_id' => $this->auth->id, 'order.order_status' => 30,//已取消 ]; $list = Db::name('lesson_order')->alias('order') ->field('order.id,order.order_amount,order.paytype,order.package_order_id,order.package_remark,order.cancel_reason,lesson.name,lesson.name_en,slot.starttime,slot.hours,slot.address,slot.coach_ids') ->join('lesson_slot slot','order.slot_id = slot.id','LEFt') ->join('lesson','order.lesson_id = lesson.id','LEFT') ->where($map)->order('order.cancel_time desc') ->autopage()->select(); $list = $this->list_lang($list,['name']); //准备教练数据 $coach_list = Db::name('coach')->column('id,nickname'); foreach($list as $key => &$order){ //放入教练 $coach_text = ''; $coach_ids = explode(',',$order['coach_ids']); foreach($coach_ids as $coach_id){ $coach_text .= $coach_list[$coach_id].','; } $order['coach_text'] = substr($coach_text,0,-1); //放入支付套餐 /*if($order['paytype'] == 1){ $package_order = Db::name('package_order')->alias('order') ->field('p.name,p.name_en,order.starttime,order.endtime') ->join('lesson_package p','order.package_id = p.id','LEFT') ->where('order.id',$order['package_order_id'])->find(); $order['package_name'] = $package_order['name']; $order['package_name_en'] = $package_order['name_en']; $order['package_starttime'] = $package_order['starttime']; $order['package_endtime'] = $package_order['endtime']; }*/ } //$list = $this->list_lang($list,['package_name']); $this->success(1,$list); } //过期课程。就是过了上课时间,没签到的 public function lesson_order_signout(){ $map = [ 'order.user_id' => $this->auth->id, 'order.order_status' => 20,//已点名 'order.usernumber_sign' => 0,//没签到的 ]; $list = Db::name('lesson_order')->alias('order') ->field('order.id,order.order_amount,order.paytype,order.package_order_id,order.package_remark,lesson.name,lesson.name_en,slot.starttime,slot.hours,slot.address,slot.coach_ids') ->join('lesson_slot slot','order.slot_id = slot.id','LEFt') ->join('lesson','order.lesson_id = lesson.id','LEFT') ->where($map)->order('order.finishtime desc') ->autopage()->select(); $list = $this->list_lang($list,['name']); //准备教练数据 $coach_list = Db::name('coach')->column('id,nickname'); foreach($list as $key => &$order){ //放入教练 $coach_text = ''; $coach_ids = explode(',',$order['coach_ids']); foreach($coach_ids as $coach_id){ $coach_text .= $coach_list[$coach_id].','; } $order['coach_text'] = substr($coach_text,0,-1); //放入支付套餐 /*if($order['paytype'] == 1){ $package_order = Db::name('package_order')->alias('order') ->field('p.name,p.name_en,order.starttime,order.endtime') ->join('lesson_package p','order.package_id = p.id','LEFT') ->where('order.id',$order['package_order_id'])->find(); $order['package_name'] = $package_order['name']; $order['package_name_en'] = $package_order['name_en']; $order['package_starttime'] = $package_order['starttime']; $order['package_endtime'] = $package_order['endtime']; }*/ } // $list = $this->list_lang($list,['package_name']); $this->success(1,$list); } //课程预约,即将到来,试课和售课 //课程预约,预约记录,试课和售课 //设置通知方式 //配套转让申请 //配套延期申请 //课时退课申请 //公司团建活动信息 }