$this->adminId, 'is_pay' => 0 ]; $list = Cart::where($this->searchWhere)->where($where) ->limit(100) ->order(['id' => 'desc']) ->select()->each(function ($item) { return $item; }) ->toArray(); $off_activity = Config::where('name', 'off_activity')->value('value'); $off_activity = 0; $this->off_activity = $off_activity; $uid = 0; if ($this->request->get('uid')) { $uid = $this->request->get('uid'); } $user_ship=0; if ($uid > 0) { $user_ship = User::where('id', $uid)->value('user_ship'); // if (in_array($user_ship, [4, 6, 7])) { // $off_activity = 1; // } } foreach ($list as $key => &$item) { $find = StoreProduct::where(['id' => $item['product_id']]) ->field('id,id product_id,image,price,cost,store_name,unit,delete_time,vip_price,top_cate_id') ->find(); if ($find) { $find = StoreProductGroupPrice::resetProductPrice($find, $user_ship); 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']; if ($find['top_cate_id'] == 15189 && $user_ship == 5) { $item['price'] = $find['cost']; } } $item['pay_price'] = bcmul($item['cart_num'], $item['price'], 2); $item['total_price'] = bcmul($item['cart_num'], $find['price'], 2); $this->total_price = bcadd($this->total_price, $item['total_price'], 2); $this->pay_price = bcadd($this->pay_price, $item['pay_price'], 2); $item['image'] = $find['image']; $item['cost'] = $find['cost']; $item['store_name'] = $find['store_name']; $unit = StoreProductUnit::where('id', $find['unit'])->find(); if($unit){ $item['unit_name']=$unit['name']; $item['is_bulk']=$unit['is_bulk']; }else{ $item['unit_name']=''; $item['is_bulk']=0; } } } return $list; } /** * @notes 购物车数量 * @return int * @date 2024/04/27 11:26 */ public function count(): int { $userId = $this->request->userId; if (!$userId) return 0; $where = [ 'uid' => $userId, 'is_pay' => 0 ]; return Cart::where($this->searchWhere)->where($where)->count(); } public function extend() { $data = [ 'off_activity' => $this->off_activity, 'total_price' => $this->total_price, 'msg' => '', 'pay_price' => $this->pay_price ]; if ($this->off_activity == 1) { $data['pay_price'] = $this->activity_price; if ($this->activity_price < 500) { $data['msg'] = '还差' . bcsub(500, $this->activity_price, 2) . '元可获得10%品牌礼品券'; $data['pay_price'] = $this->activity_price; } } return $data; } }