yingzi 1 year ago
parent
commit
e9089bb60a
2 changed files with 23 additions and 22 deletions
  1. 22 21
      Model/Price/MPrice.Class.php
  2. 1 1
      Model/Price/MPriceAdjustment.Class.php

+ 22 - 21
Model/Price/MPrice.Class.php

@@ -72,7 +72,6 @@ class MPrice extends MBaseModel
         parent::__construct($this->onlineEnterpriseId, $this->onlineUserId);
         $this->objDPriceAdjustment = new DPriceAdjustment();
         $this->objDPriceRangeSheet = new DPriceRangeSheet();
-        $this->objDPriceRangeSheet->setTable($this->objDPriceRangeSheet->get_Table() . '_' . $this->onlineEnterpriseId);
         $this->objDPriceAdjustment->setSearchIndex('goods_search')->setType('goods');
 
     }
@@ -230,7 +229,7 @@ class MPrice extends MBaseModel
         }
 
         if (empty($dbResult)) {
-            return ResultWrapper::success($returnData);
+            return ResultWrapper::success([]);
         }
 
         // 进行生效价格区域类型分组
@@ -1489,6 +1488,7 @@ class MPrice extends MBaseModel
             return ResultWrapper::success([]);
         }
 
+        $this->objDPriceRangeSheet->setTable($this->objDPriceRangeSheet->get_Table() . '_' . $this->onlineEnterpriseId);
         $result = $this->objDPriceRangeSheet->select(['goodsId' => $goodsIds], 'goodsId,salePrice');
         if ($result === false) {
             return ResultWrapper::fail($this->objDPriceRangeSheet->error(), ErrorCode::$dberror);
@@ -1506,12 +1506,12 @@ class MPrice extends MBaseModel
 
     /**
      * 根据goodsId获取商品的最高/最低价格
-     * @param array $goodsIds
-     * @param null $customerId
+     * @param array $goodsIds 商品id集合
+     * @param null $customerId 客户id
+     * @param $haveActivity boolean 活动价是否参与最高最低价
      * @return ResultWrapper
-     * @throws \Exception
      */
-    public function getPolePrice(array $goodsIds, $customerId = null)
+    public function getPolePrice(array $goodsIds, $customerId = null, $haveActivity = true)
     {
         $isHaveSkuIds = [];
         //获取商品salePrice
@@ -1584,23 +1584,25 @@ class MPrice extends MBaseModel
             }
         }
 
-        //查询商品活动价
-        $activityPriceResult = self::getActivityPriceByGoodsIds($goodsIds,$customerType);
+        if($haveActivity){
+            //查询商品活动价
+            $activityPriceResult = self::getActivityPriceByGoodsIds($goodsIds,$customerType);
 
-        if (!$activityPriceResult->isSuccess()){
-            return ResultWrapper::fail($activityPriceResult->getData(), $activityPriceResult->getErrorCode());
-        }
-        $activityPrice = $activityPriceResult->getData();
+            if (!$activityPriceResult->isSuccess()){
+                return ResultWrapper::fail($activityPriceResult->getData(), $activityPriceResult->getErrorCode());
+            }
+            $activityPrice = $activityPriceResult->getData();
 
-        //计算商品活动价 和 计算属性最小单位展示价格
-        foreach ($nationSalePrice as $goodsId => $salePrice){
-            foreach ($salePrice as $skuId => $row){
-                if (isset($activityPrice[$goodsId][$skuId])){
-                    $nationSalePrice[$goodsId][$skuId]['salePrice'] = $activityPrice[$goodsId][$skuId]['salePrice'];
-                }
+            //计算商品活动价 和 计算属性最小单位展示价格
+            foreach ($nationSalePrice as $goodsId => $salePrice){
+                foreach ($salePrice as $skuId => $row){
+                    if (isset($activityPrice[$goodsId][$skuId])){
+                        $nationSalePrice[$goodsId][$skuId]['salePrice'] = $activityPrice[$goodsId][$skuId]['salePrice'];
+                    }
 
-                if(isset($nationSalePrice[$goodsId][$skuId]['minUnitPriceConvert']) && !empty($nationSalePrice[$goodsId][$skuId]['minUnitPriceConvert'])){
-                    $nationSalePrice[$goodsId][$skuId]['minUnitPrice'] = bcdiv($nationSalePrice[$goodsId][$skuId]['salePrice'], $nationSalePrice[$goodsId][$skuId]['minUnitPriceConvert'], 2);
+                    if(isset($nationSalePrice[$goodsId][$skuId]['minUnitPriceConvert']) && !empty($nationSalePrice[$goodsId][$skuId]['minUnitPriceConvert'])){
+                        $nationSalePrice[$goodsId][$skuId]['minUnitPrice'] = bcdiv($nationSalePrice[$goodsId][$skuId]['salePrice'], $nationSalePrice[$goodsId][$skuId]['minUnitPriceConvert'], 2);
+                    }
                 }
             }
         }
@@ -1615,7 +1617,6 @@ class MPrice extends MBaseModel
      */
     public function commonPriceData($priceData, $nationSalePrice,  $skuId, $isHaveSkuIds =[])
     {
-
         if(in_array($skuId, $isHaveSkuIds)){
             return [
                 'minSalePrice' => $priceData['salePrice'],

+ 1 - 1
Model/Price/MPriceAdjustment.Class.php

@@ -64,7 +64,6 @@ class MPriceAdjustment extends MBaseModel
         $this->objPriceCache = new PriceCache($this->onlineEnterpriseId);
         $this->objDPriceAdjustment = new DPriceAdjustment();
         $this->objDPriceRangeSheet = new DPriceRangeSheet();
-        $this->objDPriceRangeSheet->setTable($this->objDPriceRangeSheet->get_Table() . '_' . $this->onlineEnterpriseId);
         $this->objDPriceAdjustment->setTable($this->objDPriceAdjustment->get_Table() . '_' . $this->onlineEnterpriseId . '_' . date('Y') . '_' . ceil(date('m') / 3));
         $this->objDPriceAdjustment->setSearchIndex('priceAdjustmentSheet_search')->setType('priceAdjustmentSheet');
     }
@@ -854,6 +853,7 @@ class MPriceAdjustment extends MBaseModel
             'createTime' => time(),
             'salePrice'  => json_encode($sale),
         ];
+        $this->objDPriceRangeSheet->setTable($this->objDPriceRangeSheet->get_Table() . '_' . $this->onlineEnterpriseId);
         $result = $this->objDPriceRangeSheet->replace($add);
         if ($result === false) {
             return ResultWrapper::fail($this->objDPriceRangeSheet->error(), ErrorCode::$dberror);