BmPromoterPropFromCoinAction.class.php 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Fanwe 方维直播系统
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2011 http://www.fanwe.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Author: 云淡风轻(1956838968@qq.com)
  8. // +----------------------------------------------------------------------
  9. class BmPromoterPropFromCoinAction extends CommonAction
  10. {
  11. public function index()
  12. {
  13. $nick_name = trim($_REQUEST['nick_name']);//推广会员名称
  14. $name = trim($_REQUEST['name']);//上线推广商
  15. $p_name = trim($_REQUEST['p_name']);//上线推广中心
  16. $bm_pid = intval($_REQUEST['bm_pid']);
  17. $year = intval($_REQUEST['year']);
  18. $month = intval($_REQUEST['month']);
  19. if ($month>0&&$month<10) {
  20. $month="0".$month;
  21. }
  22. $y = date('Y');
  23. $m = date('m');
  24. if (!($year && $month)) {
  25. $year = $y;
  26. $month = $m;
  27. }
  28. $years = range($y, $y - 5);
  29. $months = range(1, 12);
  30. $time=$year.''.$month;
  31. $table = DB_PREFIX . 'video_prop_'.$time;
  32. $res = $GLOBALS['db']->getRow("SHOW TABLES LIKE'$table'");
  33. if (!$res) {
  34. $this->error("当前月份未开始统计,请选择正常运营月份!");
  35. }
  36. $user_list=array();
  37. if ($p_name) {
  38. $sql_p = "select user_id from " . DB_PREFIX . "bm_promoter where name like '%{$p_name}%' and is_effect=1 and status=1";
  39. $promoter_list=$GLOBALS['db']->getAll($sql_p, true, true);
  40. $promoter_list2=array_map('array_shift',$promoter_list);
  41. $sql_p = "select user_id from " . DB_PREFIX . "bm_promoter where pid in (".implode(',',$promoter_list2).") and name like '%{$name}%' and is_effect=1 and status=1";
  42. $promoter_list3=$GLOBALS['db']->getAll($sql_p, true, true);
  43. $user_list=array_map('array_shift',$promoter_list3);
  44. }else if ($name) {
  45. $sql_p = "select user_id from " . DB_PREFIX . "bm_promoter where name like '%{$name}%' and is_effect=1 and status=1";
  46. $promoter_list1=$GLOBALS['db']->getAll($sql_p, true, true);
  47. $user_list=array_map('array_shift',$promoter_list1);
  48. }
  49. $id_list=array();
  50. $id_list=$user_list;//array_map('array_shift',$user_list);
  51. //$where=" u.is_authentication=2 ";
  52. $where=" u.id>0 and l.is_coin=1 ";
  53. if ($nick_name) {
  54. $where .= " and u.nick_name like '%{$nick_name}%'";
  55. }
  56. if ($bm_pid>0) {
  57. $where .= " and u.bm_pid =" .$bm_pid;
  58. }elseif(count($id_list)>0){
  59. $where.=" and u.bm_pid in (".implode(',',$id_list).") ";
  60. }
  61. $sql = "SELECT l.id,u.id as user_id,l.to_user_id,sum(l.total_ticket) as total_ticket,sum(l.total_diamonds) as total_diamonds,u.nick_name,u.bm_special,bp.name as name,bp.user_id as promoter_user_id,bp.pid as promoter_p_id FROM "
  62. .DB_PREFIX."video_prop_".$time." as l LEFT JOIN "
  63. .DB_PREFIX."user AS u ON l.from_user_id = u.id" ." LEFT JOIN "
  64. .DB_PREFIX."bm_promoter AS bp ON bp.user_id = u.bm_pid" ." WHERE "
  65. . $where." GROUP BY l.from_user_id";
  66. $p = $_REQUEST['p'];
  67. if ($p == '') {
  68. $p = 1;
  69. }
  70. $p = $p > 0 ? $p : 1;
  71. $page_size = 10;
  72. $limit = (($p - 1) * $page_size) . "," . $page_size;
  73. $count_list=$GLOBALS['db']->getAll($sql, true, true);
  74. $count = count($count_list);
  75. $page = new Page($count, $page_size);
  76. $page_show = $page->show();
  77. $sql .= " limit " . $limit;
  78. $list = $GLOBALS['db']->getAll($sql, true, true);
  79. $all_total_ticket=0;//总数
  80. $all_total_diamonds=0;//送出总数
  81. $podcast_total_ticket=0;//代理商获取总数
  82. $pormoter_total_ticket=0;//代理商获取总数
  83. $bm_config=load_auto_cache("bm_config");
  84. $promoter_sign_anchor_revenue=$bm_config['promoter_sign_anchor_revenue'];
  85. $promoter_average_anchor_revenue=$bm_config['promoter_average_anchor_revenue'];
  86. foreach ($count_list as $key => $value) {
  87. /*if ($value['bm_special']==1) {
  88. $count_list[$key]['podcast_total_ticket']=$value['total_ticket']*$promoter_average_anchor_revenue/100;
  89. $count_list[$key]['pormoter_total_ticket']=$value['total_ticket']-$list[$key]['podcast_total_ticket'];
  90. }else{
  91. $count_list[$key]['podcast_total_ticket']=$value['total_ticket']*$promoter_sign_anchor_revenue/100;
  92. $count_list[$key]['pormoter_total_ticket']=$value['total_ticket']-$list[$key]['podcast_total_ticket'];
  93. }*/
  94. $all_total_ticket+=$value['total_ticket'];
  95. $all_total_diamonds+=$value['total_diamonds'];
  96. //$podcast_total_ticket+=$count_list[$key]['podcast_total_ticket'];
  97. //$pormoter_total_ticket+=$count_list[$key]['pormoter_total_ticket'];
  98. }
  99. /*foreach ($list as $key => $value) {
  100. if ($value['bm_special']==1) {
  101. $list[$key]['podcast_total_ticket']=$value['total_ticket']*$promoter_average_anchor_revenue/100;
  102. $list[$key]['pormoter_total_ticket']=$value['total_ticket']-$list[$key]['podcast_total_ticket'];
  103. }else{
  104. $list[$key]['podcast_total_ticket']=$value['total_ticket']*$promoter_sign_anchor_revenue/100;
  105. $list[$key]['pormoter_total_ticket']=$value['total_ticket']-$list[$key]['podcast_total_ticket'];
  106. }
  107. $all_total_ticket+=$value['total_ticket'];
  108. $podcast_total_ticket+=$list[$key]['podcast_total_ticket'];
  109. $pormoter_total_ticket+=$list[$key]['pormoter_total_ticket'];
  110. }*/
  111. $this->assign("all_total_ticket", $all_total_ticket);
  112. $this->assign("all_total_diamonds", $all_total_diamonds);
  113. $this->assign("podcast_total_ticket", $podcast_total_ticket);
  114. $this->assign("pormoter_total_ticket", $pormoter_total_ticket);
  115. $this->assign("year", $year);
  116. $this->assign("month", $month);
  117. $this->assign("years", $years);
  118. $this->assign("months", $months);
  119. $this->assign('list', $list);
  120. $this->assign('page', $page_show);
  121. $this->display();
  122. }
  123. }