Bläddra i källkod

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

kevinElken 10 månader sedan
förälder
incheckning
9c0444892f
1 ändrade filer med 21 tillägg och 13 borttagningar
  1. 21 13
      backendApi/modules/v1/controllers/ShopController.php

+ 21 - 13
backendApi/modules/v1/controllers/ShopController.php

@@ -959,12 +959,15 @@ class ShopController extends BaseController {
                 'CREATED_AT'=> 'P.CREATED_AT',
             ]);
 
-            $adminId = Yii::$app->getUser()->getUserInfo()['id'];
-            $adminCountry = AdminCountry::getCountry($adminId);
-            $quotedAdminCountry = array_map(function($item) {
-                return "'" . addslashes($item) . "'";
-            }, $adminCountry);
-            $filter['condition'] .= ' AND O.COUNTRY_ID IN (' . implode(',', $quotedAdminCountry) . ')';
+            $isSuper = AdminRole::isSuperAdmin(\Yii::$app->getUser()->getUserInfo()['roleId']);
+            if (!$isSuper) {
+                $adminId = Yii::$app->getUser()->getUserInfo()['id'];
+                $adminCountry = AdminCountry::getCountry($adminId);
+                $quotedAdminCountry = array_map(function($item) {
+                    return "'" . addslashes($item) . "'";
+                }, $adminCountry);
+                $filter['condition'] .= ' AND O.COUNTRY_ID IN (' . implode(',', $quotedAdminCountry) . ')';
+            }
 
             $listObj = new OrderPeriodAdjustList();
             $data = $listObj->getList(['condition' => $filter['condition'], 'params' => $filter['params']]);
@@ -981,13 +984,18 @@ class ShopController extends BaseController {
     {
         $orderSn = \Yii::$app->request->get('orderSn');
 
-        $adminId = Yii::$app->getUser()->getUserInfo()['id'];
-        $adminCountry = AdminCountry::getCountry($adminId);
-        $quotedAdminCountry = array_map(function($item) {
-            return "'" . addslashes($item) . "'";
-        }, $adminCountry);
-        // 订单
-        $order = Order::findOneAsArray('SN=:SN AND COUNTRY_ID IN (' . implode(',', $quotedAdminCountry) . ')', [':SN' => $orderSn]);
+        $isSuper = AdminRole::isSuperAdmin(\Yii::$app->getUser()->getUserInfo()['roleId']);
+        if (!$isSuper) {
+            $adminId = Yii::$app->getUser()->getUserInfo()['id'];
+            $adminCountry = AdminCountry::getCountry($adminId);
+            $quotedAdminCountry = array_map(function ($item) {
+                return "'" . addslashes($item) . "'";
+            }, $adminCountry);
+
+            $order = Order::findOneAsArray('SN=:SN AND COUNTRY_ID IN (' . implode(',', $quotedAdminCountry) . ')', [':SN' => $orderSn]);
+        } else {
+            $order = Order::findOneAsArray('SN=:SN', [':SN' => $orderSn]);
+        }
         if (!$order) {
             return static::notice(Yii::t('ctx', 'orderNotExist'), 400);
         }