SportsBasketController.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Controllers\Controller;
  4. use Illuminate\Http\Request as Req;
  5. use Illuminate\Support\Facades\DB;
  6. use App\Models;
  7. use Request;
  8. /**
  9. *
  10. */
  11. class SportsBasketController extends Controller {
  12. public function score(Req $req) {
  13. $request['name_chinese'] = isset($req->name_chinese) ? trim($req->name_chinese) : null;
  14. $request['sureblurs'] = isset($req->sureblurs) ? $req->sureblurs : 'on';
  15. $dt = \App\Lib\DataTable\DataTable::init();
  16. $dt->setDataSource('/admin/SportsBasket/info');
  17. $dt->setLang('sportsbase');
  18. $dt->addColsFields('match_id', array('templet' => '#userdetail', 'sort' => true, 'width' => 100));
  19. $dt->addColsFields('lg_id', array('templet' => '#userdetail', 'sort' => true, 'width' => 80));
  20. $dt->addColsFields('name_chinese', array('templet' => '#userdetail', 'sort' => false, 'width' => 200));
  21. $dt->addColsFields('home_guest', array('templet' => '#userdetail', 'sort' => false, 'width' => 260));
  22. // $dt->addColsFields('home_team', array('templet' => '#userdetail', 'sort' => false, 'width' => 130));
  23. // $dt->addColsFields('guest_team', array('templet' => '#userdetail', 'sort' => false, 'width' => 130));
  24. $dt->addColsFields('match_date', array('templet' => '#userdetail', 'sort' => true, 'width' => 130));
  25. $dt->addColsFields('match_time', array('templet' => '#userdetail', 'sort' => true, 'width' => 130));
  26. $dt->addColsFields('status', array('templet' => '#userdetail', 'sort' => false, 'width' => 150));
  27. //$arr[] = 'view';
  28. if (checkRriv('/admin/SportsBasket/edit')) {
  29. $arr[] = 'edit';
  30. }
  31. if (checkRriv('/admin/SportsBasket/odds')) {
  32. $arr[] = 'odds';
  33. }
  34. $dt->setToolBar($arr, array('width' => 200));
  35. $dt->enableCheckBox();
  36. return view('sports/basket_match', $dt->render($request));
  37. }
  38. function info() {
  39. $lange = trans('sportssoccer');
  40. $page = Request::has('page') ? Request::get('page') : '';
  41. $list = Request::has('limit') ? Request::get('limit') : 10;
  42. $name_chinese = Request::has('name_chinese') ? Request::get('name_chinese') : '';
  43. $sureblur = Request::has('sureblurs') ? Request::get('sureblurs') : 'off';
  44. $where = array();
  45. if (!empty($name_chinese)) {
  46. if (empty($sureblur) || $sureblur == 'off') {
  47. $where[] = array('st_lq_league.name_chinese', 'like', '%' . $name_chinese . '%');
  48. } else {
  49. $where[] = array('st_lq_league.name_chinese', '=', $name_chinese);
  50. }
  51. }
  52. $newapp = new \App\Models\SportsBasket();
  53. $data = $newapp->getinfo($list, $page, $where);
  54. return \App\Lib\DataTable\DataTable::init()->toJson($data['data'], $data['total']);
  55. }
  56. function getParent() {
  57. $data = \App\Models\BasketLeague::select('id','lg_id','name_chinese')->get();
  58. if (!$data) {
  59. return;
  60. }
  61. return $data->toArray();
  62. }
  63. /**
  64. *添加赛事
  65. */
  66. function add(Req $req) {
  67. if (!$req->isMethod('post')) {
  68. $data = $this->getParent();
  69. $lange = trans('menu');
  70. foreach ($data as $k => $v) {
  71. $arr = trim($data[$k]['name_chinese']);
  72. if (isset($lange[$arr])) {
  73. $data[$k]['name']=$lange[$arr];
  74. }
  75. }
  76. return view('sports.basket_form', array('parents' => $data));
  77. } else {
  78. $model = new \App\Models\SportsBasket();
  79. $model->home_team = $req->input('home_team');
  80. $model->guest_team = $req->input('guest_team');
  81. $model->lg_id = $req->input('parent_id');
  82. $model->match_date = $req->input('match_date');
  83. $model->match_time = $req->input('match_time');
  84. $model->status = $req->input('status');
  85. $model->match_id = time() ;
  86. $model->ctime = date('Y-m-d H:i:s',time());
  87. $model->utime = date('Y-m-d H:i:s',time());
  88. $model->tag = mt_rand(0,100) ;
  89. $model->source = 'user-defined';
  90. $model->save();
  91. return responseToJson(1);
  92. }
  93. }
  94. function view(Req $req) {
  95. return $this->edit($req);
  96. }
  97. /**
  98. *修改赛事
  99. */
  100. function edit(Req $req) {
  101. $id = $req->id;
  102. if (intval($id) < 1) {
  103. return -1;
  104. }
  105. if (!$req->isMethod('post')) {
  106. $data = \App\Models\SportsBasket::where('id', $id)->first();
  107. if (!$data) {
  108. return -2;
  109. }
  110. $name_chinese = \App\Models\BasketLeague::where('lg_id', $data->lg_id)->first();
  111. $data->name_chinese = $name_chinese->name_chinese;
  112. $data->league_id = $name_chinese->lg_id;
  113. $data = $data->toArray();
  114. $data['parents'] = $this->getParent();
  115. //$lange = trans('menu');
  116. foreach ($data['parents'] as $k => $v) {
  117. $arr = trim($data['parents'][$k]['name_chinese']);
  118. if (isset($lange[$arr])) {
  119. $data['parents'][$k]['name_chinese']=$lange[$arr];
  120. }
  121. }
  122. return view('sports.basket_form', $data);
  123. } else {
  124. $model = new \App\Models\SportsBasket();
  125. $model->id = $req->input('id');
  126. $model = $model::find($model->id);
  127. $model->home_team = $req->input('home_team');
  128. $model->guest_team = $req->input('guest_team');
  129. // if(gettype($req->input('parent_id'))=='integer'){
  130. // $model->lg_id = $req->input('parent_id');
  131. // }else{
  132. // $model->name_chinese = $req->input('parent_id');
  133. // $res = \App\Models\SportsLeague::where('name_chinese',$model->name_chinese)->first();
  134. // $model->lg_id = $res->lg_id;
  135. // }
  136. $model->lg_id = $req->input('parent_id');
  137. $model->match_date = $req->input('match_date');
  138. $model->match_time = $req->input('match_time');
  139. $model->status = $req->input('status');
  140. $model->ctime = date('Y-m-d H:i:s',time());
  141. $model->utime = date('Y-m-d H:i:s',time());
  142. $model->save();
  143. return responseToJson(1);
  144. }
  145. }
  146. /**
  147. *删除赛事
  148. */
  149. public function delete(Req $req) {
  150. $id = $req->input('id');
  151. if (empty($id)) {
  152. return responseToJson(-2001); //id������
  153. }
  154. $ids = explode(',', $id);
  155. if (!is_array($ids) && intval($ids) < 0) {
  156. return responseToJson(-2002); //id����
  157. }
  158. if (is_array($ids) && count($ids) > 0) {
  159. foreach ($ids as $k => $v) {
  160. if (intval($v) < 1) {
  161. unset($ids[$k]);
  162. }
  163. }
  164. }
  165. $rows = \App\Models\SportsBasket::whereIn('id', $ids)->delete();
  166. if (!$rows) {
  167. return responseToJson(-2003); //id����
  168. }
  169. return responseToJson(1, trans('menu.delete_success')); //id����
  170. }
  171. function odds(Req $req)
  172. {
  173. $cp_id = $req->id;
  174. $request['id'] = isset($req->id) ? trim($req->id) : null;
  175. $newapp = new \App\Models\SportsBasket();
  176. $match_id = $newapp->getmatchid($request['id']);
  177. $request['match_id'] = isset($match_id) ? trim($match_id) : null;
  178. $dt = \App\Lib\DataTable\DataTable::init();
  179. $dt->setDataSource('/admin/SportsBasket/oddsinfo?match_id='.$match_id.'');
  180. $dt->setLang('sportssoccer');
  181. $dt->addColsFields('id', array('templet' => '#userdetail', 'sort' => true, 'width' => 80));
  182. $dt->addColsFields('match_id', array('templet' => '#userdetail', 'sort' => true, 'width' => 100));
  183. $dt->addColsFields('odds_code', array('templet' => '#userdetail', 'sort' => false, 'width' => 200));
  184. $dt->addColsFields('condition', array('templet' => '#userdetail', 'sort' => false, 'width' => 80));
  185. $dt->addColsFields('odds', array('templet' => '#userdetail', 'sort' => false, 'width' => 80));
  186. // $dt->addColsFields('p_id', array('templet' => '#userdetail', 'sort' => false, 'width' => 100));
  187. $dt->addColsFields('p_code', array('templet' => '#userdetail', 'sort' => false, 'width' => 120));
  188. $dt->addColsFields('max', array('templet' => '#userdetail', 'sort' => false, 'width' => 100));
  189. $dt->addColsFields('min', array('templet' => '#userdetail', 'sort' => false, 'width' => 100));
  190. $dt->addColsFields('status', array('templet' => '#userdetail', 'sort' => false, 'width' => 80));
  191. if (checkRriv('/admin/SportsBasket/oddsedit?id='.$cp_id.'')) {
  192. $arr[] = 'oddsedit';
  193. }
  194. $dt->setToolBar($arr, array('width' => 150));
  195. $dt->enableCheckBox();
  196. return view('sports/basket_odds', $dt->render($request));
  197. }
  198. function oddsinfo(Req $req){
  199. $lange = trans('sportssoccer');
  200. $match_id = $req->match_id;
  201. if (intval($match_id) < 1) {
  202. return -1;
  203. }
  204. $new = new \App\Models\BasketOdds();
  205. $data = $new->getodds($match_id);
  206. foreach ($data as $k => $v) {
  207. $odds_code = trim($data[$k]['odds_code']);
  208. $p_code = trim($data[$k]['p_code']);
  209. if (isset($lange[$odds_code])) {
  210. $data[$k]['odds_code']=$lange[$odds_code];
  211. }
  212. if (isset($lange[$p_code])) {
  213. $data[$k]['p_code']=$lange[$p_code];
  214. }
  215. };
  216. return \App\Lib\DataTable\DataTable::init()->toJson($data);
  217. }
  218. /**
  219. *根据选择的父级赔率代码获取对应的子级赔率代码
  220. */
  221. function getoddscode() {
  222. $p_code = $_GET["pcode"];
  223. $res = \App\Models\BasketGame::where('odds_code',$p_code)->first();
  224. $codedata = \App\Models\BasketGame::where('pid',$res->id)->get();
  225. return json_encode($codedata);
  226. }
  227. /**
  228. *添加赔率
  229. */
  230. function addodds(Req $req) {
  231. //$lange = trans('sportssoccer');
  232. $pcodedata = \App\Models\BasketGame::where('pid','0')->get();
  233. for($i=0;$i<count($pcodedata);$i++){
  234. $pcodedata[$i]->p_code = $pcodedata[$i]->odds_code;
  235. }
  236. if (!$req->isMethod('post')) {
  237. $cp_id = $_SERVER['QUERY_STRING']; //获取url中的参数--赛事id
  238. $data = ["match_id"=>$cp_id];
  239. $data['pcode'] = $pcodedata;
  240. return view('sports.basket_odds_form',$data);
  241. } else {
  242. $model = new \App\Models\BasketOdds();
  243. $id = $req->input('match_id');
  244. $rew = \App\Models\SportsBasket::where('id',$id)->first();
  245. $model->match_id = $rew->match_id;
  246. $model->odds_code = $req->input('code');
  247. $model->status = $req->input('status');
  248. $model->p_code = $req->input('pcode');
  249. $res = \App\Models\BasketGame::where('odds_code',$model->p_code)->first();
  250. $model->p_id = $res->id;
  251. $result = \App\Models\BasketOdds::where('odds_code',$model->odds_code)->where('p_id',$model->p_id)->orderby('utime','desc')->first();
  252. if(!empty($result)){
  253. $sort = $result->sort;
  254. $model->sort = $sort+1;
  255. }else{
  256. $model->sort = 0;
  257. }
  258. $model->odds = $req->input('odds');
  259. $model->condition = $req->input('condition');
  260. $model->max = $req->input('max');
  261. $model->min = $req->input('min');
  262. $model->ctime = date('Y-m-d H:i:s',time());
  263. $model->utime = date('Y-m-d H:i:s',time());
  264. $model->sole = md5($model->match_id.$model->odds_code.$model->sort.$model->p_id.$model->ctime);
  265. $model->source = 'user-defined';
  266. $lg_id = \App\Models\SportsBasket::where('match_id',$model->match_id)->first();
  267. if(!empty($lg_id)){
  268. $model->lg_id = $lg_id->lg_id;
  269. }
  270. $model->save();
  271. return responseToJson(1);
  272. }
  273. }
  274. /**
  275. *修改赔率
  276. */
  277. function oddsedit(Req $req) {
  278. $lange = trans('sportssoccer');
  279. $pcodedata = \App\Models\BasketGame::where('pid','0')->get();
  280. //$codedata = \App\Models\SoccerGame::where('pid','!=','0')->get();
  281. for($i=0;$i<count($pcodedata);$i++){
  282. $pcodedata[$i]->p_code = $pcodedata[$i]->odds_code;
  283. }
  284. $id = $req->id;
  285. if (intval($id) < 1) {
  286. return -1;
  287. }
  288. if (!$req->isMethod('post')) {
  289. $data = \App\Models\BasketOdds::where('id', $id)->first();
  290. if (!$data) {
  291. return -2;
  292. }
  293. $odds_code = trim($data['odds_code']);
  294. $p_code = trim($data['p_code']);
  295. if (isset($lange[$odds_code])) {
  296. $data['odds_code_cn']=$lange[$odds_code];
  297. }
  298. if (isset($lange[$p_code])) {
  299. $data['p_code_cn']=$lange[$p_code];
  300. }
  301. $data = $data->toArray();
  302. $data['pcode'] = $pcodedata;
  303. //$data['code'] = $codedata;
  304. return view('sports.soccer_odds_form', $data);
  305. } else {
  306. $model = new \App\Models\BasketOdds();
  307. $model->id = $req->input('id');
  308. $model = $model::find($model->id);
  309. $model->odds_code = $req->input('code');
  310. $model->status = $req->input('status');
  311. $model->p_code = $req->input('pcode');
  312. $model->odds = $req->input('odds');
  313. $model->condition = $req->input('condition');
  314. $model->max = $req->input('max');
  315. $model->min = $req->input('min');
  316. $model->ctime = date('Y-m-d H:i:s',time());
  317. $model->utime = date('Y-m-d H:i:s',time());
  318. $model->save();
  319. return responseToJson(1);
  320. }
  321. }
  322. /**
  323. *删除赔率
  324. */
  325. public function oddsdelete(Req $req) {
  326. $id = $req->input('id');
  327. if (empty($id)) {
  328. return responseToJson(-2001); //id������
  329. }
  330. $ids = explode(',', $id);
  331. if (!is_array($ids) && intval($ids) < 0) {
  332. return responseToJson(-2002); //id����
  333. }
  334. if (is_array($ids) && count($ids) > 0) {
  335. foreach ($ids as $k => $v) {
  336. if (intval($v) < 1) {
  337. unset($ids[$k]);
  338. }
  339. }
  340. }
  341. $rows = \App\Models\BasketOdds::whereIn('id', $ids)->delete();
  342. if (!$rows) {
  343. return responseToJson(-2003); //id����
  344. }
  345. return responseToJson(1, trans('menu.delete_success')); //id����
  346. }
  347. }