name_chinese) ? trim($req->name_chinese) : null; $request['sureblurs'] = isset($req->sureblurs) ? $req->sureblurs : 'on'; $request['account'] = isset($req->account) ? trim($req->account) :null ; $request['star_time'] = isset($req->star_time) ? trim($req->star_time) :null ; $request['end_time'] = isset($req->end_time) ? trim($req->end_time) :null ; $request['order_id'] = isset($req->order_id) ? trim($req->order_id) :null ; $request['match_id'] = isset($req->match_id) ? trim($req->match_id) :null ; $request['status'] = isset($req->status) ? trim($req->status) : '-1'; $request['order_status'] = isset($req->order_status) ? trim($req->order_status) : '-1'; $request['type'] = isset($req->type) ? trim($req->type) : 'zq'; $dt = \App\Lib\DataTable\DataTable::init(); $dt->setDataSource('/admin/SoccerNoteList/getinfo'); $dt->setLang('sportsnotelist'); //$dt->addColsFields('id', array('templet' => '#userdetail', 'sort' => true, 'width' => 80)); $dt->addColsFields('match_id_order', array('sort' => true, 'width' => 200)); $dt->addColsFields('league', array('templet' => '#userdetail', 'sort' => false, 'width' => 100)); $dt->addColsFields('home_guest', array('templet' => '#userdetail', 'sort' => false, 'width' => 80)); $dt->addColsFields('content', array('templet' => '#userdetail', 'sort' => false, 'width' => 250)); $dt->addColsFields('money', array('templet' => '#userdetail', 'sort' => false, 'width' => 80)); $dt->addColsFields('water_return', array('templet' => '#userdetail', 'sort' => false, 'width' => 70)); $dt->addColsFields('prize_money', array('templet' => '#userdetail', 'sort' => false, 'width' => 80)); $dt->addColsFields('result', array('templet' => '#userdetail', 'sort' => false, 'width' => 70)); $dt->addColsFields('money_match_time', array('templet' => '#userdetail', 'sort' => false, 'width' => 200)); $dt->addColsFields('order_status', array('sort' => false, 'width' => 80)); $dt->addColsFields('account_money', array('templet' => '#userdetail', 'sort' => false, 'width' => 110)); $dt->addColsFields('game_status', array('templet' => '#game_status','sort' => false, 'width' =>90)); //$arr[] = 'view'; // if (checkRriv('/admin/SoccerNoteList/edit')) { // $arr[] = 'edit'; // } // $dt->setToolBar($arr, array('width' => 70)); $dt->enableCheckBox();//var_dump($request['type']); return view('sports/sports_notelist', $dt->render($request)); } function info() { $page = Request::has('page') ? Request::get('page') : ''; $list = Request::has('limit') ? Request::get('limit') : 10; $account = Request::get('account') ? Request::get('account') : ''; $star_time = Request::get('star_time') ? Request::get('star_time').' 00:00:00' : ''; $end_time = Request::get('end_time') ? Request::get('end_time').' 23:59:59' : ''; $order_id = Request::get('order_id') ? Request::get('order_id') : ''; $match_id = Request::get('match_id') ? Request::get('match_id') : ''; $status = Request::has('status') ? Request::get('status') : ''; $order_status = Request::has('order_status') ? Request::get('order_status') : ''; $sureblur = Request::has('sureblurs') ? Request::get('sureblurs') : 'off'; $type = Request::has('type') ? Request::get('type') : 'zq'; $where = array(); if (!empty($account)) { if (empty($sureblur) || $sureblur == 'off') { $where[] = array('money_buy_simplex.account_name', 'like', '%' . $account . '%'); } else { $where[] = array('money_buy_simplex.account_name', '=', $account); } } if (!empty($star_time)) { if (!empty($end_time)){ $where[] = array('money_buy_simplex.money_time', '>', $star_time); $where[] = array('money_buy_simplex.money_time', '<', $end_time); }else{ $where[] = array('money_buy_simplex.money_time', '>', $star_time); } }else if(empty($star_time)){ if (!empty($end_time)){ $where[] = array('money_buy_simplex.money_time', '<', $end_time); } } if (!empty($order_id)){ $where[] = array('money_buy_simplex.order_id', $order_id); } if (!empty($match_id)){ $where[] = array('money_buy_simplex.match_id', $match_id); } if ($status != -1) { $where[] = array('money_buy_simplex.settle_status', '=', $status); } if ($order_status != -1) { $where[] = array('money_buy_simplex.status', '=', $order_status); } $where[] = array('money_buy_simplex.game_code', $type); $newapp = new \App\Models\SportsNoteList(); $data = $newapp->getinfo($list, $page, $where,$type); return \App\Lib\DataTable\DataTable::init()->toJson($data['data'], $data['total'], 0, $where); } public function search(Req $req) { $request['name_chinese'] = isset($req->name_chinese) ? trim($req->name_chinese) : null; $request['sureblurs'] = isset($req->sureblurs) ? $req->sureblurs : 'on'; $request['account'] = isset($req->account) ? trim($req->account) :null ; $request['star_time'] = isset($req->star_time) ? trim($req->star_time) :null ; $request['end_time'] = isset($req->end_time) ? trim($req->end_time) :null ; $request['order_id'] = isset($req->order_id) ? trim($req->order_id) :null ; $request['match_id'] = isset($req->match_id) ? trim($req->match_id) :null ; $request['status'] = isset($req->status) ? trim($req->status) : '-1'; $request['order_status'] = isset($req->order_status) ? trim($req->order_status) : '-1'; $request['type'] = isset($req->type) ? trim($req->type) : 'zq'; $dt = \App\Lib\DataTable\DataTable::init(); $dt->setDataSource('/admin/SoccerNoteList/info'); $dt->setLang('sportsnotelist'); //$dt->addColsFields('id', array('templet' => '#userdetail', 'sort' => true, 'width' => 80)); $dt->addColsFields('match_id_order', array('sort' => true, 'width' => 200)); $dt->addColsFields('league', array('templet' => '#userdetail', 'sort' => false, 'width' => 100)); $dt->addColsFields('home_guest', array('templet' => '#userdetail', 'sort' => false, 'width' => 80)); $dt->addColsFields('content', array('templet' => '#userdetail', 'sort' => false, 'width' => 250)); $dt->addColsFields('money', array('templet' => '#userdetail', 'sort' => false, 'width' => 80)); $dt->addColsFields('water_return', array('templet' => '#userdetail', 'sort' => false, 'width' => 70)); $dt->addColsFields('prize_money', array('templet' => '#userdetail', 'sort' => false, 'width' => 80)); $dt->addColsFields('result', array('templet' => '#userdetail', 'sort' => false, 'width' => 70)); $dt->addColsFields('money_match_time', array('templet' => '#userdetail', 'sort' => false, 'width' => 200)); $dt->addColsFields('order_status', array('sort' => false, 'width' => 80)); $dt->addColsFields('account_money', array('templet' => '#userdetail', 'sort' => false, 'width' => 110)); $dt->addColsFields('game_status', array('sort' => false, 'width' =>90)); //$arr[] = 'view'; // if (checkRriv('/admin/SoccerNoteList/edit')) { // $arr[] = 'edit'; // } // $dt->setToolBar($arr, array('width' => 70)); $dt->enableCheckBox(); return view('sports/sports_search', $dt->render($request)); } //查询赛事结果 // function Sairesult(Req $req){ // $did = $req->did; // $qlgame = $req->qlgame?$req->qlgame:'zq'; // $newapp = \App\Models\SportsNoteList::where('id', $did)->first(); // if($qlgame=='zq'){ // if($newapp['match_id']){ // $newre = new \App\Models\Stzqresult(); // $teamname = $newre->matchjg($newapp['match_id']); // }else{ // $teamname =''; // } // }elseif($qlgame=='lq'){ // if($newapp['match_id']){ // $newre = new \App\Models\Stlqresult(); // $teamname = $newre->matchjg($newapp['match_id']); // }else{ // $teamname =''; // } // }elseif($qlgame=='bq'){ // if($newapp['match_id']){ // $newre = new \App\Models\Stbqresult(); // $teamname = $newre->matchjg($newapp['match_id']); // }else{ // $teamname =''; // } // }elseif($qlgame=='wq'){ // if($newapp['match_id']){ // $newre = new \App\Models\Stwqresult(); // $teamname = $newre->matchjg($newapp['match_id']); // }else{ // $teamname =''; // } // }else{ // $data = "参数错误"; // } // $data =array( // 'singleresult' => json_decode($newapp['single_result'],true), // 'teamname' => $teamname, // ); // return $data; // } // function Sairesult(Req $req){ // $did = $req->did; // $model = \App\Models\SportsNoteList::where('id', $did)->first(); // $pid = $model['match_id']; // $saisjg = \App\Models\Stzqresult::where('match_id',$pid)->first()->toArray();//赛事结果 // $saisjg['corner_ball'] = json_decode($saisjg['corner_ball'],true); // $saisjg['first_score'] = json_decode($saisjg['first_score'],true); // $saisjg['penalty_card'] = json_decode($saisjg['penalty_card'],true); // $saisjg['warn_more'] = json_decode($saisjg['warn_more'],true); // } //结果添加 function addend(Req $req){ $did = $req->did;//59;// $qlgame = $req->qlgame;//1; $model = \App\Models\SportsNoteList::where('id', $did)->first(); $pid = $model['match_id']; if ($qlgame==1) { if($model['result_flag']!=1){ $saisjg = \App\Models\Stzqresult::where('match_id',$pid)->first()->toArray();//赛事结果 $saisjg['corner_ball'] = json_decode($saisjg['corner_ball'],true); $saisjg['first_score'] = json_decode($saisjg['first_score'],true); $saisjg['penalty_card'] = json_decode($saisjg['penalty_card'],true); $saisjg['warn_more'] = json_decode($saisjg['warn_more'],true); $model->single_result = json_encode([$saisjg],JSON_UNESCAPED_UNICODE); $model->save(); } $newm = \App\Models\SportsNoteList::where('id', $did)->first(); return $newm['single_result']; }else{ $new = \App\Models\SportsNoteList::where('id', $did)->first(); $newa = json_decode($new['single_result'],true); $newa[0]['home_score'] = $req->home_score;//主队进球 $newa[0]['guest_score'] = $req->guest_score;//客队进球 $newa[0]['all_goal'] = intval($req->guest_score)+intval($req->home_score);//总进球 $newa[0]['last_score'] = $req->lastscore?$req->lastscore:'';//最后进球球队 $newa[0]['match_winer'] = $req->matchwiner?$req->matchwiner:'';//赢球球队 $newa[0]['update_time'] = time();//更新时间 $newa[0]['u_guest_score'] = $req->u_guest_score;//上半场-主队进球数 $newa[0]['u_home_score'] = $req->u_home_score;//上半场-客队进球数 $newa[0]['penalty_card'] = array( 'home'=>$req->homeallcard, 'guest'=>$req->guestallcard, 'home_half'=>$req->homehalfcard, 'guest_half'=>$req->guesthalfcard, ); $newa[0]['corner_ball'] = array( 'home'=>$req->homeallcorner, 'guest'=>$req->guestallcorner, 'home_half'=>$req->homehalfcorner, 'guest_half'=>$req->guesthalfcorner, ); //最新进球 $newa[0]['first_score'] = array( 'teamscore'=>$req->firstscore?$req->firstscore:0,//最先进球球队 'scoretime'=> $req->onescoretime?$req->onescoretime:'',//进球时间 'scoretype'=> $req->firststye?$req->firststye:'',//进球方式 ); $model->single_result = json_encode($newa,JSON_UNESCAPED_UNICODE); $model->result_flag = 1; $model->save(); return responseToJson(1); } } function getinfo() { $page = Request::has('page') ? Request::get('page') : ''; $list = Request::has('limit') ? Request::get('limit') : 10; $account = Request::get('account') ? Request::get('account') : ''; $star_time = Request::get('star_time') ? Request::get('star_time').' 00:00:00' : ''; $end_time = Request::get('end_time') ? Request::get('end_time').' 23:59:59' : ''; $order_id = Request::get('order_id') ? Request::get('order_id') : ''; $match_id = Request::get('match_id') ? Request::get('match_id') : ''; $status = Request::has('status') ? Request::get('status') : '-1'; $order_status = Request::has('order_status') ? Request::get('order_status') : ''; $sureblur = Request::has('sureblurs') ? Request::get('sureblurs') : 'off'; $type = Request::has('type') ? Request::get('type') : 'zq'; $where = array(); if (!empty($account)) { if (empty($sureblur) || $sureblur == 'off') { $where[] = array('money_buy_simplex.account_name', 'like', '%' . $account . '%'); } else { $where[] = array('money_buy_simplex.account_name', '=', $account); } } if (!empty($star_time)) { if (!empty($end_time)){ $where[] = array('money_buy_simplex.money_time', '>', $star_time); $where[] = array('money_buy_simplex.money_time', '<', $end_time); }else{ $where[] = array('money_buy_simplex.money_time', '>', $star_time); } }else if(empty($star_time)){ if (!empty($end_time)){ $where[] = array('money_buy_simplex.money_time', '<', $end_time); } } if (!empty($order_id)){ $where[] = array('money_buy_simplex.order_id', $order_id); } if (!empty($match_id)){ $where[] = array('money_buy_simplex.match_id', $match_id); } if ($status != -1) { $where[] = array('money_buy_simplex.settle_status', '=', $status); } if ($order_status != -1) { $where[] = array('money_buy_simplex.status', '=', $order_status); } $where[] = array('money_buy_simplex.game_code', $type); $newapp = new \App\Models\SportsNoteList(); $data = $newapp->info($list, $page, $where,$type); return \App\Lib\DataTable\DataTable::init()->toJson($data['data'], $data['total'], 0, $where); } /** *单式注单作废 */ public function invalid(Req $req) { $id = $req->id; if (intval($id) < 1) { return -1; } $order = \App\Models\SportsNoteList::where('id',$id)->first(); //用戶账户金额 $account_money = \App\Models\Account_detailed::where('account_identity',$order->account_identity)->first(); //反水 $water_return_money = \App\Models\Money_details::where('trade_id',$order->order_id)->where('trade_type','7')->first(); if(!empty($water_return_money)){ $water_return = $water_return_money->money; }else{ $water_return = 0; } //撤单后用户账户金额 $available_cash = $account_money->available_cash; $new_available_cash = $available_cash+$order->money-$order->gain_money-$water_return; $model =new \App\Models\Money_details(); $model->info_identity = UUID(); $model->trade_id = $order->order_id; $model->account_name = $order->account_name; $model->account_identity = $order->account_identity; $model->money = abs($order->money-$order->gain_money-$water_return); $model->money_time = date("Y-m-d H:i:s",time()); if($new_available_cash>$available_cash){ $model->money_type = '1'; }else{ $model->money_type = '2'; } $model->money_cash = $new_available_cash; $model->trade_type = '3'; $model->trade_desc = '管理员作废单式注单'; $model->status = '1'; try { DB::beginTransaction();//开启事务 \App\Models\SportsNoteList::where('id',$id)->update(['status'=>'2'],['gain_money'=>'0']); \App\Models\Account_detailed::where('account_identity',$order->account_identity)->update(['available_cash'=>$new_available_cash,'cash'=>$new_available_cash]); $model->save(); DB::commit();//提交 return 1; } catch (Exception $e) { DB::rollback();//回滚 return -1; } } /** *单式注单首次结算 */ public function settlement(Req $req) { $id = $req->id; if (intval($id) < 1) { return -1; } $order = \App\Models\SportsNoteList::where('id', $id)->first(); $order_id = $order->order_id; $order_ids = array($order->order_id); $match_id = $order->match_id; $game_code = $order->game_code; $bet_type = 1;//单式注单 //return $match_id; //判断输赢 $settlementWinFail = new SettlementWinFail(); $res = $settlementWinFail->ProcWinInfoByOneOrder($match_id, $order_id, $bet_type); //结算 $SettlementOrder = new SettlementOrder(); $settype = 1; //首次结算 $data = $SettlementOrder->reSettlement($order_ids,$bet_type,$settype,$game_code,$match_id,$match_status=0); return $data; } /** *单式注单重新结算 */ // public function resettlement(Req $req) { // $id = $req->id; // if (intval($id) < 1) { // return -1; // } // $order = \App\Models\SportsNoteList::where('id',$id)->first(); // $match_id = $order->match_id; // $game_code = $order->game_code; // $order_id = $order->order_id; // $order_ids = array($order->order_id); // //return $match_id; // $bet_type = 1;//单式注单 // //重新判断输赢 // $settlementWinFail = new SettlementWinFail(); // $res = $settlementWinFail->ProcWinInfoByOneOrder($match_id, $order_id, $bet_type); // //结算 // $SettlementOrder = new SettlementOrder(); // $settype = 2; //重新结算 // $data = $SettlementOrder->reSettlement($order_ids,$bet_type,$settype,$game_code,$match_id,$match_status=0); // return $data; // } public function resettlement(Req $req) { $order_id = $req->order_id; $type = $req->type; $match_id = $req->match_id; $jsurl = config('sconstant.url');//结算请求域名地址 $token = session('adminInfo.token'); //查询是否有订单 $newapp = new \App\Models\SportsNoteList(); $simplexnum = $newapp->onlyorder($order_id); if($simplexnum==1){ $requet = file_get_contents($jsurl."/DoWinFailOneOrder?order_id=".$order_id."&token=".$token); if(json_decode($requet,true)['status']==1){ $napp = new \App\Models\Stzqresult(); $simplex = array( 'token'=>$token, 'order_ids'=>$order_id, //订单id字符串,用半角都好分隔 'bettype'=>1, //结算类型 1单式 2串式 'settype'=>2, //结算次数 1首次 2非首冷饮 'game_code'=>$type, //赛事类型 zq lq wq bq 'match_id'=>$match_id, // 赛事ID 'change_status'=>0 //是否改状态 ); $url=$jsurl.'/Settelement'; $simplex_res = $napp->post_curls($url,$simplex);//返回json $huawei_res = json_decode($simplex_res,true); if($huawei_res['status']==1){ return json_encode(['status'=>1,'msg'=>'结算成功']); }else{ return json_encode(['status'=>4,'msg'=>'结算失败']); } }else{ return json_encode(['status'=>3,'msg'=>'输赢判断错误']); } }else{ return json_encode(['status'=>2,'msg'=>'订单不存在']); } } /** *单式注单批量结算 */ public function batchsettlement(){ $orders = \App\Models\SportsNoteList::where('settle_status','1')->get(); $order_ids = array(); for($i=0;$ibatch_id)->where('match_id',$orders[$i]->match_id)->get(); $res = array(); for($j=0;$jresult; } if(!in_array(0,$res)){ $order_ids[] = $orders[$i]->order_id; } } $SettlementOrder = new SettlementOrder(); $bet_type = 1;//单式注单 $data = $SettlementOrder->reSettlement($order_ids,$bet_type); return $data; } /** *删除订单 */ public function delete(Req $req) { $id = $req->input('id'); if (empty($id)) { return responseToJson(-2001); //id����Ϊ�� } $ids = explode(',', $id); if (!is_array($ids) && intval($ids) < 0) { return responseToJson(-2002); //id���� } if (is_array($ids) && count($ids) > 0) { foreach ($ids as $k => $v) { if (intval($v) < 1) { unset($ids[$k]); } } } $rows = \App\Models\SportsNoteList::whereIn('id', $ids)->delete(); if (!$rows) { return responseToJson(-2003); //id���� } return responseToJson(1, trans('menu.delete_success')); //id���� } /** * 投注金额统计 */ function moneycount() { $where = Request::has('where') ? Request::get('where') : ''; $type = Request::has('type') ? Request::get('type') : 'zq'; $db = new \App\Models\SportsNoteList; $data = $db->MoneyCount($where,$type); return responseToJson($data); } }