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

feat: NG-15: 新会员注册时增加国家与语言选项.

kevin пре 1 година
родитељ
комит
43a7c612d3

+ 2 - 1
frontendApi/modules/v1/controllers/ShopController.php

@@ -88,13 +88,14 @@ class ShopController extends BaseController {
                 $condition .= " AND (INSTALMENT = 0 OR INSTALMENT=1)";
             }
         }
+        $condition .= ' AND N.COUNTRY_ID = ' . $user['COUNTRY_ID'];
 
 
         $data = ShopGoods::lists($condition, $params, [
             'select' => 'S.*,N.MARKET_PRICE,N.SELL_PRICE,N.TAX_RATE,N.LOCAL_CURRENCY_ID,N.COUNTRY_ID',
             'from' => ShopGoods::tableName() . ' AS S',
             'join' => [
-                ['INNER JOIN', ShopGoodsNature::tableName() . ' AS N', 'N.GOODS_ID = S.ID AND N.COUNTRY_ID = ' . $user['COUNTRY_ID']],
+                ['INNER JOIN', ShopGoodsNature::tableName() . ' AS N', 'N.GOODS_ID = S.ID'],
             ],
             'orderBy' => 'S.SORT ASC, S.CREATED_AT DESC',
         ]);

+ 17 - 15
frontendApi/modules/v1/controllers/UserController.php

@@ -386,24 +386,24 @@ class UserController extends BaseController {
         $stageFX = Instalment::getOneStage($baseInfo['ID'], 'FX');
         if ($stageFX && $stageFX < $instalmentConfig) {
             if ($isMax === "true") {
-                $condition = ") AND INSTALMENT = 1000";
+                $condition = ") AND S.INSTALMENT = 1000";
             } else {
-                $condition = ") AND (INSTALMENT = 0 OR INSTALMENT = 1000)";
+                $condition = ") AND (S.INSTALMENT = 0 OR S.INSTALMENT = 1000)";
             }
         } else {
             // 是否有未完成的BD类型的分期订单
             $stageBD = Instalment::getOneStage($baseInfo['ID'], 'BD');
             if ($isMax === "true") {
                 if ($stageBD > 0 && $stageBD < $instalmentConfig) {
-                    $condition = ") AND (INSTALMENT = " . ($stageBD + 1) . ")";
+                    $condition = ") AND (S.INSTALMENT = " . ($stageBD + 1) . ")";
                 } else {
-                    $condition = ") AND INSTALMENT = 0";
+                    $condition = ") AND S.INSTALMENT = 0";
                 }
             } else {
                 if ($stageBD > 0 && $stageBD < $instalmentConfig) {
-                    $condition = ") AND (INSTALMENT = 0 OR INSTALMENT = " . ($stageBD + 1) . ")";
+                    $condition = ") AND (S.INSTALMENT = 0 OR S.INSTALMENT = " . ($stageBD + 1) . ")";
                 } else {
-                    $condition = ") AND (INSTALMENT = 0 OR INSTALMENT = 1)";
+                    $condition = ") AND (S.INSTALMENT = 0 OR S.INSTALMENT = 1)";
                 }
             }
         }
@@ -415,18 +415,18 @@ class UserController extends BaseController {
         $decUserName = User::getEnCodeInfo(\Yii::$app->user->id)['USER_NAME'];
         $query_condition= " AND (1<>1";
         if(!$isDecReg || ($isDecReg && $isDec==1)){
-            $query_condition = " AND (FIND_IN_SET(1,GIFT_TYPE)>0";
+            $query_condition = " AND (FIND_IN_SET(1, S.GIFT_TYPE)>0";
         }
         if($isStudio==1){
-            $query_condition.= " OR FIND_IN_SET(3,GIFT_TYPE)>0";
+            $query_condition.= " OR FIND_IN_SET(3, S.GIFT_TYPE)>0";
         }
 
-        $query_condition .= $condition;
+        $query_condition .= $condition . ' AND N.COUNTRY_ID = ' . $user['COUNTRY_ID'];
 
         $allGoods = ShopGoods::find()
             ->alias('S')
             ->select('S.*,N.MARKET_PRICE,N.SELL_PRICE,N.TAX_RATE,N.LOCAL_CURRENCY_ID,N.COUNTRY_ID')
-            ->join('LEFT JOIN', ShopGoodsNature::tableName() . ' AS N', 'N.GOODS_ID=S.ID AND N.COUNTRY_ID = ' . $user['COUNTRY_ID'])
+            ->join('LEFT JOIN', ShopGoodsNature::tableName() . ' AS N', 'N.GOODS_ID=S.ID')
             ->where("STATUS=1 AND CATEGORY_TYPE=1 " . $query_condition)
             ->orderBy('SORT ASC')
             ->asArray()
@@ -556,19 +556,21 @@ class UserController extends BaseController {
         $isDecReg = Cache::getSystemConfig()['isDecReg']['VALUE'];
         $isDec = User::getEnCodeInfo(\Yii::$app->user->id)['IS_DEC'];
         $isStudio = User::getEnCodeInfo(\Yii::$app->user->id)['IS_STUDIO'];
-        $query_condition= " AND (1<>1";
+
+        $query_condition = " AND (1<>1";
         if(!$isDecReg || ($isDecReg && $isDec==1)){
-            $query_condition = " AND (FIND_IN_SET(1,GIFT_TYPE)>0";
+            $query_condition = " AND (FIND_IN_SET(1, S.GIFT_TYPE)>0";
         }
         if($isStudio==1){
-            $query_condition.= " OR FIND_IN_SET(3,GIFT_TYPE)>0";
+            $query_condition .= " OR FIND_IN_SET(3, S.GIFT_TYPE)>0";
         }
-        $query_condition.= ") AND (INSTALMENT=0 OR INSTALMENT=1)";
+        $query_condition .= ") AND (S.INSTALMENT=0 OR S.INSTALMENT=1) AND N.COUNTRY_ID=" . $countryId;
+
         // 只查询普通商品
         $allGoods = ShopGoods::find()
             ->alias('S')
             ->select('S.*,N.MARKET_PRICE,N.SELL_PRICE,N.TAX_RATE,N.LOCAL_CURRENCY_ID,N.COUNTRY_ID')
-            ->join('INNER JOIN', ShopGoodsNature::tableName() . ' AS N', 'N.GOODS_ID=S.ID AND N.COUNTRY_ID = ' . $countryId)
+            ->join('INNER JOIN', ShopGoodsNature::tableName() . ' AS N', 'N.GOODS_ID=S.ID')
             ->where("STATUS=1 AND CATEGORY_TYPE=1 " . $query_condition)
             ->orderBy('SORT ASC')
             ->asArray()