Browse Source

新客专享

gorden 5 months ago
parent
commit
b8a6ade0f2

+ 23 - 53
app/admin/controller/order/NewCustomerController.php

@@ -742,7 +742,7 @@ class NewCustomerController extends Curd
                     $query->select('member_id', 'member_mobile', 'member_is_owner', 'join_member_role_id');
                 },
                 'goods' => function ($query) {
-                    $query->select('goods_id', 'goods_name', 'goods_cover', 'goods_market_price', 'goods_sales_price', 'goods_classify', 'goods_if_express');
+                    $query->select('goods_id', 'goods_name', 'goods_cover', 'goods_market_price', 'goods_sales_price', 'goods_classify', 'goods_if_express','goods_attribute_json');
                 },
                 'memberInfo',
                 'cert',
@@ -760,11 +760,11 @@ class NewCustomerController extends Curd
                 ->toArray();
 
             $order = Order::where('order_id', $orderId)->first();
-            $express = OrderExpress::where('join_express_order_id', $orderId)->first();
-            $premises = '';
-            if ($express && $express->order_express_type == '自提') {
-                $premises = $express->order_express_company;
-            }
+            // $express = OrderExpress::where('join_express_order_id', $orderId)->first();
+            // $premises = '';
+            // if ($express && $express->order_express_type == '自提') {
+            //     $premises = $express->order_express_company;
+            // }
             $sheetAmount = 0;
             foreach ($orderSheet as &$item) {
                 $sheetAmount += $item['order_sheet_amount'];
@@ -831,55 +831,24 @@ class NewCustomerController extends Curd
                 } else {
                     $item['skus'] = [];
                 }
-                if (in_array($item['goods']['goods_classify'], ['SERVICE', 'CHNMED', 'CHNNCD', 'PACKAGE']) && $order->order_status_system == 'DONE') {
-                    $item['appontment'] = [];
-                    $appontments = Appointment::where('join_appointment_order_id', $orderId)
-                        ->where('appointment_status', 'DONE')
-                        ->select('appointment_status', 'appointment_id', 'appointment_done_datetime', 'appointment_done_json', 'appointment_apply_json')
-                        ->get()
-                        ->toArray();
-                    foreach ($appontments as $appontment) {
-                        $doneJson = [];
-                        $username = '';
-                        if (!empty($appontment['appointment_done_json'])) {
-                            $doneJson = json_decode($appontment['appointment_done_json'], true);
-                            if (isset($doneJson['charge'])) {
-                                $username = SysUser::where('user_id', $doneJson['charge']['charge_user_id'])->value('user_name');
-                            }
-                        }
-                        $person = 1;
-                        if (!empty($appontment->appointment_apply_json)) {
-                            $applyJson = json_decode($appontment->appointment_apply_json, true);
-                            if (isset($applyJson['person'])) {
-                                $person = $applyJson['person'];
+                $coupons = [];
+                // 产品携带的优惠券
+                if (!empty($item['goods']['goods_attribute_json'])){
+                    $goodsAttributeJson = json_decode($item['goods']['goods_attribute_json'],true);
+                    if (isset($goodsAttributeJson['coupon'])){
+                        $couponIds = array_keys($goodsAttributeJson['coupon']);
+                        $coupons = Coupon::whereIn('coupon_id',$couponIds)
+                            ->select('coupon_id','coupon_name','coupon_classify','coupon_is_period','coupon_period_json','coupon_addtimes')
+                            ->get()
+                            ->toArray();
+                        foreach($coupons as &$coupon){
+                            if (isset($goodsAttributeJson['coupon'][$coupon['coupon_id']])){
+                                $coupon['num'] = $goodsAttributeJson['coupon'][$coupon['coupon_id']]['num'];
                             }
                         }
-                        $item['appontment'][] = [
-                            'member' => ($item['cert'] ? $item['cert']['member_cert_name'] . '-' : '') . ($item['member'] ? $item['member']['member_mobile'] : ''),
-                            'goods_name' => $item['goods']['goods_name'],
-                            'premisses' => isset($doneJson['charge']) ? $doneJson['charge']['charge_premises'] : '',
-                            'username' => $username,
-                            'nbr' => $person,
-                            'done_time' => $appontment['appointment_done_datetime'],
-                            'appointment_status' => $appontment['appointment_status'],
-                        ];
-                    }
-                }
-                if (!empty($item['order_sheet_extend_json']) && !$express) {
-                    $extendJson = json_decode($item['order_sheet_extend_json'], true);
-                    if (isset($extendJson['address_id'])) {
-                        $address = ClientConfig::where('client_config_id', $extendJson['address_id'])->first();
-                        if (!empty($address)) {
-                            $valJson = json_decode($address->client_config_val_json, true);
-                            $express = [
-                                'order_express_address' => $valJson['address'] . ($valJson['numbers'] ?? ''),
-                                'order_express_city' => $valJson['city'],
-                                'order_express_mobile' => $valJson['mobile'],
-                                'order_express_person' => $valJson['person']
-                            ];
-                        }
                     }
                 }
+                
                 $item['member']['level'] = '普通会员';
                 if (!empty($item['member']['join_member_role_id'])) {
                     $item['member']['level'] = MemberRole::where('member_role_id', $item['member']['join_member_role_id'])->value('member_role_name');
@@ -999,12 +968,13 @@ class NewCustomerController extends Curd
             $discount['value'] = sprintf("%.2f", $discount['value']);
             $order->discount = $discount;
 
-            $order->premises = $order->premises ?? $premises;
+            // $order->premises = $order->premises ?? $premises;
             $data = [
                 'order' => $order,
                 'refund' => json_decode(json_encode($refund)),
                 'sheet' => json_decode(json_encode($orderSheet)),
-                'express' => json_decode(json_encode($express)),
+                'coupons' => $coupons,
+                // 'express' => json_decode(json_encode($express)),
                 'payDetails' => json_decode(json_encode($payDetails))
             ];
 

+ 0 - 3
app/event/order/NewCustomerEvent.php

@@ -68,9 +68,6 @@ class NewCustomerEvent
                     }
                     // 发周期券
                     if ($couponModel->coupon_is_period == 'Y') {
-//                        if (CouponDetail::where('join_coupon_detail_member_id', $params['member_id'])->where('join_detail_coupon_id', $couponModel->coupon_id)->exists()) {
-//                            continue;
-//                        }
                         // 发券参数
                         $couponSendParams = [
                             'gettype' => 'COMBINE',