Browse Source

统计上分数据包含 代理给用户上分数据

master
wanghongjun 2 years ago
parent
commit
54fb23d32d
  1. 89
      app/controller/AdminStatistics.php

89
app/controller/AdminStatistics.php

@ -7,6 +7,8 @@ use app\BaseController;
use app\middleware\CheckAdmin;
use app\model\AdminDownScoresRecords;
use app\model\AdminUpScoresRecords;
use app\model\AgentDownScoresRecords;
use app\model\AgentUpScoresRecords;
use app\model\AgentUser;
use think\exception\ValidateException;
use think\facade\Request;
@ -91,49 +93,31 @@ class AdminStatistics extends BaseController
$type = $param['type'];
$date = get_near_month_datetime();
$data = [];
if ($type == 1) {
// 上分统计
$sumData = AdminUpScoresRecords::field('SUM(balance) as sum_num')
->where('id','>=',1)
->find();
// 统计近4个月数据
foreach ($date as $month => $datetime) {
$res = AdminUpScoresRecords::field('SUM(balance) as sum_num')
->where([
['create_time','>=',$datetime['start_time']],
['create_time','<=',$datetime['end_time']],
])
->find();
$data['histogram'][] = [
'date' => $month,
'value' => $res['sum_num'] ?? 0
];
}
} else {
// 下分统计
$sumData = AdminDownScoresRecords::field('SUM(withdrawal_amount) as sum_num')
->where('id','>=',1)
->find();
// 统计近4个月数据
foreach ($date as $month => $datetime) {
$res = AdminDownScoresRecords::field('SUM(withdrawal_amount) as sum_num')
->where([
['create_time','>=',$datetime['start_time']],
['create_time','<=',$datetime['end_time']],
])
->find();
$data['histogram'][] = [
'date' => $month,
'value' => $res['sum_num'] ?? 0
];
}
$dateKey = array_keys($date);
$data = ['sum_value' => 0];
// type = 1 上分 type = 2 下分 (统计)
$field = 'balance';
$adminModel = AdminUpScoresRecords::class;
$agentModel = AdminUpScoresRecords::class;
if ($type == 2) {
$field = 'withdrawal_amount';
$adminModel = AdminDownScoresRecords::class;
$agentModel = AgentDownScoresRecords::class;
}
// 总数统计
$adminData = $this->adminOrAgentStatistics($adminModel,$date,$field);
$data['sum_value'] += $adminData['sum_value'];
$agentData = $this->adminOrAgentStatistics($agentModel,$date,$field);
$data['sum_value'] += $adminData['sum_value'];
// 月份统计
foreach ($dateKey as $dateValue) {
$data['histogram'][] = [
'date' => $dateValue,
'value' => $adminData[$dateValue] + $agentData[$dateValue]
];
}
$data['sum_value'] = $sumData['sum_num'] ?: 0;
return $this->renderSuccess('数据返回成功',$data);
} catch (ValidateException $validateException) {
@ -141,4 +125,25 @@ class AdminStatistics extends BaseController
}
}
protected function adminOrAgentStatistics($model,$date,$field = 'balance')
{
$data = [];
$sumData = $model::field("SUM({$field}) as sum_num")
->where('id','>=',1)
->find();
$data['sum_value'] = $sumData['sum_num'] ?? 0;
// 统计近4个月数据
foreach ($date as $month => $datetime) {
$res = $model::field("SUM({$field}) as sum_num")
->where([
['create_time','>=',$datetime['start_time']],
['create_time','<=',$datetime['end_time']],
])
->find();
$data[$month] = $res['sum_num'] ?? 0;
}
return $data;
}
}

Loading…
Cancel
Save