Usercenter.php 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. <?php
  2. namespace app\api\controller;
  3. use app\common\controller\Api;
  4. use think\Db;
  5. /**
  6. * 会员中心
  7. */
  8. class Usercenter extends Api
  9. {
  10. protected $noNeedLogin = [];
  11. protected $noNeedRight = ['*'];
  12. //我的配套
  13. public function my_package(){
  14. $map = [
  15. 'order.user_id' => $this->auth->id,
  16. 'order.order_status' => 1,
  17. //'order.remain' => ['gt',0],
  18. 'order.is_gift' => 0,
  19. ];
  20. $list = Db::name('package_order')->alias('order')
  21. ->field('order.id,order.starttime,order.endtime,order.is_gift,order.remain,p.name,p.name_en')
  22. ->join('lesson_package p','order.package_id = p.id','LEFT')
  23. ->where($map)->order('order.remain desc,order.endtime asc')
  24. ->autopage()->select();
  25. $list = $this->list_lang($list,['name']);
  26. $this->success(1,$list);
  27. }
  28. //赠课记录
  29. public function package_gift(){
  30. $map = [
  31. 'order.user_id' => $this->auth->id,
  32. 'order.order_status' => 1,
  33. //'order.remain' => ['gt',0],
  34. 'order.is_gift' => 1,
  35. ];
  36. $list = Db::name('package_order')->alias('order')
  37. ->field('order.id,order.order_no,order.starttime,order.endtime,order.is_gift,order.sessions,order.remain,
  38. p.name as package_name,p.name_en as package_name_en,
  39. lesson.name,lesson.name_en')
  40. ->join('lesson_package p','order.package_id = p.id','LEFT')
  41. ->join('lesson','order.lesson_id = lesson.id','LEFT')
  42. ->where($map)->order('order.remain desc,order.endtime asc')
  43. ->autopage()->select();
  44. $list = $this->list_lang($list,['name','package_name']);
  45. $this->success(1,$list);
  46. }
  47. //上课记录,预约点了名的
  48. public function lesson_order_finish(){
  49. $map = [
  50. 'order.user_id' => $this->auth->id,
  51. 'order.order_status' => 20,//已点名
  52. 'order.usernumber_sign' => ['gt',0],
  53. ];
  54. $list = Db::name('lesson_order')->alias('order')
  55. ->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')
  56. ->join('lesson_slot slot','order.slot_id = slot.id','LEFt')
  57. ->join('lesson','order.lesson_id = lesson.id','LEFT')
  58. ->where($map)->order('order.finishtime desc')
  59. ->autopage()->select();
  60. $list = $this->list_lang($list,['name']);
  61. //准备教练数据
  62. $coach_list = Db::name('coach')->column('id,nickname');
  63. foreach($list as $key => &$order){
  64. //放入教练
  65. $coach_text = '';
  66. $coach_ids = explode(',',$order['coach_ids']);
  67. foreach($coach_ids as $coach_id){
  68. $coach_text .= $coach_list[$coach_id].',';
  69. }
  70. $order['coach_text'] = substr($coach_text,0,-1);
  71. //放入支付套餐
  72. if($order['paytype'] == 1){
  73. $package_order = Db::name('package_order')->alias('order')
  74. ->field('p.name,p.name_en,order.starttime,order.endtime')
  75. ->join('lesson_package p','order.package_id = p.id','LEFT')
  76. ->where('order.id',$order['package_order_id'])->find();
  77. $order['package_name'] = $package_order['name'];
  78. $order['package_name_en'] = $package_order['name_en'];
  79. $order['package_starttime'] = $package_order['starttime'];
  80. $order['package_endtime'] = $package_order['endtime'];
  81. }
  82. }
  83. $list = $this->list_lang($list,['package_name']);
  84. $this->success(1,$list);
  85. }
  86. //取消记录
  87. public function lesson_order_cancel(){
  88. $map = [
  89. 'order.user_id' => $this->auth->id,
  90. 'order.order_status' => 30,//已取消
  91. ];
  92. $list = Db::name('lesson_order')->alias('order')
  93. ->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')
  94. ->join('lesson_slot slot','order.slot_id = slot.id','LEFt')
  95. ->join('lesson','order.lesson_id = lesson.id','LEFT')
  96. ->where($map)->order('order.cancel_time desc')
  97. ->autopage()->select();
  98. $list = $this->list_lang($list,['name']);
  99. //准备教练数据
  100. $coach_list = Db::name('coach')->column('id,nickname');
  101. foreach($list as $key => &$order){
  102. //放入教练
  103. $coach_text = '';
  104. $coach_ids = explode(',',$order['coach_ids']);
  105. foreach($coach_ids as $coach_id){
  106. $coach_text .= $coach_list[$coach_id].',';
  107. }
  108. $order['coach_text'] = substr($coach_text,0,-1);
  109. //放入支付套餐
  110. /*if($order['paytype'] == 1){
  111. $package_order = Db::name('package_order')->alias('order')
  112. ->field('p.name,p.name_en,order.starttime,order.endtime')
  113. ->join('lesson_package p','order.package_id = p.id','LEFT')
  114. ->where('order.id',$order['package_order_id'])->find();
  115. $order['package_name'] = $package_order['name'];
  116. $order['package_name_en'] = $package_order['name_en'];
  117. $order['package_starttime'] = $package_order['starttime'];
  118. $order['package_endtime'] = $package_order['endtime'];
  119. }*/
  120. }
  121. //$list = $this->list_lang($list,['package_name']);
  122. $this->success(1,$list);
  123. }
  124. //过期课程。就是过了上课时间,没签到的
  125. public function lesson_order_signout(){
  126. $map = [
  127. 'order.user_id' => $this->auth->id,
  128. 'order.order_status' => 20,//已点名
  129. 'order.usernumber_sign' => 0,//没签到的
  130. ];
  131. $list = Db::name('lesson_order')->alias('order')
  132. ->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')
  133. ->join('lesson_slot slot','order.slot_id = slot.id','LEFt')
  134. ->join('lesson','order.lesson_id = lesson.id','LEFT')
  135. ->where($map)->order('order.finishtime desc')
  136. ->autopage()->select();
  137. $list = $this->list_lang($list,['name']);
  138. //准备教练数据
  139. $coach_list = Db::name('coach')->column('id,nickname');
  140. foreach($list as $key => &$order){
  141. //放入教练
  142. $coach_text = '';
  143. $coach_ids = explode(',',$order['coach_ids']);
  144. foreach($coach_ids as $coach_id){
  145. $coach_text .= $coach_list[$coach_id].',';
  146. }
  147. $order['coach_text'] = substr($coach_text,0,-1);
  148. //放入支付套餐
  149. /*if($order['paytype'] == 1){
  150. $package_order = Db::name('package_order')->alias('order')
  151. ->field('p.name,p.name_en,order.starttime,order.endtime')
  152. ->join('lesson_package p','order.package_id = p.id','LEFT')
  153. ->where('order.id',$order['package_order_id'])->find();
  154. $order['package_name'] = $package_order['name'];
  155. $order['package_name_en'] = $package_order['name_en'];
  156. $order['package_starttime'] = $package_order['starttime'];
  157. $order['package_endtime'] = $package_order['endtime'];
  158. }*/
  159. }
  160. // $list = $this->list_lang($list,['package_name']);
  161. $this->success(1,$list);
  162. }
  163. //课程预约,即将到来,试课和售课
  164. //课程预约,预约记录,试课和售课
  165. //设置通知方式
  166. //配套转让申请
  167. //配套延期申请
  168. //课时退课申请
  169. //公司团建活动信息
  170. }