调整商品列表查询
This commit is contained in:
parent
651db69dcd
commit
8625c0aa0c
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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];
|
||||
}
|
||||
|
@ -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()
|
||||
|
Loading…
x
Reference in New Issue
Block a user