feat(CartList): 根据活动状态调整商品价格和支付价格计算逻辑

This commit is contained in:
mkm 2024-06-26 15:28:13 +08:00
parent 02c492c1a4
commit 41c77533b8
2 changed files with 10 additions and 7 deletions

View File

@ -65,7 +65,6 @@ class CartList extends BaseAdminDataLists implements ListsSearchInterface, Lists
$off_activity = Config::where('name', 'off_activity')->value('value');
$this->off_activity=$off_activity;
foreach ($list as $key => &$item) {
$find = StoreBranchProduct::where(['product_id' => $item['product_id'], 'store_id' => $item['store_id']])
->field('product_id,image,price,cost,store_name,unit,delete_time,vip_price')
->withTrashed()
@ -74,11 +73,13 @@ class CartList extends BaseAdminDataLists implements ListsSearchInterface, Lists
if ($find) {
if($off_activity==1){
$this->activity_price = bcadd(bcmul($find['cost'],$item['cart_num'], 2), $this->activity_price, 2);
$item['price'] = $find['cost'];
}else{
$item['price'] = $find['price'];
}
$item['goods_total_price'] = bcmul($item['cart_num'], $find['price'], 2);
$this->total_price = bcadd($this->total_price, $item['goods_total_price'], 2);
$item['imgs'] = $find['image'];
$item['price'] = $find['price'];
$item['cost'] = $find['cost'];
$item['goods_name'] = $find['store_name'];
$item['unit_name'] = StoreProductUnit::where('id', $find['unit'])->value('name');
@ -114,8 +115,8 @@ class CartList extends BaseAdminDataLists implements ListsSearchInterface, Lists
];
if($this->off_activity==1){
$data['pay_price']=$this->activity_price;
if($this->total_price<500){
$data['msg']='还差'.bcsub(500,$this->total_price,2).'元可获得10%品牌礼品券';
if($this->activity_price<500){
$data['msg']='还差'.bcsub(500,$this->activity_price,2).'元可获得10%品牌礼品券';
$data['pay_price']= $this->activity_price;
}
}

View File

@ -64,13 +64,15 @@ class CartList extends BaseAdminDataLists implements ListsSearchInterface, Lists
->find();
if ($find) {
if ($off_activity == 1) {
$this->activity_price = bcadd(bcmul($find['cost'], $item['cart_num'], 2), $this->activity_price, 2);
if($off_activity==1){
$this->activity_price = bcadd(bcmul($find['cost'],$item['cart_num'], 2), $this->activity_price, 2);
$item['price'] = $find['cost'];
}else{
$item['price'] = $find['price'];
}
$item['goods_total_price'] = bcmul($item['cart_num'], $find['price'], 2);
$this->total_price = bcadd($this->total_price, $item['goods_total_price'], 2);
$item['image'] = $find['image'];
$item['price'] = $find['price'];
$item['cost'] = $find['cost'];
$item['store_name'] = $find['store_name'];
$item['unit_name'] = StoreProductUnit::where('id', $find['unit'])->value('name');