Преглед изворни кода

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

kevinElken пре 10 месеци
родитељ
комит
a97fa101d6
1 измењених фајлова са 24 додато и 3 уклоњено
  1. 24 3
      backendApi/modules/v1/controllers/ShopController.php

+ 24 - 3
backendApi/modules/v1/controllers/ShopController.php

@@ -933,6 +933,18 @@ class ShopController extends BaseController {
                 'MODERN_PERIOD'=> 'P.MODERN_PERIOD',
                 'CREATED_AT'=> 'P.CREATED_AT',
             ]);
+
+            $adminId = Yii::$app->getUser()->getUserInfo()['id'];
+            $adminCountry = AdminCountry::getCountry($adminId);
+            $quotedAdminCountry = array_map(function($item) {
+                return "'" . addslashes($item) . "'";
+            }, $adminCountry);
+            if ($filter['condition']) {
+                $filter['condition'] .= ' AND UI.DELETED=0 AND U.COUNTRY_ID IN (' . implode(',', $quotedAdminCountry) . ')';
+            } else {
+                $filter['condition'] = ' UI.DELETED=0 AND U.COUNTRY_ID IN (' . implode(',', $quotedAdminCountry) . ')';
+            }
+
             $listObj = new OrderPeriodAdjustList();
             $data = $listObj->getList(['condition' => $filter['condition'], 'params' => $filter['params']]);
             return static::notice($data);
@@ -948,12 +960,20 @@ class ShopController extends BaseController {
     {
         $orderSn = \Yii::$app->request->get('orderSn');
 
-        $order = Order::findOneAsArray('SN=:SN', [':SN' => $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]);
         if (!$order) {
             return static::notice(Yii::t('ctx', 'orderNotExist'), 400);
         }
+
         $order['ORDER_TYPE'] = $order['ORDER_TYPE'] === 'ZC' ? Yii::t('ctx', 'shopOrderListOrderTypeZc') : Yii::t('ctx', 'shopOrderListOrderTypeFx');
-        // 如果当前订单所在期数已挂网,则不可调整
+
+        // 订单已挂网,不可调整
         $period = Period::getInfoByPeriodNum($order['PERIOD_NUM']);
         if (!$period) {
             return static::notice(Yii::t('ctx', 'invalidPcNo'), 400);
@@ -961,7 +981,8 @@ class ShopController extends BaseController {
         if ($period['IS_SENT'] > 0) {
             return static::notice(Yii::t('ctx', 'orderHasBeenConnected'), 400);
         }
-        // 根据订单期数查询可调整期数
+
+        // 可调整期数
         $availablePeriod = [];
         if ($order['PERIOD_NUM']) {
             $availablePeriod = Period::getPeriodList(+$order['PERIOD_NUM'] - 1);