Jelajahi Sumber

拆单+打印

gorden 5 bulan lalu
induk
melakukan
6f0be0d786

+ 0 - 103
app/admin/controller/order/GoodsController.php

@@ -547,58 +547,6 @@ class GoodsController extends Curd
             // 写入订单
             $this->insertMain($params);
 
-            // 买的单个服务
-            $writeOffDate = [];
-            $applyData = [];
-            if ($params['order_status_payment'] == 'SUCCESS') {
-                foreach ($params['goodsContentList'] as $goods) {
-                    $params['join_sheet_goods_id'] = $goods['goods_id'];
-                    if (isset($goods['goods_classify']) && in_array($goods['goods_classify'], ['SERVICE', 'CHNMED', 'CHNNCD']) && $params['delivery'] == 'ARRIVAL') {
-                        $params['benefitId'] = 'BF' . date('ymdHi') . random_string(4, 'up');
-                        $params['join_sheet_goods_sku_id'] = $goods['sku_id'];
-                        $params['goods_id'] = $goods['goods_id'];
-                        $params['order_sheet_num'] = $goods['nbr'];
-                        // 预约表
-                        for ($i = 0; $i < intval($params['order_sheet_num']); $i++) {
-                            $params['appointmentId'] = 'AP' . date('ymdHi') . random_string(4, 'up');
-                            // 入预约记录
-                            $this->insertAppointment($params, $writeOffDate, $applyData);
-                        }
-                        $goods['skuId'] = $goods['sku_id'];
-                        $goods['category'] = $goods['goods_classify'];
-                        // 权益表
-                        $this->insertMemberBenefit($params, $goods);
-                    } elseif (isset($goods['goods_classify']) && $goods['goods_classify'] == 'PACKAGE' && $params['delivery'] == 'ARRIVAL') {  // 一个套餐买多个
-                        $params['packageId'] = $goods['goods_id'];
-                        $components = GoodsComponent::with([
-                            'goods' => function ($query) {
-                                $query->select('goods_id', 'goods_name', 'goods_classify');
-                            }
-                        ])->where('join_component_master_goods_id', $params['packageId'])
-                            ->get()
-                            ->toArray();
-                        foreach ($components as $component) {
-                            $componentJson = json_decode($component['goods_component_json'], true);
-                            $params['join_sheet_goods_sku_id'] = $componentJson['sku_id'];
-                            $params['benefitId'] = 'BF' . date('ymdHi') . random_string(4, 'up');
-                            $params['order_sheet_num'] = $goods['nbr'] * $componentJson['nbr'];
-                            for ($i = 0; $i < intval($params['order_sheet_num']); $i++) {
-                                $params['appointmentId'] = 'AP' . date('ymdHi') . random_string(4, 'up');
-                                // 入预约记录
-                                $this->insertAppointment($params, $writeOffDate);
-                            }
-                            $goods['goods_id'] = $component['join_component_goods_id'];
-                            $goods['goods_name'] = $component['goods']['goods_name'];
-                            $goods['goods_classify'] = $component['goods']['goods_classify'];
-                            $goods['skuId'] = $goods['sku_id'];
-                            $goods['category'] = 'SERVICE';
-                            // 权益表
-                            $this->insertMemberBenefit($params, $goods);
-                        }
-                    }
-                }
-            }
-
             Db::commit();
 
             // 会员升级
@@ -935,57 +883,6 @@ class GoodsController extends Curd
             // 写入订单
             $this->insertMain($params);
 
