InfosController.php 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use Illuminate\Http\Request as Req;
  4. use Request;
  5. /**
  6. *
  7. */
  8. class InfosController extends GameController {
  9. /**
  10. * @return
  11. */
  12. function Index(Req $req) {
  13. $request['game']=$req->game ? $req->game : 'jspk10';
  14. $request['no']=$req->no ? $req->no : '';
  15. $request['star_time']=$req->star_time ? $req->star_time : date('Y-m-d');
  16. $request['end_time']=$req->end_time ? $req->end_time : date('Y-m-d');
  17. //$request['status'] = Request::has('status') ? Request::get('status') : 1;
  18. $this->getGame();
  19. $dt = \App\Lib\DataTable\DataTable::init();
  20. $dt->setDataSource('/admin/Infos/getMsg?game='.$request['game']);
  21. $dt->setLang('game_prize');
  22. $dt->addColsFields('name');
  23. $dt->addColsFields('info_no');
  24. $dt->addColsFields('codes');
  25. $dt->addColsFields('open_time');
  26. if (checkRriv('/admin/Infos/Edit')) {
  27. $dt->addColsFields('edit',array('sort'=>false,'templet'=>'#edit'));
  28. //$dt->setToolBar(array('edit'));
  29. }
  30. return view('admin.infos/openMoney', $dt->render($request));
  31. }
  32. //获取开奖数据信息
  33. function getMsg(Req $req) {
  34. $game = $req->game ? $req->game : 'jspk10';
  35. $no = $req->no ? $req->no : '';
  36. $star_time=$req->star_time ? $req->star_time.' 00:00:00' : date('Y-m-d 00:00:00');
  37. $end_time=$req->end_time ? $req->end_time.' 23:59:59' : date('Y-m-d 23:59:59');
  38. $list = Request::has('limit') ? Request::get('limit') : '';
  39. $page = Request::has('page') ? Request::get('page') : '1';
  40. $fild = Request::has('fild') ? Request::get('fild') : 'open_time';
  41. //$status = Request::get('status') ? Request::get('status') : 1;
  42. $order = Request::has('order') ? Request::get('order') : 'desc';
  43. if (empty($game)) {
  44. return responseToJson(-5030025022);
  45. }
  46. $where=array();
  47. /*if(!empty($game)){
  48. $where[]=array('game_name','=',$game);
  49. }*/
  50. if(!empty($no)){
  51. $where[]=array('info_no',$no);
  52. }
  53. if(!empty($star_time)){
  54. $where[]=array('open_time','>=',$star_time);
  55. }
  56. if(!empty($end_time)){
  57. $where[]=array('open_time','<=',$end_time);
  58. }
  59. // $where[] = ($status==1)?array('status','<>',-1):array('status','-1');
  60. $db = '\App\Models\GamePrize';
  61. $data = $db::getMsgs($where,$game, $list,$fild,$order);
  62. return \App\Lib\DataTable\DataTable::init()->toJson($data['data'], $data['total']);
  63. }
  64. /**获取游戏名**/
  65. function getGame() {
  66. $db = new \App\Models\GamePrize;
  67. $info = $db->getgame();
  68. return responseToJson($info);
  69. }
  70. //修改
  71. function Edit(Req $req) {
  72. $id = $req->id;
  73. if (empty($id)) {
  74. abort(404);
  75. }
  76. $status = $req->status;
  77. $status = empty($status)?2:$status;
  78. $game = $req->game;
  79. $db = '\App\Models\Game' . ucfirst($game);
  80. $data = $db::where('id',$id)->first();
  81. if(!$data){
  82. return responseToJson(-5030002922);//没有数据
  83. }
  84. $datas = $data->toArray();
  85. $datas['game_name'] = $game;
  86. if (!$req->isMethod('post')) {
  87. return view('admin/infos/edit', ['data' => $datas]);
  88. } else {
  89. if (empty($req->info_no) || empty($req->codes) || empty($req->open_time)) {
  90. return responseToJson(-5030012022);
  91. }
  92. $data = array(
  93. 'info_no' => $req->info_no,
  94. 'codes' => $req->codes,
  95. 'open_time' => $req->open_time,
  96. // 'time_area'=>date('Y-m-d H:i:s',time()),
  97. );
  98. $res = $db::where('id',$id)->where('status','<>',2)->update($data);
  99. if(!$res){
  100. return responseToJson(-5030003022);//修改失败
  101. }
  102. $log = array(
  103. session('adminInfo.admin_name'),
  104. trans('common.' . $datas['game_name']),
  105. $req->info_no,
  106. $req->codes,
  107. $req->open_time,
  108. );
  109. OperationLog(session('adminInfo.admin_id'), 'edit_game_prize', $log);
  110. return responseToJson($res);
  111. }
  112. }
  113. //添加
  114. function add(Req $req) {
  115. $game = $req->game;
  116. if (empty($game)) {
  117. abort(404);
  118. }
  119. $model = "\App\Models\Game" . ucfirst($game);
  120. $datas = ['game_name' => $game];
  121. if (!$req->isMethod('post')) {
  122. //当前游戏下一期期号
  123. $info_nos = $model::select('info_no')->orderBy('info_no','desc')->first();
  124. if(!$info_nos){
  125. $info_no = rand(1000, 2000);
  126. }else{
  127. $info_no = $info_nos['info_no']+1;
  128. }
  129. $datas['info_no']=$info_no;
  130. return view('admin/infos/editinfo', ['data' => $datas,]);
  131. } else {
  132. if (empty($req->codes) || empty($req->open_time)) {
  133. return responseToJson(-5030012022);
  134. }
  135. $time = strtotime($req->open_time) ? strtotime($req->open_time) : '';
  136. if (empty($time)) {
  137. return responseToJson(-5030014022); //请输入正确的时间格式
  138. }
  139. //获取期号
  140. $info_no = $req->info_no;
  141. if (empty($info_no) || !is_numeric($info_no)) {
  142. return responseToJson(-5030013022); //请填写正确的期号
  143. }
  144. $data = array(
  145. 'identity' => UUID(),
  146. 'info_identity' => UUID(),
  147. 'info_no' => $info_no,
  148. 'codes' => $req->codes,
  149. 'open_time' => $req->open_time,
  150. 'time'=>date('Y-m-d H:i:s',time()),
  151. );
  152. $res = $this->insetMsg($data,$game);
  153. $log = array(
  154. session('adminInfo.admin_name'),
  155. trans('common.' . $datas['game_name']),
  156. $req->info_no,
  157. $req->codes,
  158. $req->open_time,
  159. );
  160. OperationLog(session('adminInfo.admin_id'), 'add_game_prize', $log);
  161. return responseToJson($res);
  162. }
  163. }
  164. //插入数据
  165. function insetMsg($data,$game){
  166. $model = "\App\Models\Game" . ucfirst($game);
  167. $info = $model::where('info_no',$data['info_no'])->first();
  168. if(!$info){
  169. $res = $model::insert($data);
  170. }else{
  171. return -5030114122; //当期游戏已存在
  172. }
  173. if(!$res){
  174. return -5030003122;//添加失败
  175. }
  176. return 1;
  177. }
  178. //获取游戏最新期号
  179. function getInfos(Req $req){
  180. $game = $req->game;
  181. if (empty($game)) {
  182. return responseToJson(-5030012022);
  183. }
  184. $db = new \App\Models\GamePrize;
  185. $info_no = $db->getInfoNo($game);
  186. if ($info_no < 0) {
  187. $info_no = rand(1000, 2000);
  188. }
  189. return responseToJson(1,'',$info_no);
  190. }
  191. //最后一期开奖时间
  192. public function getGameLastOpenTime(Req $req)
  193. {
  194. $game = $req->game;
  195. if (empty($game)) {
  196. return responseToJson(-5030012022);
  197. }
  198. $data = $this->getGameTime($game);
  199. $model = '\App\Models\Game'.ucfirst($data['table_name']);
  200. $db = new $model;
  201. $game_info = $db->getOne($game);
  202. if ($game_info < 0) {
  203. return responseToJson($game_info,'获取最后期数失败','');
  204. }else{
  205. $data['last_time'] = $game_info['open_time']; //最后一期已开奖开奖时间
  206. $time = strtotime($game_info['open_time'])+$data['cycle_time']+10; //时间处理最后一期已开奖开奖时间+当前游戏开奖时间周期+10秒
  207. $data['change_time'] = date('Y-m-d H:i:s',$time);
  208. }
  209. return responseToJson(1,'获取成功',$data);
  210. }
  211. //获取游戏周期秒数
  212. public function getGameTime($game)
  213. {
  214. $db = new \App\Models\GameType;
  215. return $db->getOpenTime($game);
  216. }
  217. }