| 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: | |