소스 검색

支付记录空支付方式

gorden 4 달 전
부모
커밋
ec6b6652ad

+ 35 - 18
app/admin/controller/order/GoodsController.php

@@ -253,16 +253,18 @@ class GoodsController extends Curd
                 throw new BusinessException('检查下单账户');
             }
             // 带着优惠券,要发券
-            if (!empty($params['custom_member_id'])){
+            if (!empty($params['custom_member_id'])) {
                 // 把券从000000加到真实账户
-                CouponDetailService::transCoupon('000000',$params['join_order_member_id']);
+                CouponDetailService::transCoupon('000000', $params['join_order_member_id']);
             }
+        }catch (BusinessException $e){
+            Log::error('创建订单失败', ['msg' => $e->getMessage()]);
+            _syslog("订单", $e->getMessage());
+            return json_fail($e->getMessage());
         }catch (\Exception $e){
-            Db::rollBack();
             Log::error('创建订单失败', ['msg' => $e->getMessage()]);
             _syslog("订单", "创建订单失败");
             return json_fail('创建订单失败');
-
         }
         $params['goods_classify'] = $goodsClassifys[0];
         Db::beginTransaction();
@@ -626,7 +628,36 @@ class GoodsController extends Curd
         if (!empty($params['dept_premises_id'])) {
             $premises = SysDept::where('dept_name', $params['dept_premises_id'])->first();
         }
+        try {
+            // 下单账户
+            if (empty($params['join_order_member_id']) && !empty($params['mobile'])) {
+                if (Member::where('member_mobile', $params['mobile'])->exists()) {
+                    throw new BusinessException('会员已存在');
+                }
+                $params['join_order_member_id'] = $params['member_id'] = 'MR' . date('ymdHi') . random_string(4, 'up');
+                // 创建会员
+                MemberService::createMember($params);
 
+            } else if (empty($params['join_order_member_id']) && empty($params['mobile'])) {
+                $params['join_order_member_id'] = Member::where('member_mobile', '0000')->value('member_id');
+            }
+            if (empty($params['join_order_member_id'])) {
+                throw new BusinessException('检查下单账户');
+            }
+            // 带着优惠券,要发券
+            if (!empty($params['custom_member_id'])) {
+                // 把券从000000加到真实账户
+                CouponDetailService::transCoupon('000000', $params['join_order_member_id']);
+            }
+        }catch (BusinessException $e){
+            Log::error('创建订单失败', ['msg' => $e->getMessage()]);
+            _syslog("订单", $e->getMessage());
+            return json_fail($e->getMessage());
+        }catch (\Exception $e){
+            Log::error('创建订单失败', ['msg' => $e->getMessage()]);
+            _syslog("订单", "创建订单失败");
+            return json_fail('创建订单失败');
+        }
         Db::beginTransaction();
         try {
             // 使用优惠券
@@ -686,20 +717,6 @@ class GoodsController extends Curd
                     throw new BusinessException("密码错误,请重新输入");
                 }
             }
-            // 下单账户
-            if (empty($params['join_order_member_id']) && !empty($params['mobile'])) {
-                if (Member::where('member_mobile', $params['mobile'])->exists()) {
-                    throw new BusinessException("会员已存在");
-                }
-                $params['join_order_member_id'] = $params['member_id'] = 'MR' . date('ymdHi') . random_string(4, 'up');
-                // 创建会员
-                MemberService::createMember($params);
-            } else if (empty($params['join_order_member_id']) && empty($params['mobile'])) {
-                $params['join_order_member_id'] = Member::where('member_mobile', '0000')->value('member_id');
-            }
-            if (empty($params['join_order_member_id'])) {
-                throw new BusinessException("检查下单账户");
-            }
 
             $params['orderId'] = 'OD' . date('ymdHi') . random_string(4, 'up');
             $params['orderGroupId'] = 'OD' . date('ymdHi') . random_string(4, 'up');

+ 8 - 0
app/admin/controller/order/StatisticsController.php

@@ -51,6 +51,7 @@ class StatisticsController
         // 今日收入
         $statistics['todayRevenue'] = PayDetail::whereRaw('CAST(UNIX_TIMESTAMP(pay_paytimes) as SIGNED) >= ? ', [$todayTimeUnix])
             ->where('pay_status', 'SUCCESS')