-            // 买的单个服务
-            $writeOffDate = [];
-            $applyData = [];
-            if ($params['order_status_payment'] == 'SUCCESS') {
-                foreach ($params['goodsContentList'] as $goods) {
-                    $params['join_sheet_goods_id'] = $goods['goods_id'];
-                    if (isset($goods['goods_classify']) && in_array($goods['goods_classify'], ['SERVICE', 'CHNMED', 'CHNNCD']) && $params['delivery'] == 'ARRIVAL') {
-                        $params['benefitId'] = 'BF' . date('ymdHi') . random_string(4, 'up');
-                        $params['join_sheet_goods_sku_id'] = $goods['sku_id'];
-                        $params['goods_id'] = $goods['goods_id'];
-                        $params['order_sheet_num'] = $goods['nbr'];
-                        // 预约表
-                        for ($i = 0; $i < intval($params['order_sheet_num']); $i++) {
-                            $params['appointmentId'] = 'AP' . date('ymdHi') . random_string(4, 'up');
-                            // 入预约记录
-                            $this->insertAppointment($params, $writeOffDate, $applyData);
-                        }
-                        $goods['skuId'] = $goods['sku_id'];
-                        $goods['category'] = $goods['goods_classify'];
-                        // 权益表
-                        $this->insertMemberBenefit($params, $goods);
-                    } elseif (isset($goods['goods_classify']) && $goods['goods_classify'] == 'PACKAGE' && $params['delivery'] == 'ARRIVAL') {  // 一个套餐买多个
-                        $params['packageId'] = $goods['goods_id'];
-                        $components = GoodsComponent::with([
-                            'goods' => function ($query) {
-                                $query->select('goods_id', 'goods_name', 'goods_classify');
-                            }
-                        ])->where('join_component_master_goods_id', $params['packageId'])
-                            ->get()
-                            ->toArray();
-                        foreach ($components as $component) {
-                            $componentJson = json_decode($component['goods_component_json'], true);
-                            $params['join_sheet_goods_sku_id'] = $componentJson['sku_id'];
-                            $params['benefitId'] = 'BF' . date('ymdHi') . random_string(4, 'up');
-                            $params['order_sheet_num'] = $goods['nbr'] * $componentJson['nbr'];
-                            for ($i = 0; $i < intval($params['order_sheet_num']); $i++) {
-                                $params['appointmentId'] = 'AP' . date('ymdHi') . random_string(4, 'up');
-                                // 入预约记录
-                                $this->insertAppointment($params, $writeOffDate);
-                            }
-                            $goods['goods_id'] = $component['join_component_goods_id'];
-                            $goods['goods_name'] = $component['goods']['goods_name'];
-                            $goods['goods_classify'] = $component['goods']['goods_classify'];
-                            $goods['skuId'] = $goods['sku_id'];
-                            $goods['category'] = 'SERVICE';
-                            // 权益表
-                            $this->insertMemberBenefit($params, $goods);
-                        }
-                    }
-                }
-            }
             Db::commit();
 
             // 会员升级

+ 46 - 103
app/admin/controller/order/PackagesController.php

@@ -686,58 +686,6 @@ class PackagesController extends Curd
             // 写入订单
             $this->insertMain($params);
 
-            // 买的单个服务
-            $writeOffDate = [];
-            $applyData = [];
-            if ($params['order_status_payment'] == 'SUCCESS') {
-                foreach ($params['goodsContentList'] as $goods) {
-                    $params['join_sheet_goods_id'] = $goods['goods_id'];
-                    if (isset($goods['goods_classify']) && in_array($goods['goods_classify'], ['SERVICE', 'CHNMED', 'CHNNCD']) && $params['delivery'] == 'ARRIVAL') {
-                        $params['benefitId'] = 'BF' . date('ymdHi') . random_string(4, 'up');
-                        $params['join_sheet_goods_sku_id'] = $goods['sku_id'];
-                        $params['goods_id'] = $goods['goods_id'];
-                        $params['order_sheet_num'] = $goods['nbr'];
-                        // 预约表
-                        for ($i = 0; $i < intval($params['order_sheet_num']); $i++) {
-                            $params['appointmentId'] = 'AP' . date('ymdHi') . random_string(4, 'up');
-                            // 入预约记录
-                            $this->insertAppointment($params, $writeOffDate, $applyData);
-                        }
-                        $goods['skuId'] = $goods['sku_id'];
-                        $goods['category'] = $goods['goods_classify'];
-                        // 权益表
-                        $this->insertMemberBenefit($params, $goods);
-                    } elseif (isset($goods['goods_classify']) && $goods['goods_classify'] == 'PACKAGE' && $params['delivery'] == 'ARRIVAL') {  // 一个套餐买多个
-                        $params['packageId'] = $goods['goods_id'];
-                        $components = GoodsComponent::with([
-                            'goods' => function ($query) {
-                                $query->select('goods_id', 'goods_name', 'goods_classify');
-                            }
-                        ])->where('join_component_master_goods_id', $params['packageId'])
-                            ->get()
-                            ->toArray();
-                        foreach ($components as $component) {
-                            $componentJson = json_decode($component['goods_component_json'], true);
-                            $params['join_sheet_goods_sku_id'] = $componentJson['sku_id'];
-                            $params['benefitId'] = 'BF' . date('ymdHi') . random_string(4, 'up');
-                            $params['order_sheet_num'] = $goods['nbr'] * $componentJson['nbr'];
-                            for ($i = 0; $i < intval($params['order_sheet_num']); $i++) {
-                                $params['appointmentId'] = 'AP' . date('ymdHi') . random_string(4, 'up');
-                                // 入预约记录
-                                $this->insertAppointment($params, $writeOffDate);
-                            }
-                            $goods['goods_id'] = $component['join_component_goods_id'];
-                            $goods['goods_name'] = $component['goods']['goods_name'];
-                            $goods['goods_classify'] = $component['goods']['goods_classify'];
-                            $goods['skuId'] = $goods['sku_id'];
-                            $goods['category'] = 'SERVICE';
-                            // 权益表
-                            $this->insertMemberBenefit($params, $goods);
-                        }
-                    }
-                }
-            }
-
             Db::commit();
 
             // 会员升级
