OrderService.php 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <?php
  2. namespace app\extra\service\saas;
  3. use app\extra\basic\Service;
  4. use app\model\saas\SaasOrder;
  5. class OrderService extends Service
  6. {
  7. /**
  8. * @param array $param
  9. */
  10. public function getList(array $param = [])
  11. {
  12. $this->mode = new SaasOrder();
  13. return $this->searchVal($param,$this->searchFilter($param))->with(['goods' => function($query){
  14. $query->field("out_id,product_name,product_img,product_price");
  15. },"store" => function($query){
  16. $query->field("store_id,store_name,service_at_start,service_at_end");
  17. },"agent" => function ($query) {
  18. $query->field("agent_id,name");
  19. },"parent" => function ($query) {
  20. $query->field("order_id,status,pay_amount,order_amount,count");
  21. }])->paginate([
  22. "list_rows" => $param['pageSize'],
  23. "page" => $param['page']
  24. ]);
  25. }
  26. /**
  27. * @param array $param
  28. */
  29. public function getListAll(array $param = [])
  30. {
  31. $this->mode = new SaasOrder();
  32. return $this->searchVal($param,$this->searchFilter($param))->with(['goods' => function($query){
  33. $query->field("out_id,product_name,product_img,product_price");
  34. },"store" => function($query){
  35. $query->field("store_id,store_name,service_at_start,service_at_end");
  36. },"agent" => function ($query) {
  37. $query->field("agent_id,name");
  38. },"parent" => function ($query) {
  39. $query->field("order_id,status,pay_amount,order_amount,count");
  40. }])->select()->toArray();
  41. }
  42. public function getDataListMini(array $param = [])
  43. {
  44. $this->mode = new SaasOrder();
  45. return $this->searchVal($param,$this->searchFilter($param))->with(['goods' => function($query){
  46. $query->field("out_id,product_name,product_img,product_price");
  47. }])->paginate([
  48. "list_rows" => $param['size'],
  49. "page" => $param['page']
  50. ]);
  51. }
  52. protected function searchFilter(array $param = []): array
  53. {
  54. $filter = [];
  55. !empty($param['agent']) && $filter[] = ["agent_id", '=', $param['agent']];
  56. !empty($param['store']) && $filter[] = ["store_id", '=', $param['store']];
  57. !empty($param['open_id']) && $filter[] = ["open_id", '=', $param['open_id']];
  58. !empty($param['statusLt']) && $filter[] = ["status", '=', ($param['statusLt']-1)];
  59. !empty($param['auto']) && $filter[] = ["auto", '=', ($param['auto']-1)];
  60. !empty($param['status']) && $filter[] = ["status", '=', $param['status']];
  61. !empty($param['ex_status']) && $filter[] = ["express_status", '=', ($param['ex_status']-1)];
  62. !empty($param['orderid']) && $filter[] = ["order_id", 'like', "%{$param['orderid']}%"];
  63. !empty($param['ordersn']) && $filter[] = ["order_sn", 'like', "%{$param['ordersn']}%"];
  64. !empty($param['product']) && $filter[] = ["product_id", 'like', "%{$param['product']}%"];
  65. !empty($param['name']) && $filter[] = ["product_name", 'like', "%{$param['name']}%"];
  66. !empty($param['certificate']) && $filter[] = ["certificate_id", 'like', "%{$param['certificate']}%"];
  67. return $filter;
  68. }
  69. }