1: | <?php
|
2: | namespace Opencart\Admin\Model\Extension\Opencart\Dashboard;
|
3: | |
4: | |
5: | |
6: | |
7: |
|
8: | class Map extends \Opencart\System\Engine\Model {
|
9: | |
10: | |
11: | |
12: | |
13: |
|
14: | public function getTotalOrdersByCountry(): array {
|
15: | $implode = [];
|
16: |
|
17: | if (is_array($this->config->get('config_complete_status'))) {
|
18: | foreach ($this->config->get('config_complete_status') as $order_status_id) {
|
19: | $implode[] = "'" . (int)$order_status_id . "'";
|
20: | }
|
21: | }
|
22: |
|
23: | if ($implode) {
|
24: | $query = $this->db->query("SELECT COUNT(*) AS `total`, SUM(`o`.`total`) AS `amount`, c.`iso_code_2` FROM `" . DB_PREFIX . "order` `o` LEFT JOIN `" . DB_PREFIX . "country` c ON (`o`.`payment_country_id` = c.`country_id`) WHERE `o`.`order_status_id` IN(" . implode(',', $implode) . ") AND `o`.`payment_country_id` != '0' GROUP BY `o`.`payment_country_id`");
|
25: |
|
26: | return $query->rows;
|
27: | } else {
|
28: | return [];
|
29: | }
|
30: | }
|
31: | }
|
32: | |