Browse Source

ordersheet加字段

gorden 4 months ago
parent
commit
c3eb534f13

+ 1 - 0
app/admin/controller/order/KangyangCityController.php

@@ -727,6 +727,7 @@ class KangyangCityController extends Curd
                     'order_sheet_category' => (isset($params['submit_goods_classify']) && $params['submit_goods_classify'] == 'MEALS') ? 'DISHES' : 'NORMAL',
                     'order_sheet_num' => $goods['nbr'],
                     'order_sheet_price' => $goods['goods_sales_price'],
+                    'order_sheet_price_pay' => $goods['goods_sales_price'],
                     'order_sheet_amount' => $price * $goods['nbr'],
                     'order_sheet_pay' => $price * $goods['nbr'],
                     'order_sheet_task_status' => 'NONE',

+ 1 - 0
app/admin/controller/order/NewCustomerController.php

@@ -675,6 +675,7 @@ class NewCustomerController extends Curd
                     'order_sheet_category' => 'COMBINE',
                     'order_sheet_num' => $goods['nbr'],
                     'order_sheet_price' => $goods['goods_sales_price'],
+                    'order_sheet_price_pay' => $goods['goods_sales_price'],
                     'order_sheet_amount' => $price * $goods['nbr'],
                     'order_sheet_pay' => $price * $goods['nbr'],
                     'order_sheet_task_status' => 'NONE',

+ 1 - 0
app/admin/controller/order/PartnerController.php

@@ -692,6 +692,7 @@ class PartnerController extends Curd
                     'order_sheet_category' => 'PARTNER',
                     'order_sheet_num' => $goods['nbr'],
                     'order_sheet_price' => $goods['goods_sales_price'],
+                    'order_sheet_price_pay' => $goods['goods_sales_price'],
                     'order_sheet_amount' => $price * $goods['nbr'],
                     'order_sheet_pay' => $price * $goods['nbr'],
                     'order_sheet_task_status' => 'NONE',

+ 1 - 0
app/admin/controller/order/RechargeController.php

@@ -597,6 +597,7 @@ class RechargeController extends Curd
                     'order_sheet_category' => 'RECHARGE',
                     'order_sheet_num' => $goods['nbr'],
                     'order_sheet_price' => $goods['goods_sales_price'],
+                    'order_sheet_price_pay' => $goods['goods_sales_price'],
                     'order_sheet_amount' => $price * $goods['nbr'],
                     'order_sheet_pay' => $price * $goods['nbr'],
                     'order_sheet_task_status' => 'NONE',

+ 1 - 0
app/admin/controller/order/ReferrerController.php

@@ -685,6 +685,7 @@ class ReferrerController extends Curd
                     'order_sheet_category' => 'REFERRER',
                     'order_sheet_num' => $goods['nbr'],
                     'order_sheet_price' => $goods['goods_sales_price'],
+                    'order_sheet_price_pay' => $goods['goods_sales_price'],
                     'order_sheet_amount' => $price * $goods['nbr'],
                     'order_sheet_pay' => $price * $goods['nbr'],
                     'order_sheet_task_status' => 'NONE',

+ 18 - 12
app/admin/controller/order/WholeController.php

@@ -1163,11 +1163,12 @@ class WholeController extends Curd
             $order->save();
 
             // sheet
-            if ($order->order_status_payment == 'SUCCESS') {
-                OrderSheet::where('join_sheet_order_id', $params['order_id'])->update([
-                    'order_sheet_status' => $systemStatus,
-                ]);
-            }
+            OrderService::updateSheet($order, $systemStatus);
+//            if ($order->order_status_payment == 'SUCCESS') {
+//                OrderSheet::where('join_sheet_order_id', $params['order_id'])->update([
+//                    'order_sheet_status' => $systemStatus,
+//                ]);
+//            }
             // payDetail
             $payData = [
                 'pay_amount' => $params['order_amount_pay']
@@ -1356,12 +1357,12 @@ class WholeController extends Curd
         } catch (BusinessException $e) {
             Db::rollBack();
             _syslog("订单", "订单支付失败:" . $e->getMessage());
-            Log::error("订单支付失败:".$e->getMessage());
+            Log::error("订单支付失败:" . $e->getMessage());
             return json_fail("支付失败:" . $e->getMessage());
         } catch (\Exception $e) {
             Db::rollBack();
             _syslog("订单", "订单支付失败");
-            Log::error("订单支付失败:".$e->getMessage());
+            Log::error("订单支付失败:" . $e->getMessage());
             return json_fail('支付失败');
         }
     }
@@ -1678,9 +1679,10 @@ class WholeController extends Curd
             $order->save();
             // sheet
             if ($order->order_status_payment == 'SUCCESS') {
-                OrderSheet::where('join_sheet_order_id', $params['order_id'])->update([
-                    'order_sheet_status' => $systemStatus,
-                ]);
+                OrderService::updateSheet($order, $systemStatus);
+//                OrderSheet::where('join_sheet_order_id', $params['order_id'])->update([
+//                    'order_sheet_status' => $systemStatus,
+//                ]);
             }
             // 清除paydetail 中的未支付记录
             PayDetail::where('join_pay_order_id', $params['orderGroupId'])->where('pay_status', '<>', 'SUCCESS')->delete();