@@ -1072,57 +1020,6 @@ class PackagesController extends Curd
             // 写入订单
             $this->insertMain($params);
 
-            // 买的单个服务
-            $writeOffDate = [];
-            $applyData = [];
-            if ($params['order_status_payment'] == 'SUCCESS') {
-                foreach ($params['goodsContentList'] as $goods) {
-                    $params['join_sheet_goods_id'] = $goods['goods_id'];
-                    if (isset($goods['goods_classify']) && in_array($goods['goods_classify'], ['SERVICE', 'CHNMED', 'CHNNCD']) && $params['delivery'] == 'ARRIVAL') {
-                        $params['benefitId'] = 'BF' . date('ymdHi') . random_string(4, 'up');
-                        $params['join_sheet_goods_sku_id'] = $goods['sku_id'];
-                        $params['goods_id'] = $goods['goods_id'];
-                        $params['order_sheet_num'] = $goods['nbr'];
-                        // 预约表
-                        for ($i = 0; $i < intval($params['order_sheet_num']); $i++) {
-                            $params['appointmentId'] = 'AP' . date('ymdHi') . random_string(4, 'up');
-                            // 入预约记录
-                            $this->insertAppointment($params, $writeOffDate, $applyData);
-                        }
-                        $goods['skuId'] = $goods['sku_id'];
-                        $goods['category'] = $goods['goods_classify'];
-                        // 权益表
-                        $this->insertMemberBenefit($params, $goods);
-                    } elseif (isset($goods['goods_classify']) && $goods['goods_classify'] == 'PACKAGE' && $params['delivery'] == 'ARRIVAL') {  // 一个套餐买多个
-                        $params['packageId'] = $goods['goods_id'];
-                        $components = GoodsComponent::with([
-                            'goods' => function ($query) {
-                                $query->select('goods_id', 'goods_name', 'goods_classify');
-                            }
-                        ])->where('join_component_master_goods_id', $params['packageId'])
-                            ->get()
-                            ->toArray();
-                        foreach ($components as $component) {
-                            $componentJson = json_decode($component['goods_component_json'], true);
-                            $params['join_sheet_goods_sku_id'] = $componentJson['sku_id'];
-                            $params['benefitId'] = 'BF' . date('ymdHi') . random_string(4, 'up');
-                            $params['order_sheet_num'] = $goods['nbr'] * $componentJson['nbr'];
-                            for ($i = 0; $i < intval($params['order_sheet_num']); $i++) {
-                                $params['appointmentId'] = 'AP' . date('ymdHi') . random_string(4, 'up');
-                                // 入预约记录
-                                $this->insertAppointment($params, $writeOffDate);
-                            }
-                            $goods['goods_id'] = $component['join_component_goods_id'];
-                            $goods['goods_name'] = $component['goods']['goods_name'];
-                            $goods['goods_classify'] = $component['goods']['goods_classify'];
-                            $goods['skuId'] = $goods['sku_id'];
-                            $goods['category'] = 'SERVICE';
-                            // 权益表
-                            $this->insertMemberBenefit($params, $goods);
-                        }
-                    }
-                }
-            }
             Db::commit();
 
             // 会员升级
