Pārlūkot izejas kodu

充值列表更新

Tree 4 stundas atpakaļ
vecāks
revīzija
9f2d5565ef

+ 72 - 54
app/Http/Controllers/Admin/RechargeController.php

@@ -32,6 +32,8 @@ class RechargeController extends Controller
         $end_time = $request->input('end_time');
         $create_start_time = $request->input('create_start_time');
         $create_end_time = $request->input('create_end_time');
+        $updated_start_time = $request->input('updated_start_time');
+        $updated_end_time = $request->input('updated_end_time');
         $register_start_time = $request->input('register_start_time');
         $register_end_time = $request->input('register_end_time');
         $order = $request->post('order');
@@ -73,50 +75,55 @@ class RechargeController extends Controller
         $where = [];
 
         $adminChannels=session('admin_channels');
+        $onlyOrderSnSearch = !empty($order_sn);
 
-        !empty($userid) && $where[] = ['ai.GameID', '=', $userid];
-        !empty($order_sn) && $where[] = ['o.order_sn', $order_sn];
-        !empty($type) && $where[] = ['o.payment_code', $type];
-        !empty($payMethod) && $where[] = ['o.order_title', '=', $payMethod];
-        if(!empty($Channel) || $Channel === '0') {
-            $where[] = ['ai.Channel', $Channel];
-        }else if(count($adminChannels)<5){
-            $where[] = [function ($where) use ($adminChannels) {
-                $where->whereIn('ai.Channel', $adminChannels);
-            }];
-        }
+        // 只查询订单号时,其他筛选条件都不参与
+        if ($onlyOrderSnSearch) {
+            $where[] = ['o.order_sn', $order_sn];
+        } else {
+            !empty($userid) && $where[] = ['ai.GameID', '=', $userid];
+            !empty($type) && $where[] = ['o.payment_code', $type];
+            !empty($payMethod) && $where[] = ['o.order_title', '=', $payMethod];
+            if(!empty($Channel) || $Channel === '0') {
+                $where[] = ['ai.Channel', $Channel];
+            }else if(count($adminChannels)<5){
+                $where[] = [function ($where) use ($adminChannels) {
+                    $where->whereIn('ai.Channel', $adminChannels);
+                }];
+            }
 
-        // 充值来源
-        if (!empty($source)) {
-            if ($source == -1) {
-                $where[] = ['o.GiftsID', '=', 0];
-            } else {
-                $where[] = ['o.GiftsID', '=', $source];
+            // 充值来源
+            if (!empty($source)) {
+                if ($source == -1) {
+                    $where[] = ['o.GiftsID', '=', 0];
+                } else {
+                    $where[] = ['o.GiftsID', '=', $source];
+                }
             }
-        }
 
-        // 充值档位筛选
-        !empty($chargeMoney) && $where[] = ['amount', '=', ($chargeMoney * NumConfig::NUM_VALUE)];
+            // 充值档位筛选
+            !empty($chargeMoney) && $where[] = ['amount', '=', ($chargeMoney * NumConfig::NUM_VALUE)];
 
-        // 支付状态
-        switch ($recharge_type) {
-            // 已到账
-            case 1:
-                $where[] = ['o.pay_status', '=', 1];
-                break;
-            // 咖啡失败(排除退款等特殊状态)
-            case 2:
-                $where[] = ['o.pay_status', '>=', 2];
-                $where[] = ['o.pay_status', '<>', 9];
-                break;
-            // 未支付
-            case 3:
-                $where[] = ['o.pay_status', '=', 0];
-                break;
-            // 退款
-            case 9:
-                $where[] = ['o.pay_status', '=', 9];
-                break;
+            // 支付状态
+            switch ($recharge_type) {
+                // 已到账
+                case 1:
+                    $where[] = ['o.pay_status', '=', 1];
+                    break;
+                // 咖啡失败(排除退款等特殊状态)
+                case 2:
+                    $where[] = ['o.pay_status', '>=', 2];
+                    $where[] = ['o.pay_status', '<>', 9];
+                    break;
+                // 未支付
+                case 3:
+                    $where[] = ['o.pay_status', '=', 0];
+                    break;
+                // 退款
+                case 9:
+                    $where[] = ['o.pay_status', '=', 9];
+                    break;
+            }
         }
 
         // 日期筛选
@@ -148,29 +155,25 @@ class RechargeController extends Controller
             }
         }
 
