MemRisk.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. /**
  3. * MemRisk.php UTF-8
  4. * 玩家风险数据
  5. *
  6. * @date : 2018/10/11 17:57
  7. *
  8. * @license 这不是一个自由软件,未经授权不许任何使用和传播。
  9. * @author : chenbingling <cbl@huosdk.com>
  10. * @version : HUOSDK 8.0
  11. */
  12. namespace console\index\controller;
  13. use huo\model\member\MemberModel;
  14. use huo\model\user\UserModel;
  15. use huomp\controller\finance\RiskAnalysis;
  16. use huorisk\model\MemRiskModel;
  17. use think\console\Command;
  18. use think\console\Input;
  19. use think\console\Output;
  20. class MemRisk extends Command {
  21. protected function configure() {
  22. $this->setName('mem_risk')->setDescription('玩家风险数据统计');
  23. }
  24. protected function execute(Input $input, Output $output) {
  25. set_time_limit(0);
  26. $_member_model = new MemberModel();
  27. $_member_model->chunk(
  28. 10, function ($members) {
  29. foreach ($members as $member) {
  30. /* 数据报表 */
  31. $_agent_id = (new UserModel())->getIdByMemId($member['id']);
  32. if (empty($_agent_id)) {
  33. continue;
  34. }
  35. $_mem_risk = ['mem_id' => $member['id'], 'risk_level' => 0];
  36. $_risk_analysis = new RiskAnalysis($_agent_id);
  37. $_analysis_report = $_risk_analysis->getReport();
  38. $_agent_money = $_risk_analysis->getAgentMoney();
  39. foreach ($_analysis_report as $_report) {
  40. if ($_report['is_alarm'] && $_risk_analysis::ALARM_TYPE_MOBILE != $_report['type']) {
  41. $_mem_risk['risk_level'] += 1;
  42. }
  43. $_mem_risk['sub_cnt'] = $_report['data']['total'];
  44. $_mem_risk[$_report['type']] = $_report['data']['rate'];
  45. $_mem_risk[$_report['type'].'_default'] = $_report['data']['rate_default'];
  46. }
  47. $_mem_risk = $_mem_risk + $_agent_money;
  48. $_data = (new MemRiskModel())->getInfoByMemId($member['id']);
  49. if (empty($_data)) {
  50. (new MemRiskModel())->addData($_mem_risk);
  51. } else {
  52. (new MemRiskModel())->updateData($_mem_risk, $member['id']);
  53. }
  54. }
  55. }
  56. );
  57. }
  58. }