diff --git a/app/common/dao/store/coupon/StoreCouponUserDao.php b/app/common/dao/store/coupon/StoreCouponUserDao.php index cfd1c57b..35f3293d 100644 --- a/app/common/dao/store/coupon/StoreCouponUserDao.php +++ b/app/common/dao/store/coupon/StoreCouponUserDao.php @@ -54,6 +54,13 @@ class StoreCouponUserDao extends BaseDao /** @var float $profitRate 商品毛利率 */ public $profitRate; + const RATE_ARRAY = [ + ['profit_rate' => 10, 'use_rate' => 0.1], + ['profit_rate' => 15, 'use_rate' => 0.2], + ['profit_rate' => 20, 'use_rate' => 0.3], + ['profit_rate' => 25, 'use_rate' => 0.4], + ]; + /** * @return BaseModel * @author xaboy @@ -262,20 +269,13 @@ class StoreCouponUserDao extends BaseDao */ public function getRate($profitRate) { - $rateArray = [ - 25 => 0.4, - 20 => 0.3, - 15 => 0.2, - 10 => 0.1, - ]; - $rate = 0; - foreach ($rateArray as $k => $item) { - if ($profitRate >= $k) { - $rate = $item; + foreach (self::RATE_ARRAY as $item) { + if ($profitRate >= $item['profit_rate']) { + $rate = $item['use_rate']; break; } } - return $rate; + return $rate ?? 0; } /** diff --git a/app/common/dao/store/product/SpuDao.php b/app/common/dao/store/product/SpuDao.php index 45a1dfb5..1b27b61b 100644 --- a/app/common/dao/store/product/SpuDao.php +++ b/app/common/dao/store/product/SpuDao.php @@ -201,7 +201,11 @@ class SpuDao extends BaseDao $query->where('svip_price_type','>',0)->where('mer_svip_status',1); }) ->when(isset($where['deduction_rate']) && $where['deduction_rate'] !== '',function($query)use($where){ - $productIds = ProductAttrValue::where('profit_rate', $where['deduction_rate'])->column('product_id'); + $productIds = ProductAttrValue::when(isset($where['mer_id']) && $where['mer_id'] !== '', function($query) use ($where) { + $query->where('mer_id', $where['mer_id']); + })->where('profit_rate', '>=', $where['deduction_rate']) + ->where('profit_rate', '<', ($where['deduction_rate'] + 5)) + ->column('product_id'); if (empty($productIds)) { $productIds = [0]; } diff --git a/app/common/model/store/product/Spu.php b/app/common/model/store/product/Spu.php index d5707eba..be856984 100644 --- a/app/common/model/store/product/Spu.php +++ b/app/common/model/store/product/Spu.php @@ -131,7 +131,7 @@ class Spu extends BaseModel */ public function getShowSvipInfoAttr($value, $data) { - if ($this->product_type == 0) return $this->product->show_svip_info; + if ($this->product_type == 0 && !empty($this->product->show_svip_info)) return $this->product->show_svip_info; } /** @@ -142,12 +142,12 @@ class Spu extends BaseModel */ public function getSvipPriceAttr() { - if ($this->product_type == 0) return $this->product->svip_price; + if ($this->product_type == 0 && !empty($this->product->svip_price)) return $this->product->svip_price; } public function getIsSvipPriceAttr() { - if ($this->product_type == 0) return $this->product->is_svip_price; + if ($this->product_type == 0 && !empty($this->product->is_svip_price)) return $this->product->is_svip_price; } public function getMerLabelsDataAttr()