-        if ($isEmpty == 0) {
+        if (!$onlyOrderSnSearch && $isEmpty == 0) {
             empty($create_start_time) && $create_start_time = date('Y-m-d 00:00:00');
             empty($create_end_time) && $create_end_time = date('Y-m-d 23:59:59');
-        } elseif ($isEmpty == 2) {
+        } elseif (!$onlyOrderSnSearch && $isEmpty == 2) {
             empty($start_time) && $start_time = date('Y-m-d 00:00:00');
             empty($end_time) && $end_time = date('Y-m-d 23:59:59');
         }
 
 
-        !empty($start_time) && $where[] = ['o.pay_at', '>=', date('Y-m-d H:i:s', strtotime($start_time))];
-        !empty($end_time) && $where[] = ['o.pay_at', '<=', date('Y-m-d H:i:s', strtotime($end_time))];
-        !empty($create_start_time) && $where[] = ['o.created_at', '>=', date('Y-m-d H:i:s', strtotime($create_start_time))];
-        !empty($create_end_time) && $where[] = ['o.created_at', '<=', date('Y-m-d H:i:s', strtotime($create_end_time))];
+        if (!$onlyOrderSnSearch) {
+            !empty($start_time) && $where[] = ['o.pay_at', '>=', date('Y-m-d H:i:s', strtotime($start_time))];
+            !empty($end_time) && $where[] = ['o.pay_at', '<=', date('Y-m-d H:i:s', strtotime($end_time))];
+            !empty($create_start_time) && $where[] = ['o.created_at', '>=', date('Y-m-d H:i:s', strtotime($create_start_time))];
+            !empty($create_end_time) && $where[] = ['o.created_at', '<=', date('Y-m-d H:i:s', strtotime($create_end_time))];
+            !empty($updated_start_time) && $where[] = ['o.updated_at', '>=', date('Y-m-d H:i:s', strtotime($updated_start_time))];
+            !empty($updated_end_time) && $where[] = ['o.updated_at', '<=', date('Y-m-d H:i:s', strtotime($updated_end_time))];
 
-        !empty($register_start_time) && $where[] = ['ai.RegisterDate', '>=', date('Y-m-d H:i:s', strtotime($register_start_time))];
-        !empty($register_end_time) && $where[] = ['ai.RegisterDate', '<=', date('Y-m-d H:i:s', strtotime($register_end_time))];
-        if ($request->start_time_cn) {
-            $time = Carbon::createFromTimestamp(strtotime($request->start_time_cn));
-            $where[] = ['o.pay_at', '>=', $time->subHours(11)->format('Y-m-d H:i:s')];
-        }
-        if ($request->end_time_cn) {
-            $time = Carbon::createFromTimestamp(strtotime($request->end_time_cn));
-            $where[] = ['o.pay_at', '<=', $time->subHours(11)->format('Y-m-d H:i:s')];
+            !empty($register_start_time) && $where[] = ['ai.RegisterDate', '>=', date('Y-m-d H:i:s', strtotime($register_start_time))];
+            !empty($register_end_time) && $where[] = ['ai.RegisterDate', '<=', date('Y-m-d H:i:s', strtotime($register_end_time))];
         }
 
         // 操作人(补单等)筛选:与列表相同的 AccountsRecord 关联
@@ -238,6 +241,17 @@ class RechargeController extends Controller
         }
 
         $overMoney = isset($payOverMoney->amount) ? number_float($payOverMoney->amount / NumConfig::NUM_VALUE) : 0;
+        $refundSummary = $aggregateBase()
+            ->where($where)
+            ->where('o.pay_status', 9)
+            ->selectRaw(
+                $operatorFilterActive
+                    ? 'sum(o.amount) as refund_amount,sum(ISNULL(o.refund_fee,0)) as refund_fee'
+                    : 'sum(amount) as refund_amount,sum(ISNULL(refund_fee,0)) as refund_fee'
+            )
+            ->first();
+        $refundMoney = isset($refundSummary->refund_amount) ? number_float($refundSummary->refund_amount / NumConfig::NUM_VALUE) : 0;
+        $refundFee = isset($refundSummary->refund_fee) ? number_float($refundSummary->refund_fee / NumConfig::NUM_VALUE) : 0;
         $successUserRate = 0;
         $successOrderRate = 0;
         if (!empty($payTotalMoney->count_u)) {
@@ -364,6 +378,8 @@ class RechargeController extends Controller
                 'start_time' => empty($start_time) ? '' : date('Y-m-d', strtotime($start_time)) . 'T' . date('H:i:s', strtotime($start_time)),
                 'create_start_time' => empty($create_start_time) ? '' : date('Y-m-d', strtotime($create_start_time)) . 'T' . date('H:i:s', strtotime($create_start_time)),
                 'create_end_time' => empty($create_end_time) ? '' : date('Y-m-d', strtotime($create_end_time)) . 'T' . date('H:i:s', strtotime($create_end_time)),
+                'updated_start_time' => empty($updated_start_time) ? '' : date('Y-m-d', strtotime($updated_start_time)) . 'T' . date('H:i:s', strtotime($updated_start_time)),
+                'updated_end_time' => empty($updated_end_time) ? '' : date('Y-m-d', strtotime($updated_end_time)) . 'T' . date('H:i:s', strtotime($updated_end_time)),
                 'order' => $order,
                 'type' => $type,
                 'type_list' => $type_list,
@@ -373,6 +389,8 @@ class RechargeController extends Controller
                 'overMoney' => $overMoney,
                 'payOverMoney' => $payOverMoney ?? 0,
                 'payTotalMoney' => $payTotalMoney,
+                'refundMoney' => $refundMoney,
+                'refundFee' => $refundFee,
                 'successUserRate' => $successUserRate,
                 'successOrderRate' => $successOrderRate,
                 'date' => $date,

+ 18 - 15
resources/views/admin/recharge/list.blade.php

@@ -94,18 +94,12 @@
                                         </select>
                                     </div>
                                     <div class="form-group">
-                                        <span style="padding-left: 10px">{{ __('auto.选择支付时间') }}({{ __('auto.当地') }}):</span>
+                                        <span style="padding-left: 10px">{{ __('auto.选择支付时间') }}:</span>
                                         <input type="datetime-local" step="01" name="start_time" class="form-control" id="start_time"
                                                value="{{$start_time}}" onclick="start_times('start_time')"/>&nbsp;&nbsp;
                                         <input type="datetime-local" step="01" name="end_time" class="form-control" id="end_time"
                                                value="{{$end_time}}"  onclick="end_times('end_time')"/>&nbsp;&nbsp;
 
-                                        <span style="padding-left: 10px">{{ __('auto.选择支付时间') }}({{ __('auto.中国') }}):</span>
-                                        <input type="datetime-local" step="01" name="start_time_cn" class="form-control" id="start_time_cn"
-                                               value="{{$request->start_time_cn}}" onclick="start_times('start_time_cn')"/>&nbsp;&nbsp;
-                                        <input type="datetime-local" step="01" name="end_time_cn" class="form-control" id="end_time_cn"
-                                               value="{{$request->end_time_cn}}"  onclick="end_times('end_time_cn')"/>
-
                                         <span style="padding-left: 10px;">{{ __('auto.按单价排序:') }}</span>
                                         <input type="radio" name="order" value="1">&nbsp;
 
@@ -113,11 +107,16 @@
 
 
                                     <div class="form-group">
-                                        <span style="padding-left: 10px">{{ __('auto.订单创建时间') }}({{ __('auto.当地') }}):</span>
+                                        <span style="padding-left: 10px">{{ __('auto.订单创建时间') }}:</span>
                                         <input type="datetime-local" step="01" name="create_start_time" class="form-control" id="create_start_time"
                                                value="{{$create_start_time}}" onclick="create_start_times()"/>&nbsp;&nbsp;
                                         <input type="datetime-local" step="01" name="create_end_time" class="form-control" id="create_end_time"
                                                value="{{$create_end_time}}" onclick="create_end_times()"/>
+                                        <span style="padding-left: 10px">更新时间:</span>
+                                        <input type="datetime-local" step="01" name="updated_start_time" class="form-control" id="updated_start_time"
+                                               value="{{$updated_start_time}}" onclick="start_times('updated_start_time')"/>&nbsp;&nbsp;
+                                        <input type="datetime-local" step="01" name="updated_end_time" class="form-control" id="updated_end_time"
+                                               value="{{$updated_end_time}}" onclick="end_times('updated_end_time')"/>
 
                                         <span style="padding-left: 10px">{{ __('auto.用户注册日期:') }}</span>
                                         <input type="datetime-local" step="01" name="register_start_time" class="form-control" id="register_start_time"
@@ -148,7 +147,7 @@
                                         <input type="submit" class="btn btn-sm btn-gradient-dark btn-icon-text" value="{{ __('auto.搜索') }}"/>&nbsp;&nbsp;
                                         <a href="?isEmpty=1"
                                            class="btn btn-sm btn-gradient-warning btn-icon-text">{{ __('auto.清空') }}</a>&nbsp;&nbsp;
-                                        <a href="?excel=1&start_time={{$start_time}}&end_time={{$end_time}}&recharge_type={{$recharge_type}}&UserID={{$UserID}}&type={{$type}}&order={{$order}}&date={{$date}}&create_start_time={{$create_start_time}}&create_end_time={{$create_end_time}}&isEmpty=1&source={{$source}}&chargeMoney={{$chargeMoney}}&payMethod={{$payMethod}}&operator_admin_id={{ urlencode((string)($operator_admin_id ?? '')) }}"
+                                        <a href="?excel=1&start_time={{$start_time}}&end_time={{$end_time}}&recharge_type={{$recharge_type}}&UserID={{$UserID}}&type={{$type}}&order={{$order}}&date={{$date}}&create_start_time={{$create_start_time}}&create_end_time={{$create_end_time}}&updated_start_time={{$updated_start_time}}&updated_end_time={{$updated_end_time}}&isEmpty=1&source={{$source}}&chargeMoney={{$chargeMoney}}&payMethod={{$payMethod}}&operator_admin_id={{ urlencode((string)($operator_admin_id ?? '')) }}"
                                            class="btn btn-sm btn-gradient-light btn-icon-text">{{ __('auto.导出') }}</a>
                                     </div>
                                 </div>
@@ -158,8 +157,7 @@
                                 <tr>
                                     <th width="5%" ondblclick="copyText(1)">ID</th>
                                     <th width="8%" ondblclick="copyText(2)">{{ __('auto.订单号') }}</th>
-                                    <th width="8%">{{ __('auto.支付完成时间') }}({{ __('auto.当地') }})</th>
-                                    <th width="8%">{{ __('auto.支付完成时间') }}({{ __('auto.中国') }})</th>
+                                    <th width="8%">{{ __('auto.支付完成时间') }}</th>
                                     <th width="10%">
                                         <div class="sort_money">
                                             {{ __('auto.咖啡金额') }}
@@ -197,8 +195,8 @@
                                     <th width="8%">{{ __('auto.状态') }}</th>
                                     <th width="8%">{{ __('auto.来源') }}</th>
                                     <th width="7%">{{ __('auto.玩家渠道') }}</th>
-                                    <th width="8%">{{ __('auto.订单生成日期') }}({{ __('auto.当地') }})</th>
-                                    <th width="8%">{{ __('auto.订单生成日期') }}({{ __('auto.中国') }})</th>
+                                    <th width="8%">{{ __('auto.订单生成日期') }}</th>
+                                    <th width="8%">更新时间</th>
                                     <th width="8%">{{ __('auto.操作') }}</th>
                                     <th width="8%">{{ __('auto.添加备注') }}</th>
                                     <th width="8%">{{ __('auto.操作人') }}</th>
@@ -213,6 +211,8 @@
                                         @endif
                                         <h4>{{ __('auto.总金额:') }}{{$totalMoney}} &nbsp;&nbsp; {{$payTotalMoney->count_u ?? 0}}{{ __('auto.人') }}&nbsp;&nbsp;{{$payTotalMoney->count_id ?? 0}}{{ __('auto.笔') }}</h4>
                                         <h4>{{ __('auto.已到账:') }}{{$overMoney}} &nbsp;&nbsp;{{$payOverMoney->count_u ?? 0}}{{ __('auto.人') }}&nbsp;&nbsp;{{$payOverMoney->count_id ?? 0}}{{ __('auto.笔') }}</h4>
+                                        <h4>退款金额:{{ $refundMoney ?? 0 }}</h4>
+                                        <h4>退款手续费:{{ $refundFee ?? 0 }}</h4>
                                         @if(!empty($viewAll))
                                             <h4>{{ __('auto.手续费汇总:') }}{{ $totalPaymentFee ?? 0 }}</h4>
                                         @endif
@@ -226,7 +226,6 @@
                                         <td class="first_str">{{ $v->id }}</td>
                                         <td>{{ $v->order_sn }}</td>
                                         <td>{{$v->finished_at}}</td>
-                                        <td>{{$v->finished_at ? dateConvert($v->finished_at) : ''}}</td>
                                         <td>{{ $v->amount }}</td>
                                         <td>{{ $v->payment_fee ?? 0 }}</td>
                                         <td>{{ $v->after_amount }}</td>
@@ -263,7 +262,7 @@
                                         <td>{{$v->GiftsName}}</td>
                                         <td>{{$v->Channel}}</td>
                                         <td>{{$v->created_at}}</td>
-                                        <td>{{ dateConvert($v->created_at) }}</td>
+                                        <td>{{$v->updated_at}}</td>
                                         <td>
                                             @if (in_array(session('admin')->roles[0]->id,[1,12]) && $v->pay_status != 1 && $v->pay_status != 9)
                                                 <button type="button" class="btn-sm btn-primary"
@@ -303,6 +302,8 @@
     'date'=>$date,
     'create_start_time'=>$create_start_time,
     'create_end_time'=>$create_end_time,
+    'updated_start_time'=>$updated_start_time,
+    'updated_end_time'=>$updated_end_time,
     'Channel'=>$Channel,
     'isEmpty'=>$isEmpty,
     'register_start_time' => $register_start_time,
@@ -335,6 +336,8 @@
             'date':'{{$date}}',
             'create_start_time':'{{$create_start_time}}',
             'create_end_time':'{{$create_end_time}}',
+            'updated_start_time':'{{$updated_start_time}}',
+            'updated_end_time':'{{$updated_end_time}}',
             'Channel':'{{$Channel}}',
             'isEmpty':'{{$isEmpty}}',
             'register_start_time' : '{{$register_start_time}}',