mode = new SaasOrderQrcode(); return $this->searchVal($param,$this->searchFilter($param))->paginate([ "list_rows" => $param['pageSize'], "page" => $param['page'] ]); } public function getTotal(array $param = []): array { $this->mode = new SaasOrderQrcode(); $total = ['t0' => 0, 't1' => 0, 'ta' => 0]; foreach ($this->searchVal($param,[['status',">",0]])->field('create_at,status,count(1) total')->group('status,create_at')->cursor() as $vo) { [$total["t{$vo['status']}"] += $vo['total'], $total['ta'] += $vo['total']]; } return $total; } protected function searchFilter(array $param = []): array { $filter = []; !empty($param['status']) && $filter[] = ["status", '=', ($param['status']-1)]; !empty($param['statusGt']) && $filter[] = ["status", '>', ($param['statusGt']-1)]; !empty($param['orderid']) && $filter[] = ["order_sn", 'like', "%{$param['orderid']}%"]; !empty($param['shop']) && $filter[] = ["shop_id", '=', $param['shop']]; return $filter; } }