|
|
@@ -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,
|