diff --git a/app/admin/lists/store_branch_product/StoreBranchProductLists.php b/app/admin/lists/store_branch_product/StoreBranchProductLists.php index c4ced3bf6..50b5906e7 100644 --- a/app/admin/lists/store_branch_product/StoreBranchProductLists.php +++ b/app/admin/lists/store_branch_product/StoreBranchProductLists.php @@ -32,6 +32,7 @@ class StoreBranchProductLists extends BaseAdminDataLists implements ListsSearchI '=' => ['product_id', 'cate_id','store_id','status'], '%pipe_like%' => ['store_name_code'=>'store_name|bar_code'], '%like%' => ['store_name'], + '<='=> ['stock'], ]; } @@ -47,7 +48,6 @@ class StoreBranchProductLists extends BaseAdminDataLists implements ListsSearchI */ public function lists(): array { - $status = $this->params['status'] ?? ''; $class_all=$this->request->get('class_all'); $where=[]; if($class_all){ @@ -69,17 +69,6 @@ class StoreBranchProductLists extends BaseAdminDataLists implements ListsSearchI ->when(!empty($this->adminInfo['store_id']), function ($query) { $query->where('store_id', $this->adminInfo['store_id']); }) - ->when(!empty($status), function ($query) use ($status) { - if ($status == 1) { - $query->where('status', $status); - } elseif ($status == 2) { - $query->where('status', 0); - } elseif ($status == 3) { - $query->where('stock', '<=', 0); - } elseif ($status == 4) { - $query->where('stock', '<', 10)->where('stock', '>', 0); - } - }) ->limit($this->limitOffset, $this->limitLength) ->order(['sort' => 'desc','stock'=>'desc','id' => 'desc']) ->select() @@ -101,22 +90,10 @@ class StoreBranchProductLists extends BaseAdminDataLists implements ListsSearchI */ public function count(): int { - $status = $this->params['status'] ?? ''; return StoreBranchProduct::where($this->searchWhere) ->when(!empty($this->adminInfo['store_id']), function ($query) { $query->where('store_id', $this->adminInfo['store_id']); }) - ->when(!empty($status), function ($query) use ($status) { - if ($status == 1) { - $query->where('status', $status); - } elseif ($status == 2) { - $query->where('status', 0); - } elseif ($status == 3) { - $query->where('stock', '<=', 0); - } elseif ($status == 4) { - $query->where('stock', '<', 10)->where('stock', '>', 0); - } - }) ->count(); } diff --git a/app/api/lists/order/OrderList.php b/app/api/lists/order/OrderList.php index e97c09067..410e066f4 100644 --- a/app/api/lists/order/OrderList.php +++ b/app/api/lists/order/OrderList.php @@ -8,6 +8,7 @@ use app\common\lists\ListsSearchInterface; use app\common\model\store_branch_product\StoreBranchProduct; use app\common\model\store_order\StoreOrder; use app\common\model\store_order_cart_info\StoreOrderCartInfo; +use app\common\model\store_product\StoreProduct; use app\common\model\store_product_unit\StoreProductUnit; /** @@ -56,6 +57,9 @@ class OrderList extends BaseAdminDataLists implements ListsSearchInterface ->field('product_id,cart_num,verify_code,is_writeoff,writeoff_time,old_cart_id,cart_info')->limit(3)->select() ->each(function ($v) use ($item) { $find = StoreBranchProduct::where('product_id', $v['product_id'])->where('store_id', $item['store_id'])->withTrashed()->find(); + if(empty($find)){ + $find = StoreProduct::where('id', $v['product_id'])->withTrashed()->find(); + } $v['store_name'] = $find['store_name']; $v['image'] = $find['image']; // $v['price'] = $find['price']; diff --git a/app/api/logic/order/OrderLogic.php b/app/api/logic/order/OrderLogic.php index 040ccd663..a691a76b0 100644 --- a/app/api/logic/order/OrderLogic.php +++ b/app/api/logic/order/OrderLogic.php @@ -83,8 +83,11 @@ class OrderLogic extends BaseLogic foreach ($cart_select as $k => $v) { $find = StoreBranchProduct::where(['product_id' => $v['product_id'], 'store_id' => $params['store_id']])->field($field)->withTrashed()->find(); if (!$find) { - unset($cart_select[$k]); - continue; +// unset($cart_select[$k]); +// continue; + $field = 'id branch_product_id,store_name,image,unit,price,vip_price,cost,purchase, id product_id'; + $find = StoreProduct::where(['id' => $v['product_id']])->field($field)->withTrashed()->find(); + $cart_select[$k]['status'] = 1;//缺货标识 } unset($cart_select[$k]['id']); $cart_select[$k]['total_price'] = bcmul($v['cart_num'], $find['price'], 2); //订单总价 @@ -252,10 +255,10 @@ class OrderLogic extends BaseLogic $goods_list[$k]['uid'] = $uid; $goods_list[$k]['cart_id'] = implode(',', $cartId); $goods_list[$k]['delivery_id'] = $params['store_id']; //商家id - $StoreBranchProduct = StoreBranchProduct::where('id', $v['branch_product_id'])->withTrashed()->find(); - if ($StoreBranchProduct['stock'] - $v['cart_num'] <= 0) { - Db::name('store_product_cate')->where(['cate_id' => $StoreBranchProduct['cate_id'], 'store_id' => $params['store_id']])->update(['count' => 0]); - } +// $StoreBranchProduct = StoreBranchProduct::where('id', $v['branch_product_id'])->withTrashed()->find(); +// if ($StoreBranchProduct['stock'] - $v['cart_num'] <= 0) { +// Db::name('store_product_cate')->where(['cate_id' => $StoreBranchProduct['cate_id'], 'store_id' => $params['store_id']])->update(['count' => 0]); +// } } (new StoreOrderCartInfo())->saveAll($goods_list); $where = ['is_pay' => 0]; @@ -422,6 +425,9 @@ class OrderLogic extends BaseLogic $find['goods_list'] = StoreOrderCartInfo::where('oid', $find['id']) ->field('product_id,cart_num nums,store_id')->select()->each(function ($item) use ($find) { $find = StoreBranchProduct::where('product_id', $item['product_id'])->where('store_id', $find['store_id'])->find(); + if(empty($find)){ + $find = StoreProduct::where('id', $item['product_id'])->withTrashed()->find(); + } $item['store_name'] = $find['store_name']; $item['image'] = $find['image']; $item['price'] = $find['price']; diff --git a/app/store/controller/store_order/StoreOrderController.php b/app/store/controller/store_order/StoreOrderController.php index 740d0a536..635f5e47a 100644 --- a/app/store/controller/store_order/StoreOrderController.php +++ b/app/store/controller/store_order/StoreOrderController.php @@ -142,7 +142,7 @@ class StoreOrderController extends BaseAdminController $params = $this->request->post(); if ( $auth_code == '' && $pay_type != PayEnum::CASH_PAY && $pay_type != PayEnum::PURCHASE_FUNDS - && $pay_type != PayEnum::GIFT_FUNDS + && $pay_type != PayEnum::GIFT_FUNDS && $pay_type != PayEnum::BALANCE_PAY ) { return $this->fail('支付条码不能为空'); }