gorden 4 ヶ月 前
コミット
ffc9ae9f50

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

@@ -11,6 +11,7 @@ use app\controller\Curd;
 use app\model\Appointment;
 use app\model\ClientConfig;
 use app\model\Coupon;
+use app\model\CouponDetail;
 use app\model\Goods;
 use app\model\GoodsComponent;
 use app\model\GoodsRunning;
@@ -866,7 +867,21 @@ class NewCustomerController extends Curd
                             ->toArray();
                         foreach ($coupons as &$coupon) {
                             if (isset($goodsAttributeJson['coupon'][$coupon['coupon_id']])) {
-                                $coupon['num'] = $goodsAttributeJson['coupon'][$coupon['coupon_id']]['num'];
+                                $coupon['num'] = CouponDetail::where('join_detail_coupon_id', $coupon['coupon_id'])
+                                    ->where('join_coupon_detail_member_id', $order->join_order_member_id)
+//                                    ->whereJsonContains('coupon_detail_extend_json->order_id', $order->order_id)
+                                    ->count();
+                                $coupon['used'] = CouponDetail::where('join_detail_coupon_id', $coupon['coupon_id'])
+                                    ->where('join_coupon_detail_member_id', $order->join_order_member_id)
+//                                    ->whereJsonContains('coupon_detail_extend_json->order_id', $order->order_id)
+                                    ->where('coupon_detail_status', 'USED')
+                                    ->count();
+                                $coupon['invalid'] = CouponDetail::where('join_detail_coupon_id', $coupon['coupon_id'])
+                                    ->where('join_coupon_detail_member_id', $order->join_order_member_id)
+//                                    ->whereJsonContains('coupon_detail_extend_json->order_id', $order->order_id)
+                                    ->whereIn('coupon_detail_status', ['DISABLED','CANCEL','EXPIRED'])
+                                    ->count();
+                                $coupon['unused'] = $coupon['num'] - $coupon['used'] - $coupon['invalid'];
                             }
                         }
                     }

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

@@ -824,7 +824,12 @@ class RechargeController extends Curd
                                     ->whereJsonContains('coupon_detail_extend_json->order_id', $order->order_id)
                                     ->where('coupon_detail_status', 'USED')
                                     ->count();
-                                $coupon['unused'] = $coupon['num'] - $coupon['used'];
+                                $coupon['invalid'] = CouponDetail::where('join_detail_coupon_id', $coupon['coupon_id'])
+                                    ->where('join_coupon_detail_member_id', $order->join_order_member_id)
+                                    ->whereJsonContains('coupon_detail_extend_json->order_id', $order->order_id)
+                                    ->whereIn('coupon_detail_status', ['DISABLED','CANCEL','EXPIRED'])
+                                    ->count();
+                                $coupon['unused'] = $coupon['num'] - $coupon['used'] - $coupon['invalid'];
                             }
                         }
                     }

+ 2 - 1
app/admin/service/coupon/CouponService.php

@@ -202,7 +202,7 @@ class CouponService
                         // 发周期券
                         if ($couponModel->coupon_is_period == 'Y') {
                             // 发券参数
-                            $couponSendParams = ['gettype' => $gettype, 'coupon_id' => $key, 'member_id' => $params['member_id']];
+                            $couponSendParams = ['gettype' => $gettype, 'coupon_id' => $key, 'member_id' => $params['member_id'],'order_id' => $params['orderId']];
                             Log::info("发周期券参数", $couponSendParams);
                             CouponDetailService::sendPeriodCoupon($couponSendParams);
                             continue;
@@ -225,6 +225,7 @@ class CouponService
                         $couponSendParams = [
                             'gettype' => $gettype,
                             'coupon_id' => $key,
+                            'order_id' => $params['orderId'],
                             'chooseCouponNbr' => $coupon['num'],
                             'member_id' => $params['member_id'],
                             'coupon_detail_gain_datetime' => date('Y-m-d H:i:s'),

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

@@ -29,7 +29,7 @@ class NewCustomerEvent
             }
 
             //发放优惠券
-            $goods = Goods::where('goods_id', $params['join_sheet_goods_id'])->select('goods_id','goods_name','goods_attribute_json')->first();
+            $goods = Goods::where('goods_id', $params['join_sheet_goods_id'])->select('goods_id', 'goods_name', 'goods_attribute_json')->first();
             if (!empty($goods) && !empty($goods->goods_attribute_json)) {
                 $goodsAttributeJson = json_decode($goods->goods_attribute_json, true);
                 if (isset($goodsAttributeJson['account'])) {
@@ -74,6 +74,7 @@ class NewCustomerEvent
                         if ($couponModel->coupon_is_period == 'Y') {
                             // 发券参数
                             $couponSendParams = [
+                                'order_id' => $params['orderId'],
                                 'gettype' => 'COMBINE',
                                 'coupon_id' => $key,
                                 'member_id' => $params['member_id']
@@ -103,6 +104,7 @@ class NewCustomerEvent
                         $couponSendParams = [
                             'gettype' => 'COMBINE',
                             'coupon_id' => $key,
+                            'order_id' => $params['orderId'],
                             'chooseCouponNbr' => $coupon['num'],
                             'member_id' => $params['member_id'],
                             'coupon_detail_gain_datetime' => date('Y-m-d H:i:s'),