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