QrcodeService.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace app\extra\service\saas;
  3. use app\extra\basic\Service;
  4. use app\model\saas\SaasOrderQrcode;
  5. class QrcodeService extends Service
  6. {
  7. /**
  8. * 列表
  9. * @param array $param
  10. */
  11. public function getList(array $param = [])
  12. {
  13. $this->mode = new SaasOrderQrcode();
  14. return $this->searchVal($param,$this->searchFilter($param))->paginate([
  15. "list_rows" => $param['pageSize'],
  16. "page" => $param['page']
  17. ]);
  18. }
  19. public function getTotal(array $param = []): array
  20. {
  21. $this->mode = new SaasOrderQrcode();
  22. $total = ['t0' => 0, 't1' => 0, 'ta' => 0];
  23. foreach ($this->searchVal($param,[['status',">",0]])->field('create_at,status,count(1) total')->group('status,create_at')->cursor() as $vo)
  24. {
  25. [$total["t{$vo['status']}"] += $vo['total'], $total['ta'] += $vo['total']];
  26. }
  27. return $total;
  28. }
  29. protected function searchFilter(array $param = []): array
  30. {
  31. $filter = [];
  32. !empty($param['status']) && $filter[] = ["status", '=', ($param['status']-1)];
  33. !empty($param['statusGt']) && $filter[] = ["status", '>', ($param['statusGt']-1)];
  34. !empty($param['orderid']) && $filter[] = ["order_sn", 'like', "%{$param['orderid']}%"];
  35. !empty($param['shop']) && $filter[] = ["shop_id", '=', $param['shop']];
  36. return $filter;
  37. }
  38. }