@@ -2168,6 +2065,8 @@ class PackagesController extends Curd
                 $params['order_express_goods'] = json_encode(['sheet' => $sheetIds]);
 
                 $this->insertExpressOne($params, $orderId);
+                // 写到权益里
+                $this->insertBenefitOne($params,$goods,$orderId);
             }
         } catch (\Exception $e) {
             dump($e->getMessage());
@@ -2175,6 +2074,50 @@ class PackagesController extends Curd
         }
     }
 
+    /**
+     * @Desc 单套包权益
+     * @Author Gorden
+     * @Date 2024/9/24 8:42
+     *
+     * @param $params
+     * @param $goods
+     * @return void
+     * @throws BusinessException
+     */
+    public function insertBenefitOne($params, $goods,$orderId)
+    {
+        $writeOffDate = [];
+        $applyData = [];
+        if (isset($goods['goods_classify']) && $goods['goods_classify'] == 'PACKAGE' && $params['delivery'] == 'ARRIVAL') {  // 一个套餐买多个
+            $params['packageId'] = $goods['goods_id'];
+            $components = GoodsComponent::with([
+                'goods' => function ($query) {
+                    $query->select('goods_id', 'goods_name', 'goods_classify');
+                }
+            ])->where('join_component_master_goods_id', $params['packageId'])
+                ->get()
+                ->toArray();
+            foreach ($components as $component) {
+                $componentJson = json_decode($component['goods_component_json'], true);
+                $params['join_sheet_goods_sku_id'] = $componentJson['sku_id'];
+                $params['benefitId'] = 'BF' . date('ymdHi') . random_string(4, 'up');
+                $params['order_sheet_num'] = $goods['nbr'] * $componentJson['nbr'];
+                for ($i = 0; $i < intval($params['order_sheet_num']); $i++) {
+                    $params['appointmentId'] = 'AP' . date('ymdHi') . random_string(4, 'up');
+                    // 入预约记录
+                    $this->insertAppointment($params, $writeOffDate);
+                }
+                $goods['goods_id'] = $component['join_component_goods_id'];
+                $goods['goods_name'] = $component['goods']['goods_name'];
+                $goods['goods_classify'] = $component['goods']['goods_classify'];
+                $goods['skuId'] = $goods['sku_id'];
+                $goods['category'] = 'SERVICE';
+                // 权益表
+                $this->insertMemberBenefit($params, $goods);
+            }
+        }
+    }
+
     /**
      * @Desc
      * @Author Gorden

+ 39 - 52
app/admin/controller/order/ServicesController.php

@@ -529,58 +529,6 @@ class ServicesController extends Curd
             // 写入订单
             $this->insertMain($params);
 
-            // 买的单个服务
-            $writeOffDate = [];
-            $applyData = [];
-            if ($params['order_status_payment'] == 'SUCCESS') {
-                foreach ($params['goodsContentList'] as $goods) {
-                    $params['join_sheet_goods_id'] = $goods['goods_id'];
-                    if (isset($goods['goods_classify']) && in_array($goods['goods_classify'], ['SERVICE', 'CHNMED', 'CHNNCD']) && $params['delivery'] == 'ARRIVAL') {
-                        $params['benefitId'] = 'BF' . date('ymdHi') . random_string(4, 'up');
-                        $params['join_sheet_goods_sku_id'] = $goods['sku_id'];
-                        $params['goods_id'] = $goods['goods_id'];
-                        $params['order_sheet_num'] = $goods['nbr'];
-                        // 预约表
-                        for ($i = 0; $i < intval($params['order_sheet_num']); $i++) {
-                            $params['appointmentId'] = 'AP' . date('ymdHi') . random_string(4, 'up');
-                            // 入预约记录
-                            $this->insertAppointment($params, $writeOffDate, $applyData);
-                        }
-                        $goods['skuId'] = $goods['sku_id'];
-                        $goods['category'] = $goods['goods_classify'];
-                        // 权益表
-                        $this->insertMemberBenefit($params, $goods);
-                    } elseif (isset($goods['goods_classify']) && $goods['goods_classify'] == 'PACKAGE' && $params['delivery'] == 'ARRIVAL') {  // 一个套餐买多个
-                        $params['packageId'] = $goods['goods_id'];
-                        $components = GoodsComponent::with([
-                            'goods' => function ($query) {
-                                $query->select('goods_id', 'goods_name', 'goods_classify');
-                            }
-                        ])->where('join_component_master_goods_id', $params['packageId'])
-                            ->get()
-                            ->toArray();
-                        foreach ($components as $component) {
-                            $componentJson = json_decode($component['goods_component_json'], true);
-                            $params['join_sheet_goods_sku_id'] = $componentJson['sku_id'];
-                            $params['benefitId'] = 'BF' . date('ymdHi') . random_string(4, 'up');
-                            $params['order_sheet_num'] = $goods['nbr'] * $componentJson['nbr'];
-                            for ($i = 0; $i < intval($params['order_sheet_num']); $i++) {
-                                $params['appointmentId'] = 'AP' . date('ymdHi') . random_string(4, 'up');
-                                // 入预约记录
-                                $this->insertAppointment($params, $writeOffDate);
-                            }
-                            $goods['goods_id'] = $component['join_component_goods_id'];
-                            $goods['goods_name'] = $component['goods']['goods_name'];
-                            $goods['goods_classify'] = $component['goods']['goods_classify'];
-                            $goods['skuId'] = $goods['sku_id'];
-                            $goods['category'] = 'SERVICE';
-                            // 权益表
-                            $this->insertMemberBenefit($params, $goods);
-                        }
-                    }
-                }
-            }
-
             Db::commit();
 
             // 会员升级
@@ -2012,6 +1960,9 @@ class ServicesController extends Curd
                 $params['order_express_goods'] = json_encode(['sheet' => $sheetIds]);
 
                 $this->insertExpressOne($params, $orderId);
+
+                // 写到权益里
+                $this->insertBenefitOne($params,$goods,$orderId);
             }
         } catch (\Exception $e) {
             dump($e->getMessage());
@@ -2019,6 +1970,42 @@ class ServicesController extends Curd
         }
     }
 
+    /**
+     * @Desc 单商品权益
+     * @Author Gorden
+     * @Date 2024/9/24 8:42
+     *
+     * @param $params
+     * @param $goods
+     * @return void
+     * @throws BusinessException
+     */
+    public function insertBenefitOne($params, $goods,$orderId)
+    {
+        $writeOffDate = [];
+        $applyData = [];
+        if ($params['order_status_payment'] == 'SUCCESS') {
+            $params['orderId'] = $orderId;
+            $params['join_sheet_goods_id'] = $goods['goods_id'];
+            if (isset($goods['goods_classify']) && in_array($goods['goods_classify'], ['SERVICE', 'CHNMED', 'CHNNCD']) && $params['delivery'] == 'ARRIVAL') {
+                $params['benefitId'] = 'BF' . date('ymdHi') . random_string(4, 'up');
+                $params['join_sheet_goods_sku_id'] = $goods['sku_id'];
+                $params['goods_id'] = $goods['goods_id'];
+                $params['order_sheet_num'] = $goods['nbr'];
+                // 预约表
+                for ($i = 0; $i < intval($params['order_sheet_num']); $i++) {
+                    $params['appointmentId'] = 'AP' . date('ymdHi') . random_string(4, 'up');
+                    // 入预约记录
+                    $this->insertAppointment($params, $writeOffDate, $applyData);
+                }
+                $goods['skuId'] = $goods['sku_id'];
+                $goods['category'] = $goods['goods_classify'];
+                // 权益表
+                $this->insertMemberBenefit($params, $goods);
+            }
+        }
+    }
+
     /**
      * @Desc
      * @Author Gorden