Merge pull request 'refactor(WorkbenchLogic): 调整支付订单查询逻辑,优化支付订单处理效率' (#190) from dev into main

Reviewed-on: #190
This commit is contained in:
mkm 2024-09-05 22:13:38 +08:00
commit fa8421b6e7

View File

@ -158,31 +158,31 @@ class WorkbenchLogic extends BaseLogic
->select()
->toArray();
$orderList = StoreOrder::field($field)
->where($where)
->whereBetweenTime('pay_time', $startTime, $endTime)
->group($group)
->select()
->toArray();
// $orderList = StoreOrder::field($field)
// ->where($where)
// ->whereBetweenTime('pay_time', $startTime, $endTime)
// ->group($group)
// ->select()
// ->toArray();
$userList = StoreOrder::field($field . ',count(uid) as user_num')
->where($where)
->whereBetweenTime('pay_time', $startTime, $endTime)
->group($group . ',uid')
->select()
->toArray();
$orderList = reset_index($orderList, 'pay_time');
// $orderList = reset_index($orderList, 'pay_time');
$userList = reset_index($userList, 'pay_time');
$orderListTmp = [];
// $orderListTmp = [];
$userListTmp = [];
$range = [];
$mergedListTmp = [];
foreach ($timeRange as $item) {
$range[] = $item;
if (!isset($orderList[$item])) {
$orderListTmp[$item] = 0;
} else {
$orderListTmp[$item] = $orderList[$item]['pay_price'];
}
// if (!isset($orderList[$item])) {
// $orderListTmp[$item] = 0;
// } else {
// $orderListTmp[$item] = $orderList[$item]['pay_price'];
// }
if (!isset($userList[$item])) {
$userListTmp[$item] = 0;
} else {
@ -196,25 +196,29 @@ class WorkbenchLogic extends BaseLogic
$mergedListTmp[$item] += $recharge['pay_price'];
}
}
foreach ($orderList as $order) {
if ($order['pay_time'] == $item) {
$mergedListTmp[$item] += $order['pay_price'];
}
}
// foreach ($orderList as $order) {
// if ($order['pay_time'] == $item) {
// $mergedListTmp[$item] += $order['pay_price'];
// }
// }
}
$data['statistics'] = [
'range' => $range,
'data' => [
// 'order_amount' => array_values($orderListTmp),
'user_number' => array_values($userListTmp),
'order_amount' => array_values($mergedListTmp)
// 'order_amount' => array_values($mergedListTmp)
]
];
$data['pay_type'] = [
// ['name' => '线上收银订单', 'value' => bcsub($data['order_amount'], bcadd($data['verify_amount'], $data['cash_amount'], 2), 2)],
// ['name' => '核销订单', 'value' => $data['verify_amount']],
['name' => '现金收银订单', 'value' => $data['cash_amount']],
['name' => '微信订单', 'value' => $data['wechat_amount']],
['name' => '支付宝订单', 'value' => $data['alipay_amount']],
['name' => '采购款订单', 'value' => $data['purchase_funds_amount']],
['name' => '余额订单', 'value' => $data['balance_amount']],
['name' => '现金订单', 'value' => $data['cash_amount']],
];
return $data;
}