Browse Source

完善功能

gorden 7 months ago
parent
commit
b9c099f30a

+ 2 - 0
app/admin/controller/member/MemberController.php

@@ -37,6 +37,7 @@ class MemberController
             })->get();
         $data = [];
         foreach ($res as $item) {
+            // $item->member_mobile = substr($item->member_mobile,0,3).'****'.substr($item->member_mobile,7);
             $name = '';
             if(!empty($item->member_cert_name)){
                 $name = $item->member_cert_name;
@@ -68,6 +69,7 @@ class MemberController
             ->get()
             ->toArray();
         foreach ($members as &$member) {
+            // $member['member_mobile'] = substr($member['member_mobile'],0,3).'****'.substr($member['member_mobile'],7);
             $member['member_json'] = json_decode($member['member_json'], true);
             $member['username'] = $member['member_mobile'];
             $member['user_id'] = $member['member_json']['user'] ? $member['member_json']['user']['user_id'] : '';

+ 61 - 30
app/admin/controller/order/WholeController.php

@@ -558,14 +558,26 @@ class WholeController extends Curd
     public function updateSheet($params)
     {
         try{
+            // 判断餐品是否连带着服务或实体
+            $goodsClassifys = array_unique(array_column($params['goodsContentList'],'goods_classify'));
+            if (in_array('MEALS',$goodsClassifys) && count($goodsClassifys) > 1){
+                return json_fail('餐饮餐品不支持和其他类型的产品一起下单');
+            }
+            if (in_array('MEALS',$goodsClassifys)){
+                $params['submit_goods_classify'] = 'MEALS';
+            }
             foreach ($params['goodsContentList'] as $sheet){
                 // 先还原库存
+                
                 $orderSheet = OrderSheet::where('order_sheet_id',$sheet['order_sheet_id'])->first();
-                $goodsSku = GoodsSku::where('goods_sku_id',$orderSheet->join_sheet_goods_sku_id)->first();
-                $skuStorageJson = json_decode($goodsSku->goods_sku_storage_json,true);
-                $skuStorageJson['storage'] = $skuStorageJson['storage'] + $orderSheet->order_sheet_num;
-                $goodsSku->goods_sku_storage_json = json_encode($skuStorageJson);
-                $goodsSku->save();
+                if (!isset($params['submit_goods_classify']) || $params['submit_goods_classify'] != 'MEALS'){
+                    $goodsSku = GoodsSku::where('goods_sku_id',$orderSheet->join_sheet_goods_sku_id)->first();
+                    $skuStorageJson = json_decode($goodsSku->goods_sku_storage_json,true);
+                    $skuStorageJson['storage'] = $skuStorageJson['storage'] + $orderSheet->order_sheet_num;
+                    $goodsSku->goods_sku_storage_json = json_encode($skuStorageJson);
+                    $goodsSku->save();
+                }
+                
 
                 $goodsRunning = GoodsRunning::where('join_running_goods_id',$orderSheet->join_sheet_goods_id)->first();
                 $goodsRunning->goods_running_storage = $goodsRunning->goods_running_storage + $orderSheet->order_sheet_num;
@@ -574,20 +586,24 @@ class WholeController extends Curd
 
                 $data=[
                     'order_sheet_num'=>$sheet['nbr'],
-                    'join_sheet_goods_sku_id'=>$sheet['sku_id']
+                    'join_sheet_goods_sku_id'=>$sheet['sku_id'],
+                    'order_sheet_amount'=>$sheet['nbr'] * $orderSheet->order_sheet_price,
+                    'order_sheet_pay'=>$sheet['nbr'] * $orderSheet->order_sheet_price,
                 ];
                 OrderSheet::where('order_sheet_id',$sheet['order_sheet_id'])->update($data);
 
                 // 减库存
-                $goodsSku = GoodsSku::where('goods_sku_id',$sheet['sku_id'])->first();
-                $skuStorageJson = json_decode($goodsSku->goods_sku_storage_json,true);
-                $skuStorageJson['storage'] = $skuStorageJson['storage'] - $sheet['nbr'];
-                if ($skuStorageJson['storage'] < 0){
-                    throw new BusinessException('库存不足');
+                if (!isset($params['submit_goods_classify']) || $params['submit_goods_classify'] != 'MEALS'){
+                    $goodsSku = GoodsSku::where('goods_sku_id',$sheet['sku_id'])->first();
+                    $skuStorageJson = json_decode($goodsSku->goods_sku_storage_json,true);
+                    $skuStorageJson['storage'] = $skuStorageJson['storage'] - $sheet['nbr'];
+                    if ($skuStorageJson['storage'] < 0){
+                        throw new BusinessException('库存不足');
+                    }
+                    $goodsSku->goods_sku_storage_json = json_encode($skuStorageJson);
+                    $goodsSku->save();
                 }
-                $goodsSku->goods_sku_storage_json = json_encode($skuStorageJson);
-                $goodsSku->save();
-
+                
                 $goodsRunning = GoodsRunning::where('join_running_goods_id',$orderSheet->join_sheet_goods_id)->first();
                 $goodsRunning->goods_running_storage = $goodsRunning->goods_running_storage - $sheet['nbr'];
                 if ($goodsRunning->goods_running_storage < 0){
@@ -1158,14 +1174,17 @@ class WholeController extends Curd
             // 验证库存
             foreach($params['goodsContentList'] as $goods){
                 // 减库存,规格和总库存
-                $goodsSku = GoodsSku::where('goods_sku_id',$goods['sku_id'])->first();
-                $skuStorageJson = json_decode($goodsSku->goods_sku_storage_json,true);
-                if (isset($skuStorageJson['storage'])){
-                    $skuStorageJson['storage'] = $skuStorageJson['storage'] - $goods['nbr'];
-                }
-                if (!isset($skuStorageJson['storage']) || $skuStorageJson['storage'] < 0){
-                    throw new BusinessException('库存不足');
+                if (!isset($params['submit_goods_classify']) || $params['submit_goods_classify'] != 'MEALS'){
+                    $goodsSku = GoodsSku::where('goods_sku_id',$goods['sku_id'])->first();
+                    $skuStorageJson = json_decode($goodsSku->goods_sku_storage_json,true);
+                    if (isset($skuStorageJson['storage'])){
+                        $skuStorageJson['storage'] = $skuStorageJson['storage'] - $goods['nbr'];
+                    }
+                    if (!isset($skuStorageJson['storage']) || $skuStorageJson['storage'] < 0){
+                        throw new BusinessException('库存不足');
+                    }
                 }
+                
 
                 $goodsRunning = GoodsRunning::where('join_running_goods_id',$goods['goods_id'])->first();
                 $goodsRunning->goods_running_storage = $goodsRunning->goods_running_storage - $goods['nbr'];
@@ -1736,17 +1755,20 @@ class WholeController extends Curd
                 OrderSheet::insertGetId($data); 
 
                 // 减库存,规格和总库存
-                $goodsSku = GoodsSku::where('goods_sku_id',$goods['sku_id'])->first();
-                $skuStorageJson = json_decode($goodsSku->goods_sku_storage_json,true);
-                if (isset($skuStorageJson['storage'])){
-                    $skuStorageJson['storage'] = $skuStorageJson['storage'] - $goods['nbr'];
-                }
+                if (!isset($params['submit_goods_classify']) || $params['submit_goods_classify'] != 'MEALS'){
+                    $goodsSku = GoodsSku::where('goods_sku_id',$goods['sku_id'])->first();
+                    $skuStorageJson = json_decode($goodsSku->goods_sku_storage_json,true);
+                    if (isset($skuStorageJson['storage'])){
+                        $skuStorageJson['storage'] = $skuStorageJson['storage'] - $goods['nbr'];
+                    }
 
-                if (!isset($skuStorageJson['storage']) || $skuStorageJson['storage'] < 0){
-                    throw new BusinessException('库存不足');
+                    if (!isset($skuStorageJson['storage']) || $skuStorageJson['storage'] < 0){
+                        throw new BusinessException('库存不足');
+                    }
+                    $goodsSku->goods_sku_storage_json = json_encode($skuStorageJson);
+                    $goodsSku->save();
                 }
-                $goodsSku->goods_sku_storage_json = json_encode($skuStorageJson);
-                $goodsSku->save();
+                
 
                 $goodsRunning = GoodsRunning::where('join_running_goods_id',$goods['goods_id'])->first();
                 $goodsRunning->goods_running_storage = $goodsRunning->goods_running_storage - $goods['nbr'];
@@ -1919,6 +1941,15 @@ class WholeController extends Curd
                     $payDetail->pay_amount = $payDetail->pay_amount + $data['order_sheet_pay'];
                 }
                 
+                // 减总库存
+                $goodsRunning = GoodsRunning::where('join_running_goods_id',$goods['goods_id'])->first();
+                $goodsRunning->goods_running_storage = $goodsRunning->goods_running_storage - $goods['nbr'];
+                if ($goodsRunning->goods_running_storage < 0){
+                    throw new BusinessException('库存不足');
+                }
+
+                $goodsRunning->goods_running_sale = $goodsRunning->goods_running_sale + $goods['nbr'];
+                $goodsRunning->save();
                 
                 OrderSheet::insertGetId($data); 
             }