+            ->where('pay_prepayid','<>', '')
             ->whereIn('pay_category', $orderCategory)
             ->when(in_array('RECHARGE', $orderCategory), function ($query) {
                 $query->whereNotIn('join_pay_order_id', ['COMBINE', 'PARTNER', 'REFERRER']);
@@ -59,12 +60,14 @@ class StatisticsController
         $todayRevenueOrderNbrModel = Db::select("select count(1) as total from (select JSON_EXTRACT(join_pay_object_json,'$.order_id') as order_id from app_pay_detail where 
                                                                        CAST(UNIX_TIMESTAMP(pay_paytimes) as SIGNED) >= {$todayTimeUnix} 
                                                                         and pay_status = 'SUCCESS' 
+                                                                        and pay_prepayid != '' 
                                                                         and pay_category in ({$orderCategoryStr}) {$where}
                                                                        group by order_id) count");
         $statistics['todayRevenueOrderNbr'] = $todayRevenueOrderNbrModel[0]->total;
         // 昨日收入
         $statistics['yesterdayRevenue'] = PayDetail::whereRaw('CAST(UNIX_TIMESTAMP(pay_paytimes) as SIGNED) >= ? and CAST(UNIX_TIMESTAMP(pay_paytimes) as SIGNED) <= ?', [$yesterdayStart, $yesterdayEnd])
             ->where('pay_status', 'SUCCESS')
+            ->where('pay_prepayid','<>', '')
             ->whereIn('pay_category', $orderCategory)
             ->when(in_array('RECHARGE', $orderCategory), function ($query) {
                 $query->whereNotIn('join_pay_order_id', ['COMBINE', 'PARTNER', 'REFERRER']);
@@ -73,6 +76,7 @@ class StatisticsController
         $yesterdayRevenueOrderNbrModel = Db::select("select count(1) as total from (select JSON_EXTRACT(join_pay_object_json,'$.order_id') as order_id from app_pay_detail where 
                                                                        CAST(UNIX_TIMESTAMP(pay_paytimes) as SIGNED) >= {$yesterdayStart} and CAST(UNIX_TIMESTAMP(pay_paytimes) as SIGNED) <= {$yesterdayEnd} 
                                                                         and pay_status = 'SUCCESS' 
+                                                                        and pay_prepayid != '' 
                                                                         and pay_category in ({$orderCategoryStr}) {$where}
                                                                        group by order_id) count");
         $statistics['yesterdayRevenueOrderNbr'] = $yesterdayRevenueOrderNbrModel[0]->total;
@@ -80,6 +84,7 @@ class StatisticsController
         // 本月收入
         $statistics['monthRevenue'] = PayDetail::whereRaw('CAST(UNIX_TIMESTAMP(pay_paytimes) as SIGNED) >= ? and CAST(UNIX_TIMESTAMP(pay_paytimes) as SIGNED) <= ?', [$monthStart, $monthEnd])
             ->where('pay_status', 'SUCCESS')
+            ->where('pay_prepayid','<>', '')
             ->whereIn('pay_category', $orderCategory)
             ->when(in_array('RECHARGE', $orderCategory), function ($query) {
                 $query->whereNotIn('join_pay_order_id', ['COMBINE', 'PARTNER', 'REFERRER']);
@@ -88,15 +93,18 @@ class StatisticsController
         $monthRevenueOrderNbrModel = Db::select("select count(1) as total from (select JSON_EXTRACT(join_pay_object_json,'$.order_id') as order_id from app_pay_detail where 
                                                                        CAST(UNIX_TIMESTAMP(pay_paytimes) as SIGNED) >= {$monthStart} and CAST(UNIX_TIMESTAMP(pay_paytimes) as SIGNED) <= {$monthEnd} 
                                                                         and pay_status = 'SUCCESS' 
+                                                                        and pay_prepayid != '' 
                                                                         and pay_category in ({$orderCategoryStr}) {$where}
                                                                        group by order_id) count");
         $statistics['monthRevenueOrderNbr'] = $monthRevenueOrderNbrModel[0]->total;
         // 累计收入
         $statistics['totalRevenue'] = PayDetail::where('pay_status', 'SUCCESS')
+            ->where('pay_prepayid','<>', '')
             ->whereIn('pay_category', $orderCategory)
             ->sum('pay_amount');
         $totalRevenueOrderNbrModel = Db::select("select count(1) as total from (select JSON_EXTRACT(join_pay_object_json,'$.order_id') as order_id from app_pay_detail where 
                                                                         pay_status = 'SUCCESS' 
+                                                                        and pay_prepayid != '' 
                                                                         and pay_category in ({$orderCategoryStr}) {$where}
                                                                        group by order_id) count");
         $statistics['totalRevenueOrderNbr'] = $totalRevenueOrderNbrModel[0]->total;

+ 1 - 1
app/admin/service/coupon/CouponDetailService.php

@@ -391,7 +391,7 @@ class CouponDetailService
             ->toArray();
         foreach ($details as $detail) {
             $detailModel = new CouponDetail();
-            $detailModel->coupon_detail_id = 'CUDT' . date('ymdHi').random_string(6,'up');
+            $detailModel->coupon_detail_id = 'CUDT' . date('ymdHi').random_string(4,'up');
             $detailModel->join_detail_coupon_id = $detail['join_detail_coupon_id'];
             $detailModel->join_coupon_detail_member_id = $memberId;
             $detailModel->coupon_detail_status = $detail['coupon_detail_status'];