* @version : HUOSDK 8.0 */ namespace console\index\controller; use huo\model\member\MemberModel; use huo\model\user\UserModel; use huomp\controller\finance\RiskAnalysis; use huorisk\model\MemRiskModel; use think\console\Command; use think\console\Input; use think\console\Output; class MemRisk extends Command { protected function configure() { $this->setName('mem_risk')->setDescription('玩家风险数据统计'); } protected function execute(Input $input, Output $output) { set_time_limit(0); $_member_model = new MemberModel(); $_member_model->chunk( 10, function ($members) { foreach ($members as $member) { /* 数据报表 */ $_agent_id = (new UserModel())->getIdByMemId($member['id']); if (empty($_agent_id)) { continue; } $_mem_risk = ['mem_id' => $member['id'], 'risk_level' => 0]; $_risk_analysis = new RiskAnalysis($_agent_id); $_analysis_report = $_risk_analysis->getReport(); $_agent_money = $_risk_analysis->getAgentMoney(); foreach ($_analysis_report as $_report) { if ($_report['is_alarm'] && $_risk_analysis::ALARM_TYPE_MOBILE != $_report['type']) { $_mem_risk['risk_level'] += 1; } $_mem_risk['sub_cnt'] = $_report['data']['total']; $_mem_risk[$_report['type']] = $_report['data']['rate']; $_mem_risk[$_report['type'].'_default'] = $_report['data']['rate_default']; } $_mem_risk = $_mem_risk + $_agent_money; $_data = (new MemRiskModel())->getInfoByMemId($member['id']); if (empty($_data)) { (new MemRiskModel())->addData($_mem_risk); } else { (new MemRiskModel())->updateData($_mem_risk, $member['id']); } } } ); } }