Bladeren bron

feat: EK-856: 管理员增加“Country”属性.

kevinElken 9 maanden geleden
bovenliggende
commit
e81741bad0

+ 2 - 6
backendApi/modules/v1/controllers/ShopController.php

@@ -184,12 +184,9 @@ class ShopController extends BaseController {
         $adminId = Yii::$app->getUser()->getUserInfo()['id'];
         $adminCountry = AdminCountry::getCountry($adminId);
 
+        $countries = array_filter($countries, fn($country) => in_array($country['ID'], $adminCountry));
+        $countries = array_values($countries);
         foreach ($countries as $key => $country) {
-            if (!in_array($country['ID'], $adminCountry)) {
-                unset($countries[$key]);
-                continue;
-            }
-
             // 货币
             $countries[$key]['LOCAL_CURRENCY_NAME'] = $currencies[$country['LOCAL_CURRENCY_ID']]['NAME'] ?? '';
             $countries[$key]['CURRENCY_PRODUCT_RATE'] = $currenciesConversions[$country['LOCAL_CURRENCY_ID']]['PRODUCT_RATE'] ?? 0;
@@ -480,7 +477,6 @@ class ShopController extends BaseController {
             return "'" . addslashes($item) . "'";
         }, $adminCountry);
 
-
         $filter['condition'] = !$filter['condition'] ? '1=1 AND O.IS_DELETE=0' : ('O.IS_DELETE=0 ' . $filter['condition']) . " AND O.COUNTRY_ID IN (" . implode(',', $quotedAdminCountry) . ")";
         $form = new ShopExportForm();
         $result = $form->run($filter, \Yii::t('ctx', 'shopOrderListExport')); // 订单列表

+ 6 - 10
backendApi/modules/v1/controllers/SiteController.php

@@ -188,12 +188,7 @@ class SiteController extends BaseController
                 $adminCountry = AdminCountry::getCountry($adminId);
 
                 $countries = array_filter($countries, fn($country) => in_array($country['ID'], $adminCountry));
-
-                foreach ($countries as $key => $country) {
-                    if (!in_array($country['ID'], $adminCountry)) {
-                        unset($countries[$key]);
-                    }
-                }
+                $countries = array_values($countries);
             }
         }
 
@@ -204,10 +199,11 @@ class SiteController extends BaseController
         $currenciesConversions = CurrencyConversions::getFromCache();
         $currenciesConversions = array_column($currenciesConversions, NULL, 'TO_CURRENCY_ID');
 
-        foreach ($countries as &$country) {
-            $country['LOCAL_CURRENCY_NAME'] = $currencies[$country['LOCAL_CURRENCY_ID']]['NAME'] ?? '';
-            $country['CURRENCY_PRODUCT_RATE'] = $currenciesConversions[$country['LOCAL_CURRENCY_ID']]['PRODUCT_RATE'] ?? 0;
-        }
+        $countries = array_map(fn($country) => [
+            ...$country,
+            'LOCAL_CURRENCY_NAME' => $currencies[$country['LOCAL_CURRENCY_ID']]['NAME'] ?? '',
+            'CURRENCY_PRODUCT_RATE' => $currenciesConversions[$country['LOCAL_CURRENCY_ID']]['PRODUCT_RATE'] ?? 0,
+        ], $countries);
 
         return static::notice(['data' => $countries]);
     }