diff --git a/app/admin/controller/store_order/StoreOrderController.php b/app/admin/controller/store_order/StoreOrderController.php index c34eae335..b986750cf 100644 --- a/app/admin/controller/store_order/StoreOrderController.php +++ b/app/admin/controller/store_order/StoreOrderController.php @@ -135,7 +135,7 @@ class StoreOrderController extends BaseAdminController if ($res == false) { return $this->fail('退款失败'); } - return $this->success('退款成功'); + return $this->success('退款成功',[],1,1); } /** diff --git a/app/admin/lists/beforehand_order/BeforehandOrderThreeLists.php b/app/admin/lists/beforehand_order/BeforehandOrderThreeLists.php index 38ff72fc0..726bca26c 100644 --- a/app/admin/lists/beforehand_order/BeforehandOrderThreeLists.php +++ b/app/admin/lists/beforehand_order/BeforehandOrderThreeLists.php @@ -18,7 +18,7 @@ use app\common\model\warehouse_product\WarehouseProduct; */ class BeforehandOrderThreeLists extends BaseAdminDataLists implements ListsSearchInterface { - + public $outbound_id; /** * @notes 设置搜索条件 @@ -48,6 +48,7 @@ class BeforehandOrderThreeLists extends BaseAdminDataLists implements ListsSearc if(empty($outbound_id)){ return []; } + $this->outbound_id=$outbound_id; $this->searchWhere[]=['oid','=',$outbound_id]; $this->searchWhere[]=['financial_pm','=',0]; return WarehouseProduct::where($this->searchWhere)->select() @@ -79,7 +80,11 @@ class BeforehandOrderThreeLists extends BaseAdminDataLists implements ListsSearc */ public function count(): int { - return WarehouseProduct::where($this->searchWhere)->count(); + if($this->outbound_id>0){ + return WarehouseProduct::where($this->searchWhere)->count(); + }else{ + return 0; + } } } \ No newline at end of file diff --git a/app/admin/lists/beforehand_order/BeforehandOrderTwoLists.php b/app/admin/lists/beforehand_order/BeforehandOrderTwoLists.php index 539019f23..1b47ce629 100644 --- a/app/admin/lists/beforehand_order/BeforehandOrderTwoLists.php +++ b/app/admin/lists/beforehand_order/BeforehandOrderTwoLists.php @@ -19,7 +19,7 @@ use app\common\model\warehouse_product\WarehouseProduct; class BeforehandOrderTwoLists extends BaseAdminDataLists implements ListsSearchInterface { - + public $warehousing_id; /** * @notes 设置搜索条件 * @return \string[][] @@ -48,6 +48,7 @@ class BeforehandOrderTwoLists extends BaseAdminDataLists implements ListsSearchI if(empty($warehousing_id)){ return []; } + $this->warehousing_id=$warehousing_id; $this->searchWhere[]=['oid','=',$warehousing_id]; $this->searchWhere[]=['financial_pm','=',1]; return WarehouseProduct::where($this->searchWhere)->select() @@ -79,7 +80,11 @@ class BeforehandOrderTwoLists extends BaseAdminDataLists implements ListsSearchI */ public function count(): int { - return WarehouseProduct::where($this->searchWhere)->count(); + if($this->warehousing_id>0){ + return WarehouseProduct::where($this->searchWhere)->count(); + }else{ + return 0; + } } } \ No newline at end of file diff --git a/app/admin/logic/beforehand_order/BeforehandOrderLogic.php b/app/admin/logic/beforehand_order/BeforehandOrderLogic.php index 0aba0a355..6c95c4652 100644 --- a/app/admin/logic/beforehand_order/BeforehandOrderLogic.php +++ b/app/admin/logic/beforehand_order/BeforehandOrderLogic.php @@ -41,6 +41,7 @@ class BeforehandOrderLogic extends BaseLogic $total_price = 0; $uid = $params['uid'] ?? 0; foreach ($params['product_arr'] as $k => $v) { + $datas[$k]['mark'] = $v['mark']??''; $datas[$k]['product_id'] = $v['product_id']; $datas[$k]['uid'] = $uid; $datas[$k]['cart_num'] = $v['nums']; @@ -61,7 +62,8 @@ class BeforehandOrderLogic extends BaseLogic 'pay_type' => 0, 'deduction_price' => 0, 'paid' => 0, - 'mark' => $params['mark'] ?? '' + 'mark' => $params['mark'] ?? '', + 'order_type' => $params['order_type'] ?? 0 ]); foreach ($datas as $k => $v) { $datas[$k]['bhoid'] = $order['id']; @@ -156,6 +158,7 @@ class BeforehandOrderLogic extends BaseLogic 'store_id' => $store_id, 'financial_pm' => 0, 'batch' => 1, + 'order_type' => $order['order_type'], 'nums' => $arr['cart_num'], 'status' => 1, 'admin_id' => $admin_id, diff --git a/app/admin/logic/beforehand_order_cart_info/BeforehandOrderCartInfoLogic.php b/app/admin/logic/beforehand_order_cart_info/BeforehandOrderCartInfoLogic.php index 5a3ad6766..0378d87c3 100644 --- a/app/admin/logic/beforehand_order_cart_info/BeforehandOrderCartInfoLogic.php +++ b/app/admin/logic/beforehand_order_cart_info/BeforehandOrderCartInfoLogic.php @@ -97,8 +97,8 @@ class BeforehandOrderCartInfoLogic extends BaseLogic Db::startTrans(); try { BeforehandOrderCartInfo::where('id', $params['id'])->update([ - 'price' => $params['purchase'], - 'total_price' => $params['total_price'], + 'price' => $params['purchases'], + 'total_price' => bcmul($params['purchases'],$params['nums'],2), 'cart_num' => $params['nums'], ]); $bhoid = $params['bhoid']; @@ -117,6 +117,9 @@ class BeforehandOrderCartInfoLogic extends BaseLogic */ public static function oneClickStorage($params) { + if($params['bhoid']<=0){ + throw new BusinessException('参数错误'); + } $count = PurchaseProductOffer::where(['order_id' => $params['bhoid'], 'is_storage' => 0, 'buyer_nums' => 0])->count('id'); $warehousing_id = BeforehandOrder::where('id', $params['bhoid'])->value('warehousing_id'); diff --git a/app/admin/logic/system_store_storage/SystemStoreStorageLogic.php b/app/admin/logic/system_store_storage/SystemStoreStorageLogic.php index f1c0d8847..4e221db77 100644 --- a/app/admin/logic/system_store_storage/SystemStoreStorageLogic.php +++ b/app/admin/logic/system_store_storage/SystemStoreStorageLogic.php @@ -64,18 +64,22 @@ class SystemStoreStorageLogic extends BaseLogic Db::startTrans(); try { $find=SystemStoreStorage::where(['id' => $params['id']])->find(); - if($find){ - $find->save(['status'=>1,'staff_id'=>$params['staff_id']??0,'admin_id'=>$params['admin_id']??0,'mark'=>'入库时间:'.date('Y-m-d H:i:s',time())]); - $branch_product=StoreBranchProduct::where(['product_id'=>$find['product_id'],'store_id'=>$find['store_id']])->find(); - if($branch_product){ - $branch_product->save(['stock'=>$branch_product['stock']+$find['nums']]); + if($find['order_type']==1){ + $find->save(['status'=>1,'staff_id'=>$params['staff_id']??0,'admin_id'=>$params['admin_id']??0,'mark'=>'入库时间:'.date('Y-m-d H:i:s',time())]); + $branch_product=StoreBranchProduct::where(['product_id'=>$find['product_id'],'store_id'=>$find['store_id']])->find(); + if($branch_product){ + $branch_product->save(['stock'=>$branch_product['stock']+$find['nums']]); + }else{ + $storeProduct = StoreProduct::where('id', $find['product_id'])->findOrEmpty(); + $storeBranchProduct = StoreProductLogic::ordinary(['id' => $find['product_id']], $find['store_id'], 0, $storeProduct); + $storeBranchProduct->stock = $find['nums']; + $storeBranchProduct->save(); + } }else{ - $storeProduct = StoreProduct::where('id', $find['product_id'])->findOrEmpty(); - $storeBranchProduct = StoreProductLogic::ordinary(['id' => $find['product_id']], $find['store_id'], 0, $storeProduct); - $storeBranchProduct->stock = $find['nums']; - $storeBranchProduct->save(); + $find->save(['status'=>1,'staff_id'=>$params['staff_id']??0,'admin_id'=>$params['admin_id']??0,'mark'=>'确认时间:'.date('Y-m-d H:i:s',time())]); } + } Db::commit(); return true; diff --git a/app/admin/logic/warehouse_product/WarehouseProductLogic.php b/app/admin/logic/warehouse_product/WarehouseProductLogic.php index 69b21bbb1..a567b737d 100644 --- a/app/admin/logic/warehouse_product/WarehouseProductLogic.php +++ b/app/admin/logic/warehouse_product/WarehouseProductLogic.php @@ -154,6 +154,7 @@ class WarehouseProductLogic extends BaseLogic SystemStoreStorage::create([ 'store_id' => $params['store_id'], 'admin_id' => $params['admin_id'], + 'order_type' => $params['order_type'], 'staff_id' => 0, 'type' => 1, 'product_id' => $params['product_id'],