@@ -3216,6 +3218,7 @@ class WholeController extends Curd
                 if (isset($params['submit_goods_classify']) && $params['submit_goods_classify'] == 'MEALS') {
                     $extendJson['table'] = null;
                 }
+                $sheetPriceAmount = round(($params['order_amount_pay'] / $params['order_amount_total']) * $goods['goods_sales_price'], 2);
                 $data = [
                     'join_sheet_member_id' => $params['join_order_member_id'],
                     'join_sheet_order_id' => $params['orderId'],
@@ -3225,8 +3228,9 @@ class WholeController extends Curd
                     'order_sheet_category' => (isset($params['submit_goods_classify']) && $params['submit_goods_classify'] == 'MEALS') ? 'DISHES' : 'NORMAL',
                     'order_sheet_num' => $goods['nbr'],
                     'order_sheet_price' => $goods['goods_sales_price'],
+                    'order_sheet_price_pay' => $sheetPriceAmount,
                     'order_sheet_amount' => $price * $goods['nbr'],
-                    'order_sheet_pay' => $price * $goods['nbr'],
+                    'order_sheet_pay' => $sheetPriceAmount * $goods['nbr'],
                     'order_sheet_task_status' => 'NONE',
                     'order_sheet_remark' => $params['order_remark'] ?? '',
                     'order_sheet_addtimes' => time(),
@@ -3412,6 +3416,7 @@ class WholeController extends Curd
             foreach ($params['goodsContentList'] as $goods) {
                 //{"unit": "份", "table": null, "premises": "15"}
                 $price = floatval($goods['goods_sales_price']);
+                $orderSheetPricePay = round(($order->order_amount_pay / $order->order_amount_total) * $price, 2);
                 $data = [
                     'join_sheet_member_id' => $order->join_order_member_id,
                     'join_sheet_order_id' => $params['order_id'],
@@ -3421,8 +3426,9 @@ class WholeController extends Curd
                     'order_sheet_category' => 'DISHES',
                     'order_sheet_num' => $goods['nbr'],
                     'order_sheet_price' => $goods['goods_sales_price'],
+                    'order_sheet_price_pay' => $orderSheetPricePay,
                     'order_sheet_amount' => $price * $goods['nbr'],
-                    'order_sheet_pay' => $price * $goods['nbr'],
+                    'order_sheet_pay' => $orderSheetPricePay * $goods['nbr'],
                     'order_sheet_task_status' => 'NONE',
                     'order_sheet_remark' => $params['order_remark'] ?? '',
                     'order_sheet_component_json' => json_encode($sheetComponentJson),

+ 35 - 13
app/admin/service/order/OrderService.php

@@ -985,18 +985,40 @@ class OrderService
     ];
 
     public static $orderClassify = [
-        'GOODS'=>'产品订单',
-        'CHNMED'=>'服务订单',
-        'CHNNCD'=>'服务订单',
-        'SERVICE'=>'服务订单',
-        'DEVICE'=>'设备订单',
-        'SPECIAL'=>'专题业务订单',
-        'PACKAGE'=>'套包订单',
-        'RECHARGE'=>'充值订单',
-        'DESHES'=>'餐饮订单',
-        'VIP'=>'康养城订单',
-        'PARTNER'=>'合伙人订单',
-        'REFERRER'=>'康养推荐官订单',
-        'COMBINE'=>'新客专享订单'
+        'GOODS' => '产品订单',
+        'CHNMED' => '服务订单',
+        'CHNNCD' => '服务订单',
+        'SERVICE' => '服务订单',
+        'DEVICE' => '设备订单',
+        'SPECIAL' => '专题业务订单',
+        'PACKAGE' => '套包订单',
+        'RECHARGE' => '充值订单',
+        'DESHES' => '餐饮订单',
+        'VIP' => '康养城订单',
+        'PARTNER' => '合伙人订单',
+        'REFERRER' => '康养推荐官订单',
+        'COMBINE' => '新客专享订单'
     ];
+
+    /**
+     * @Desc 更新订单 sheet
+     * @Author Gorden
+     * @Date 2024/10/21 11:18
+     *
+     * @param Order $order
+     * @param $status
+     * @return void
+     */
+    public static function updateSheet(Order $order, $status)
+    {
+        $sheets = OrderSheet::where('join_sheet_order_id', $order->order_id)->get()->toArray();
+        foreach ($sheets as $sheet) {
+            $sheetPricePay = round(($order->order_amount_pay / $order->order_amount_total) * $sheet['order_sheet_price'], true);
+            OrderSheet::where('order_sheet_id', $sheet['order_sheet_id'])->update([
+                'order_sheet_status' => $status,
+                'order_sheet_price_pay' => $sheetPricePay,
+                'order_sheet_pay' => $sheetPricePay * $sheet['order_sheet_num']
+            ]);
+        }
+    }
 }