AppointmentService.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. namespace app\admin\service\order;
  3. use app\model\Appointment;
  4. use support\Db;
  5. use support\Request;
  6. class AppointmentService
  7. {
  8. public static function select(Request $request)
  9. {
  10. $page = $request->get('page');
  11. $pageSize = $request->get('pageSize');
  12. $id = $request->get('id','');
  13. $mobile = $request->get('mobile','');
  14. $rows = Db::table('appointment')
  15. ->leftJoin('member','member.member_id','=','appointment.join_appointment_member_id')
  16. ->leftJoin('goods','goods.goods_id','=','appointment.join_appointment_goods_id')
  17. ->leftJoin('order','order.order_id','=','appointment.join_appointment_order_id')
  18. ->leftJoin('member_benefit','member_benefit.member_benefit_id','=','appointment.join_appointment_member_benefit_id')
  19. ->when($id != '', function ($query) use ($id){
  20. $query->where('appointment.appointment_id','like','%'.$id.'%');
  21. })->when($mobile != '', function ($query) use ($mobile){
  22. $query->where('member.member_mobile','like','%'.$mobile.'%');
  23. });
  24. $total = $rows->count('member.member_id');
  25. $rows = $rows->select('member.member_mobile','appointment.*','goods.*','order.*','member_benefit.*')
  26. ->orderBy('appointment.appointment_addtimes','desc')
  27. ->forPage($page,$pageSize)
  28. ->get();
  29. foreach ($rows as &$row) {
  30. $row->goods_cover = getenv('STORAGE_DOMAIN') . $row->goods_cover;
  31. }
  32. return json_success('', compact('rows', 'page', 'pageSize', 'total'));
  33. }
  34. }