BmPromoterGameAction.class.php 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  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 BmPromoterGameAction 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. $year = intval($_REQUEST['year']);
  17. $month = intval($_REQUEST['month']);
  18. $y = date('Y');
  19. $m = date('m');
  20. if (!($year && $month)) {
  21. $year = $y;
  22. $month = $m;
  23. }
  24. $years = range($y, $y - 5);
  25. $months = range(1, 12);
  26. $start = strtotime("{$year}-{$month}-1 00:00:00");
  27. $end = strtotime('+1 month', $start);
  28. $where = "l.create_time >= {$start} AND l.create_time <= {$end} and bp.is_effect=1 and bp.status=1";
  29. if ($nick_name) {
  30. $where .= " and u.nick_name like '%{$nick_name}%'";
  31. }
  32. if ($name) {
  33. $where .= " and bp.`name` like '%{$name}%'";
  34. }
  35. if ($p_name) {
  36. $where .= " and bpp.`name` like '%{$p_name}%'";
  37. }
  38. $pre = DB_PREFIX;
  39. $sql = "SELECT
  40. count(1) as count
  41. FROM
  42. (
  43. SELECT
  44. 1
  45. FROM
  46. {$pre}bm_promoter_game_log AS l
  47. LEFT JOIN {$pre}user AS u ON l.user_id = u.id
  48. LEFT JOIN {$pre}bm_promoter AS bp ON l.bm_pid = bp.user_id
  49. LEFT JOIN {$pre}bm_promoter AS bpp ON bp.pid = bpp.user_id
  50. WHERE
  51. {$where}
  52. GROUP BY
  53. l.user_id
  54. ) AS a";
  55. $p = $_REQUEST['p'];
  56. if ($p == '') {
  57. $p = 1;
  58. }
  59. $p = $p > 0 ? $p : 1;
  60. $page_size = 10;
  61. $limit = (($p - 1) * $page_size) . "," . $page_size;
  62. $count = $GLOBALS['db']->getOne($sql, true, true);
  63. $page = new Page($count, $page_size);
  64. $page_show = $page->show();
  65. $sql = "SELECT
  66. l.bm_pid,
  67. l.user_id,
  68. l.game_id,
  69. sum(l.sum_bet) AS sum_bet,
  70. sum(l.sum_gain) AS sum_gain,
  71. sum(l.sum_win) AS sum_win,
  72. sum(l.promoter_gain) AS promoter_gain,
  73. sum(l.platform_gain) AS platform_gain,
  74. sum(l.sum_gain) AS sum_gain,
  75. sum(l.gain) AS gain,
  76. l.create_time,
  77. l.is_count,
  78. bp.`name`,
  79. bpp.`name` AS p_name,
  80. bp.id,
  81. u.nick_name
  82. FROM
  83. {$pre}bm_promoter_game_log AS l
  84. LEFT JOIN {$pre}user AS u ON l.user_id = u.id
  85. LEFT JOIN {$pre}bm_promoter AS bp ON l.bm_pid = bp.user_id
  86. LEFT JOIN {$pre}bm_promoter AS bpp ON bp.pid = bpp.user_id
  87. WHERE
  88. {$where}
  89. GROUP BY
  90. l.user_id
  91. LIMIt {$limit}";
  92. $list = $GLOBALS['db']->getAll($sql, true, true);
  93. $sql = "SELECT
  94. sum(l.sum_bet) AS sum_bet,
  95. sum(l.sum_gain) AS sum_gain,
  96. sum(l.sum_win) AS sum_win,
  97. sum(l.promoter_gain) AS promoter_gain,
  98. sum(l.platform_gain) AS platform_gain,
  99. sum(l.sum_gain) AS sum_gain,
  100. sum(l.gain) AS gain
  101. FROM
  102. {$pre}bm_promoter_game_log AS l
  103. LEFT JOIN {$pre}user AS u ON l.user_id = u.id
  104. LEFT JOIN {$pre}bm_promoter AS bp ON l.bm_pid = bp.user_id
  105. LEFT JOIN {$pre}bm_promoter AS bpp ON bp.pid = bpp.user_id
  106. WHERE
  107. {$where}";
  108. $sum = $GLOBALS['db']->getRow($sql, true, true);
  109. $this->assign("year", $year);
  110. $this->assign("month", $month);
  111. $this->assign("years", $years);
  112. $this->assign("months", $months);
  113. $this->assign('sum', $sum);
  114. $this->assign('list', $list);
  115. $this->assign('page', $page_show);
  116. $this->display();
  117. }
  118. public function detail()
  119. {
  120. $id = intval($_REQUEST['id']);
  121. $user_id = intval($_REQUEST['user_id']);
  122. $game_id = intval($_REQUEST['game_id']);
  123. $win = intval($_REQUEST['win']);
  124. $create_time_1 = intval($_REQUEST['create_time_1']);
  125. $create_time_2 = intval($_REQUEST['create_time_2']);
  126. $where = "bp.id = {$id} AND l.user_id = {$user_id} AND bp.is_effect=1 and bp.status=1";
  127. if ($game_id) {
  128. $where .= ' AND l.game_id=' . $game_id;
  129. }
  130. if ($win == 1) {
  131. $where .= ' AND l.sum_win > 0';
  132. } else if ($win == -1) {
  133. $where .= ' AND l.sum_win < 0';
  134. }
  135. if ($create_time_1) {
  136. $where .= ' AND l.create_time > ' . $create_time_1;
  137. }
  138. if ($create_time_2) {
  139. $where .= ' AND l.create_time < ' . $create_time_2;
  140. }
  141. $pre = DB_PREFIX;
  142. $sql = "SELECT
  143. count(1) as count
  144. FROM
  145. {$pre}bm_promoter_game_log AS l
  146. LEFT JOIN {$pre}user AS u ON l.user_id = u.id
  147. LEFT JOIN {$pre}bm_promoter AS bp ON l.bm_pid = bp.user_id
  148. WHERE
  149. {$where}";
  150. $p = $_REQUEST['p'];
  151. if ($p == '') {
  152. $p = 1;
  153. }
  154. $p = $p > 0 ? $p : 1;
  155. $page_size = 10;
  156. $limit = (($p - 1) * $page_size) . "," . $page_size;
  157. $count = $GLOBALS['db']->getOne($sql, true, true);
  158. $page = new Page($count, $page_size);
  159. $page_show = $page->show();
  160. $sql = "SELECT
  161. sum(l.sum_bet) as sum_bet,
  162. sum(l.sum_gain) as sum_gain,
  163. sum(l.sum_win) as sum_win,
  164. sum(l.promoter_gain) as promoter_gain,
  165. sum(l.platform_gain) as platform_gain,
  166. sum(l.user_gain) as user_gain,
  167. sum(l.gain) as gain
  168. FROM
  169. {$pre}bm_promoter_game_log AS l
  170. LEFT JOIN {$pre}user AS u ON l.user_id = u.id
  171. LEFT JOIN {$pre}bm_promoter AS bp ON l.bm_pid = bp.user_id
  172. WHERE
  173. {$where}";
  174. $sum = $GLOBALS['db']->getRow($sql, true, true);
  175. $sql = "SELECT
  176. l.bm_pid,
  177. l.user_id,
  178. l.sum_bet,
  179. l.sum_gain,
  180. l.sum_win,
  181. l.promoter_gain,
  182. l.platform_gain,
  183. l.user_gain,
  184. l.gain,
  185. l.game_id,
  186. l.create_time,
  187. l.is_count,
  188. bp.`name`,
  189. bp.id,
  190. u.nick_name
  191. FROM
  192. {$pre}bm_promoter_game_log AS l
  193. LEFT JOIN {$pre}user AS u ON l.user_id = u.id
  194. LEFT JOIN {$pre}bm_promoter AS bp ON l.bm_pid = bp.user_id
  195. WHERE
  196. {$where}
  197. LIMIT $limit";
  198. $list = $GLOBALS['db']->getAll($sql, true, true);
  199. $res = $GLOBALS['db']->getAll("SELECT id,name FROM {$pre}games WHERE is_effect = 1", true, true);
  200. $games = [];
  201. foreach ($res as $value) {
  202. $games[$value['id']] = $value['name'];
  203. }
  204. foreach ($list as $key => $value) {
  205. $list[$key]['game_type'] = $games[$value['game_id']];
  206. $list[$key]['create_time'] = to_date($value['create_time']);
  207. }
  208. $this->assign('sum', $sum);
  209. $this->assign('list', $list);
  210. $this->assign('games', $games);
  211. $this->assign('page', $page_show);
  212. $this->display();
  213. }
  214. }