OrderModel.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <?php
  2. /**
  3. * Author: luzheng.liu
  4. * Time: 2020/12/5 19:52
  5. */
  6. namespace app\api\model;
  7. use app\common\until\Until;
  8. use think\Db;
  9. use think\Model;
  10. class OrderModel extends BaseModel {
  11. const IS_PAY = 2;
  12. const IS_CLOSE = 3;
  13. const IS_DELETE = 4;
  14. protected $table = 'order';
  15. public function getOrderList() {
  16. $countModel = $this->alias('o')
  17. ->join('store store', 'store.id = o.store_id','left')
  18. ->join('staff staff', 'staff.id = o.staff_id','left')
  19. ->join('write_off wo', 'wo.order_id = o.id','left')
  20. ->join('admin ad','ad.id = wo.admin_id','left')
  21. ->join('user u','u.id = o.user_id','left')
  22. ->join('discuss_order discussOrder','discussOrder.order_id = o.id and discussOrder.user_id = o.user_id','left');
  23. $selectModel = $this->alias('o')
  24. ->field('o.*,store.store_name,store.address,discussOrder.id as discussId,staff.staff_name,wo.write_off_code,
  25. wo.write_off_status,wo.write_off_time,wo.admin_id as writeOffAdminId,wo.over_time as writeOffOverTime,
  26. p.product_name,p.product_img,
  27. u.name as userName,ad.name as writeOffName')
  28. ->join('store store', 'store.id = o.store_id','left')
  29. ->join('staff staff', 'staff.id = o.staff_id','left')
  30. ->join('product p', 'p.id = o.product_id','left')
  31. ->join('write_off wo', 'wo.order_id = o.id','left')
  32. ->join('user u','u.id = o.user_id','left')
  33. ->join('admin ad','ad.id = wo.admin_id','left')
  34. ->join('discuss_order discussOrder','discussOrder.order_id = o.id and discussOrder.user_id = o.user_id','left')
  35. ->order('o.id desc');
  36. return $this->joinModelPageList($countModel, $selectModel);
  37. }
  38. public function getOrderInfo() {
  39. $selectModel = $this->alias('o')
  40. ->field('o.*,store.store_name,store.address,store.mobile as storeMobile,discussOrder.id as discussId,staff.staff_name,wo.write_off_code,
  41. wo.write_off_status,wo.write_off_time,wo.admin_id as writeOffAdminId,wo.over_time as writeOffOverTime,wo.create_time as writeOffCreateTime,
  42. p.product_name,p.product_img,store.latitude,store.longitude,ad.name as writeOffName')
  43. ->join('store store', 'store.id = o.store_id','left')
  44. ->join('staff staff', 'staff.id = o.staff_id','left')
  45. ->join('product p', 'p.id = o.product_id','left')
  46. ->join('write_off wo', 'wo.order_id = o.id','left')
  47. ->join('admin ad','ad.id = wo.admin_id','left')
  48. ->join('discuss_order discussOrder','discussOrder.order_id = o.id and discussOrder.user_id = o.user_id','left')
  49. ->where($this->getWhere())
  50. ->find();
  51. return Until::modelToArray($selectModel);
  52. }
  53. }