User_buyController.php 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request;
  5. use Illuminate\Support\Facades\DB;
  6. class User_buyController extends Controller {
  7. function add(Request $req) {
  8. if (!$req->isMethod('post')) {
  9. return view('admin.user_buy_form');
  10. } else {
  11. $model = new \App\Models\User_buyModel();
  12. return responseToJson(1);
  13. }
  14. }
  15. function view(Request $req) {
  16. return $this->edit($req);
  17. }
  18. function edit(Request $req) {
  19. $id = $req->id;
  20. if (intval($id) < 1) {
  21. return -1;
  22. }
  23. if (!$req->isMethod('post')) {
  24. $data = \App\Models\User_buyModel::where('id', $id)->first();
  25. if (!$data) {
  26. return -2;
  27. }
  28. $data = $data->toArray();
  29. return view('admin.user_buy_form', array('user_buy' => $data));
  30. } else {
  31. $model = \App\Models\User_buyModel::where('id', $id)->first();
  32. $model->save();
  33. return responseToJson(1);
  34. }
  35. }
  36. public function delete(Request $req) {
  37. $id = $req->id;
  38. if (empty($id)) {
  39. return responseToJson(-2001); //id不能为空
  40. }
  41. $ids = explode(',', $id);
  42. if (!is_array($ids) && intval($ids) < 0) {
  43. return responseToJson(-2002); //id错误
  44. }
  45. if (is_array($ids) && count($ids) > 0) {
  46. foreach ($ids as $k => $v) {
  47. if (intval($v) < 1) {
  48. unset($ids[$k]);
  49. }
  50. }
  51. }
  52. $rows = \App\Models\User_buyModel::whereIn('id', $ids)->delete();
  53. if (!$rows) {
  54. return responseToJson(-2003); //id错误
  55. }
  56. return responseToJson(1, trans('user_buy.delete_success')); //id错误
  57. }
  58. public function dataSource(Request $req) {
  59. $limit = intval($req->limit) > 0 ? $req->limit : 10;
  60. $page = intval($req->page) > 0 ? $req->page : 1;
  61. $field = !empty($req->field) ? $req->field : '';
  62. $order = !empty($req->order) ? $req->order : 'desc';
  63. $model = new \App\Models\User_buyModel;
  64. $type = $req->type ? $req->type : '';
  65. $type == '-1' ? $type = '' : null;
  66. $where = array();
  67. $model = $model->whereIn('status', array(1, 2));
  68. $where['in'] = array(1, 2);
  69. if (!empty($type)) {
  70. switch ($type) {
  71. case 'unclear':
  72. // $model = $model->whereIn('status', array(1, 2));
  73. $model = $model->where('game_status', 0);
  74. // $where['in'] = array(1, 2);
  75. $where[] = array('game_status', '=', 0);
  76. break;
  77. case 'cleared':
  78. // $model = $model->whereIn('status', array(1, 2));
  79. $model = $model->where('game_status', '<>', '0');
  80. // $where['in'] = array(1, 2);
  81. $where[] = array('game_status', '<>', '0');
  82. break;
  83. // case 'rubish':
  84. // $model = $model->where('status', 4);
  85. // $where[] = array('status', '=', 4);
  86. // break;
  87. default:
  88. break;
  89. }
  90. }
  91. $time_start = $req->time_start ? $req->time_start.' 00:00:00' : '';
  92. if (!empty($time_start)) {
  93. $model = $model->where('money_time', '>', $time_start);
  94. $where[] = array('money_time', '>', $time_start);
  95. }
  96. $time_end = $req->time_end ? $req->time_end.' 23:59:59': '';
  97. if (!empty($time_end)) {
  98. $model = $model->where('money_time', '<', $time_end);
  99. $where[] = array('money_time', '<', $time_end);
  100. }
  101. $account = $req->account ? $req->account : '';
  102. if (!empty($account)) {
  103. $model = $model->where('account_name', $account);
  104. $where[] = array('account_name', '=', $account);
  105. }
  106. $game_no = $req->game_no ? $req->game_no : '';
  107. if (!empty($game_no)) {
  108. $model = $model->where('game_no', $game_no);
  109. $where[] = array('game_no', '=', $game_no);
  110. }
  111. $game = $req->game ? $req->game : '';
  112. if (!empty($game)) {
  113. $model = $model->where('game_name', $game);
  114. $where[] = array('game_name', '=', $game);
  115. }
  116. $model = $model->select(DB::raw('count(id) as num,account_name,sum(money) as money,sum(prize_money) as prize_money,sum(get_money) as get_money'));
  117. $model->groupBy('account_name');
  118. if (!empty($field) && !empty($order)) {
  119. $model = $model->orderBy($field, $order);
  120. }
  121. $model->offset(($page - 1) * $limit);
  122. $model->limit($limit);
  123. $data = $model->get();
  124. $data = $data->toArray();
  125. foreach ($data as $k => $v) {
  126. if (empty($game)) {
  127. $data[$k]['game_name'] = '全部游戏';
  128. } else {
  129. $data[$k]['game_name'] = trans('common.' . $game);
  130. }
  131. if (empty($type)) {
  132. $data[$k]['type'] = '全部注单';
  133. } else {
  134. $data[$k]['type'] = trans('user_buy.' . $type);
  135. }
  136. // $data[$k]['prize_money'] = floatval($v['prize_money']);
  137. }
  138. $count = new \App\Models\User_buyModel;
  139. $num = $count->getAllBetAccount($where);
  140. $data = arrayToNumber($data, array('money', 'prize_money', 'get_money'));
  141. return \App\Lib\DataTable\DataTable::init()->toJson($data, count($num), 0, $where);
  142. }
  143. public function index(Request $req) {
  144. $request=array();
  145. $request['time_start'] = isset($req->time_start) ? $req->time_start : trans('status.default_time.seven_day');
  146. $request['time_end'] = isset($req->time_end) ? $req->time_end : trans('status.default_time.etime');
  147. $request['account'] = $req->account ? $req->account : '';
  148. $request['game_no'] = $req->game_no ? $req->game_no : '';
  149. $request['game'] = $req->game ? $req->game : '';
  150. $request['type'] = $req->type ? $req->type : '';
  151. $request['gameList']=\App\Models\GameType::getGameType();
  152. $dt = \App\Lib\DataTable\DataTable::init();
  153. $dt->setLang('user_buy');
  154. $dt->addColsFields('type', array('sort' => false, 'width' => 140));
  155. $dt->addColsFields('account_name', array('sort' => false, 'width' => 140, 'templet' => '#userdetail'));
  156. $dt->addColsFields('game_name', array('sort' => false, 'width' => 140));
  157. $dt->addColsFields('num', array('width' => 190));
  158. $dt->addColsFields('money', array('width' => 165));
  159. $dt->addColsFields('prize_money', array('width' => 165));
  160. $dt->addColsFields('get_money', array('templet' => '#usergetmoney', 'width' => 180));
  161. $data = array(
  162. 'options' => array('type' => \App\Models\User_buyModel::getType()),
  163. );
  164. $request['options']=array('type' => \App\Models\User_buyModel::getType());
  165. return view('admin.user_buy_list', $dt->render($request));
  166. }
  167. //统计用户总投注
  168. function Total(Request $req) {
  169. $where = $req->where;
  170. $model = new \App\Models\MoneyBuy;
  171. $model = $model->select(DB::raw('count(id) as num,sum(money) as money,sum(prize_money) as prize_money,sum(get_money) as get_money'));
  172. if (isset($where['in'])) {
  173. $model = $model->whereIn('status', $where['in']);
  174. unset($where['in']);
  175. }
  176. if (!empty($where)) {
  177. $model = $model->where($where);
  178. }
  179. $data = $model->get();
  180. //处理数据
  181. $array = array();
  182. foreach ($data as $v) {
  183. $array['num'] = round($v['num'], 2);
  184. $array['money'] = round($v['money'], 2);
  185. $array['prize_money'] = round($v['prize_money'], 2);
  186. $array['get_money'] = -round($v['get_money'], 2);
  187. }
  188. return responseToJson($array);
  189. }
  190. }