OrderInfoAsw.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\model\system;
  4. use library\basic\BaseModel;
  5. use think\Model;
  6. /**
  7. * @mixin \think\Model
  8. */
  9. class OrderInfoAsw extends BaseModel
  10. {
  11. /**
  12. * 获取列表数据
  13. * @param $page
  14. * @param $where
  15. * @param $pageCount
  16. * @param $desc
  17. */
  18. public function getList($page,$where = [],$pageCount = 20,$filed = '*',$desc = 'mo.id desc')
  19. {
  20. $data = $this
  21. ->field(
  22. "mo.id,mo.msg_mono,mo.msg_img,mo.admin_id,mo.mono,mo.status,mo.time as cl_time,mo.admin_time as cl_admin_time,(select order_id from table_order where id = of.o_id) as order_id,"
  23. . "mo.o_id,of.name,of.out_order_id,of.mobile,of.address,of.time,of.send_time,(SELECT title from table_express where id = of.exp_id) as exp_name,of.exp_number"
  24. )
  25. ->alias("mo")
  26. ->join('order_info of', "mo.of_id=of.id")
  27. ->when(!empty($where), function ($query) use ($where) {
  28. //订单类型
  29. if(is_numeric($where['aswStatus'])) {
  30. $query->where('mo.status',$where['aswStatus']);
  31. }
  32. //timeType[今日,昨日,最近7天,最近30天]
  33. if(!empty($where['timeType'])) {
  34. if($where['timeType'] == 'day') {
  35. $query->whereDay('mo.time');
  36. }
  37. if($where['timeType'] == 'yesterday') {
  38. $query->whereDay('mo.time','yesterday');
  39. }
  40. if($where['timeType'] == 'last7') {
  41. $query->whereTime('mo.time','-7 day');
  42. }
  43. if($where['timeType'] == 'last30') {
  44. $query->whereTime('mo.time','-30 day');
  45. }
  46. }
  47. })
  48. ->order($desc)
  49. ->paginate(['list_rows' => $pageCount, 'page' => $page])
  50. ->toArray();
  51. return [$data['total'], $data['data']];
  52. }
  53. }