Bläddra i källkod

追加推送 6/6

彭俊 6 år sedan
förälder
incheckning
6f65e1049e

+ 9 - 9
app/Http/Controllers/Admin/SportsbkController.php

@@ -21,15 +21,15 @@ class SportsbkController extends Controller {
 		$dt = \App\Lib\DataTable\DataTable::init();
 		$dt->setDataSource('/admin/Sportsbk/info');
 		$dt->setLang('sportsbk');
-		$dt->addColsFields('lg_id', array('templet' => '#liansai', 'sort' => true, 'width' => 80));
-		$dt->addColsFields('match_time', array('templet' => '#totime', 'sort' => true, 'width' => 80));
+		$dt->addColsFields('lg_id', array('templet' => '#liansai', 'sort' => true, 'width' => 200));
+		$dt->addColsFields('update_time', array('templet' => '#userdetail', 'sort' => true, 'width' => 160));
 		$dt->addColsFields('home_team', array('templet' => '#userdetail', 'sort' => false, 'width' => 120));
 		$dt->addColsFields('guest_team', array('templet' => '#userdetail', 'sort' => false, 'width' => 130));
-		$dt->addColsFields('dsnum', array('templet' => '#userdetail', 'sort' => true, 'width' => 80));
-		$dt->addColsFields('csnum', array('templet' => '#userdetail', 'sort' => true, 'width' => 80));
-		$dt->addColsFields('match_time', array('templet' => '#userdetail', 'sort' => true, 'width' => 100));
-		$dt->addColsFields('match_process', array('templet' => '#userdetail', 'sort' => false, 'width' => 150));
-		$dt->addColsFields('status', array('templet' => '#userdetail', 'sort' => false, 'width' => 150));
+		$dt->addColsFields('dsnum', array('templet' => '#dsnum', 'sort' => false, 'width' => 70));
+		$dt->addColsFields('csnum', array('templet' => '#csnum', 'sort' => false, 'width' => 70));
+		$dt->addColsFields('sectionone_two', array('templet' => '#sectionone_two', 'sort' => false, 'width' => 200));
+		$dt->addColsFields('sectionthere_four', array('templet' => '#sectionthere_four', 'sort' => false, 'width' => 200));
+		$dt->addColsFields('status', array('templet' => '#userdetail', 'sort' => false, 'width' => 100));
 		if (checkRriv('/admin/Sportsbk/edit')) {
 			$arr[] = 'edit';
 		}
@@ -45,7 +45,7 @@ class SportsbkController extends Controller {
 		$home_team = Request::has('home_team') ? Request::get('home_team') : '';
 		$sureblurs = Request::has('sureblurs') ? Request::get('sureblurs') : 'off';
 		$status = Request::has('status') ? Request::get('status') : '';
-		$source = Request::has('source') ? Request::get('source') : 'hg3535';
+		$source = Request::has('source') ? Request::get('source') : '';
 		$where = array();
 		$orwhere = array();
 		if (!empty($home_team)) {
@@ -62,7 +62,7 @@ class SportsbkController extends Controller {
 		}
 		if (!empty($source)) {
 			$where[] = array('st_lq_result.source', '=', $source);
-		}
+		}//var_dump($where);die;
 		$newapp = new \App\Models\Stlqresult();
 		$data = $newapp->resultbklist($list, $page, $where, $orwhere);
 		

+ 16 - 2
app/Http/Controllers/Admin/SportsfootController.php

@@ -192,11 +192,24 @@ class SportsfootController extends Controller {
             return view('admin.sportsfoot/addoutcome',['data'=>$league_data]);
         } else {
         	$match_id = trim($req->input('match_id'));//赛事id
-        	$data = \App\Models\Stzqresult::where(['match_id'=>$match_id])->first();
         	//添加足球比赛结果表
         	$alldata = $req->input();
         	unset($alldata['_token']);
-        	$ret = \App\Models\Stzqresult::updateOrCreate(['match_id'=>$match_id],array_merge($alldata,['match_time'=>'00:01','update_time'=>date('Y-m-d H:i:s')]));
+        	$all_goal = intval($alldata['home_score'])+intval($alldata['guest_score']);//总进球数
+        	$penaltycard = array(
+        		'home'=>$alldata['homeallcard'],
+        		'guest'=>$alldata['guestallcard'],
+        		'home_half'=>$alldata['homehalfcard'],
+        		'guest_half'=>$alldata['guesthalfcard'],
+        	);
+        	$cornerball = array(
+        		'home'=>$alldata['homeallcorner'],
+        		'guest'=>$alldata['guestallcorner'],
+        		'home_half'=>$alldata['homehalfcorner'],
+        		'guest_half'=>$alldata['guesthalfcorner'],
+        	);
+
+        	$ret = \App\Models\Stzqresult::updateOrCreate(['match_id'=>$match_id],array_merge($alldata,['match_time'=>'00:01','update_time'=>date('Y-m-d H:i:s'),'all_goal'=>$all_goal,'penalty_card'=>json_encode($penaltycard),'corner_ball'=>json_encode($cornerball)]));
         	//添加足球比赛结果记录表
         	$ret = \App\Models\Stzqresultrecord::updateOrCreate(['match_id'=>$match_id,'update_time'=>date('Y-m-d H:i:s')],array_merge($alldata,['match_time'=>'00:01','update_time'=>date('Y-m-d H:i:s')]));
         }
@@ -251,6 +264,7 @@ class SportsfootController extends Controller {
 			$res = $newapp->updateInfo($data,$id);//联赛id
             $this->addcomendnotice($match_id);
 		}
+		$newapp->totalgoal($match_id);
 		return responseToJson($res);
 	}
 

+ 1 - 1
app/Http/Controllers/Api/SettlementController.php

@@ -10,7 +10,7 @@ class SettlementController extends Controller{
     public function index(){
         $dd = new ZqRule();
 
-        dd($dd->half_full(1,2,1));
+        dd($dd->bodan(1,2,1));
     }
     public function dd(){
         $obj = new SettlementOrder();

+ 210 - 205
app/Http/Controllers/Api/WriteSportsController.php

@@ -14,8 +14,10 @@ use App\Lib\Biz\Sport\Common as commonFunction;
 use App\Http\Model\St_area_country as St_area_countryModel;
 use App\Http\Model\StBroadcast as broadcastModel;
 use App\Http\Model\StGameType as gameModel;
-
-
+use App\Http\Model\StZqResult as ZqResultModel;
+use App\Http\Model\StLqResult as LqResultModel;
+use App\Http\Model\StWqResult as WqResultModel;
+use App\Http\Model\StBqResult as BqResultModel;
 
 class WriteSportsController extends BaseController{
 
@@ -52,54 +54,104 @@ class WriteSportsController extends BaseController{
                     if($v['title'] == 'match_result_record') $match_result_record[] = $v;
                     if($v['title'] == 'odds_record') $odds_record[] = $v;
                     if($v['title'] == 'broadcast') $broadcast[] = $v;
-
                 }
                 $matchData = [$league,$competition,$odds,$league_result,$match_result,$match_result_record,$odds_record,$broadcast];
+
                 //排空处理
                 foreach ($matchData as $k=>$v){
                     if($v == []) unset($matchData[$k]);
                 }
+
+                sort($matchData);
                 //根据顺序写入数据
+                //降维数据
+                $ddd = [];
                 foreach ($matchData as $k=>$v){
-                    foreach ($v as $kk =>$vv){
-                        switch ($vv['title']){
-                            case 'area'://地区
-                                throw new \Exception(Response::generate('地区数据-area:',Response::AUTH_ERROR)) ;
-                                break;
-                            case 'country'://国家
-                                throw new \Exception(Response::generate('国家数据-country:',Response::AUTH_ERROR));
-                                break;
-                            case 'league'://联赛
-                                $this->league($vv);
-                                break;
-                            case 'competition'://赛事
-                                $this->competition($vv);
-                                break;
-                            case 'odds'://赔率
-                                $this->odds($vv);
-                                break;
-                            case 'league_result'://联赛结果
-                                $this->league_result($vv);
-                                break;
-                            case 'match_result'://赛事结果
-                                throw new \Exception(Response::generate('赛事结果数据-match_result:',Response::AUTH_ERROR));
-                                $this->match_result($vv);
-                                break;
-                            case 'match_result_record'://赛事结果记录
-                                $this->com_result_record($vv);
-                                break;
-                            case 'odds_record'://赔率记录
-                                throw new \Exception(Response::generate('赔率记录数据-odds_record:',Response::AUTH_ERROR));
-                                $this->odds_record($vv);
-                                break;
-                            case 'broadcast'://直播数据
-                                $this->broadcast($vv);
-                                break;
-                            default:
-                                throw new \Exception(Response::generate('',Response::ABNORMAL)) ;
-                        }
+                    foreach ($v as $kk=>$vv){
+                        $ddd[] = $vv;
+                    }
+                }
+                foreach ($ddd as $kk =>$vv){
+                    switch ($vv['title']){
+                        case 'area'://地区
+                            throw new \Exception(Response::generate('地区数据-area:',Response::AUTH_ERROR)) ;
+                            break;
+                        case 'country'://国家
+                            throw new \Exception(Response::generate('国家数据-country:',Response::AUTH_ERROR));
+                            break;
+                        case 'league'://联赛
+                            $this->league($vv);
+                            break;
+                        case 'competition'://赛事
+                            $this->competition($vv);
+                            break;
+                        case 'odds'://赔率
+                            $this->odds($vv);
+                            break;
+                        case 'league_result'://联赛结果
+                            $this->league_result($vv);
+                            break;
+                        case 'match_result'://赛事结果
+                            throw new \Exception(Response::generate('赛事结果数据-match_result:',Response::AUTH_ERROR));
+                            $this->match_result($vv);
+                            break;
+                        case 'match_result_record'://赛事结果记录
+                            $this->com_result_record($vv);
+                            break;
+                        case 'odds_record'://赔率记录
+                            throw new \Exception(Response::generate('赔率记录数据-odds_record:',Response::AUTH_ERROR));
+                            $this->odds_record($vv);
+                            break;
+                        case 'broadcast'://直播数据
+                            $this->broadcast($vv);
+                            break;
+                        default:
+                            throw new \Exception(Response::generate('',Response::ABNORMAL)) ;
                     }
                 }
+
+//                return Response::success($ddd);
+
+//                foreach ($matchData as $k=>$v){
+//                    foreach ($v as $kk =>$vv){
+//                        switch ($vv['title']){
+//                            case 'area'://地区
+//                                throw new \Exception(Response::generate('地区数据-area:',Response::AUTH_ERROR)) ;
+//                                break;
+//                            case 'country'://国家
+//                                throw new \Exception(Response::generate('国家数据-country:',Response::AUTH_ERROR));
+//                                break;
+//                            case 'league'://联赛
+//                                $this->league($vv);
+//                                break;
+//                            case 'competition'://赛事
+//                                $this->competition($vv);
+//                                break;
+//                            case 'odds'://赔率
+//                                $this->odds($vv);
+//                                break;
+//                            case 'league_result'://联赛结果
+//                                $this->league_result($vv);
+//                                break;
+//                            case 'match_result'://赛事结果
+//                                throw new \Exception(Response::generate('赛事结果数据-match_result:',Response::AUTH_ERROR));
+//                                $this->match_result($vv);
+//                                break;
+//                            case 'match_result_record'://赛事结果记录
+//                                $this->com_result_record($vv);
+//                                break;
+//                            case 'odds_record'://赔率记录
+//                                throw new \Exception(Response::generate('赔率记录数据-odds_record:',Response::AUTH_ERROR));
+//                                $this->odds_record($vv);
+//                                break;
+//                            case 'broadcast'://直播数据
+//                                $this->broadcast($vv);
+//                                break;
+//                            default:
+//                                throw new \Exception(Response::generate('',Response::ABNORMAL)) ;
+//                        }
+//                    }
+//                }
             }
             //提交事务
             DB::commit();
@@ -140,69 +192,10 @@ class WriteSportsController extends BaseController{
     //将进行中赛事写入 赛事结果
     public function match_result($game_code = ''){
         $model =commonFunction::getModels($game_code,1);
-
-        //获取赛事表所有滚球
-        $matchData = $model['model_match']::select('id','home_team','guest_team','lg_id','status','tag','match_time')
-            ->where(['status'=> 1])
-            ->get()
-            ->toarray();
-
-        //没有滚球数据,无需操作
-        if(empty($matchData)) return Response::success();
-        //获取赛事结果表 所有滚球
-        $matchData_r = $model['model_result']::select('match_id')
-            ->where(['status'=> 1])
-            ->get()
-            ->toarray();
-
-        //没有滚球结果,直接插入结果表
-        if(empty($matchData_r)){
-            foreach ($matchData as $k=>$v){
-                $time = time()-strtotime($v['match_time']);
-                $match_time = $this->secTime($time);
-                $set_match_r[] = [
-                    "match_id"=> $v['id'],
-                    "home_team"=>$v['home_team'],
-                    "guest_team"=>$v['guest_team'],
-                    "lg_id"=>$v['lg_id'],
-                    "status"=>$v['status'],
-                    "tag"=> $v['tag'],
-                    'match_time'=>$match_time,
-                    "update_time"=>date('Y-m-d H:m:i')
-                    ];
-            }
-            $ret = $model['model_result']::insert($set_match_r);
-            if($ret != true) throw new \Exception( Response::generate('',Response::ADD_MATCH_R_ERROR));
-        }
-
-        //如果结果表有数据,则获取结果表没有的赛事
-        foreach ($matchData as $k=>$v){
-            foreach ($matchData_r as $kk=>$vv){
-                if($v['id'] == $vv['match_id']){
-                    unset($matchData[$k]);
-                }
-            }
-        }
-        //如果还有未写入赛事
-        if(!empty($matchData)){
-            //写入结果表不存在赛事
-            foreach ($matchData as $k=>$v){
-                $time = time()-strtotime($v['match_time']);
-                $match_time = $this->secTime($time);
-                $set_match_r[] = [
-                    "match_id"=> $v['id'],
-                    "home_team"=>$v['home_team'],
-                    "guest_team"=>$v['guest_team'],
-                    "lg_id"=>$v['lg_id'],
-                    "status"=>$v['status'],
-                    "tag"=> $v['tag'],
-                    'match_time'=>$match_time,
-                    "update_time"=>date('Y-m-d H:m:i')
-                ];
-            }
-            $ret = $model['model_result']::insert($set_match_r);
-            if($ret != true) throw new \Exception( Response::generate('',Response::ADD_MATCH_R_ERROR));//Render([], '10022', lang('Tips','Sports')->get('add_match_r_error'));
-        }
+        if($game_code == 'zq')  ZqResultModel::ZQresult($model);
+        if($game_code == 'lq')  LqResultModel::LQresult($model);
+        if($game_code == 'wq')  WqResultModel::WQresult($model);
+        if($game_code == 'bq')  BqResultModel::BQresult($model);
     }
     //写入地区数据 弃用
     public function area($opt = []){
@@ -237,22 +230,29 @@ class WriteSportsController extends BaseController{
             //查询联赛是否已存在
             $id = $model['model_league']::where('name_chinese','=',$data['name_chinese'])
                 ->value('id');
-            $last_time = '2019-12-31 23:59:59';
+            //默认获取本年最后一天
+            $last_time = date('Y-12-31 23:59:59');
             //决赛时间
             if($data['last_time']){
                 $last_time = $data['last_time'];
             }
+            $set_lg['name_chinese'] = $data['name_chinese'];
+            $set_lg['kind'] = $data['kind'];
+            $set_lg['match_mode'] = $data['match_mode'];
+            $set_lg['if_stop'] = $data['if_stop'];
+            $set_lg['last_time'] = $last_time;
+            $set_lg['utime'] = date('Y-m-d H:m:i');
             if(empty($id)){
-                $set_lg['name_chinese'] = $data['name_chinese'];
-                $set_lg['kind'] = $data['kind'];
-                $set_lg['match_mode'] = $data['match_mode'];
-                $set_lg['if_stop'] = $data['if_stop'];
-                $set_lg['last_time'] = $last_time;
-                $set_lg['utime'] = date('Y-m-d H:m:i');
+                //写入联赛
                 $id = $model['model_league']::insertGetId($set_lg);
                 $m_lg_id = $id;
                 if($m_lg_id < 1) throw new \Exception(Response::generate(gameModel::getGameName($game_code).'联赛-lg_id:'.$data['lg_id'].';',Response::INSERT_ERROR));
             }
+            //更新联赛
+            $ret = $model['model_league']::where(['id'=>$id])
+                -> update($set_lg);
+            if($ret < 1) throw new \Exception(Response::generate(gameModel::getGameName($game_code).'联赛-lg_id:'.$data['lg_id'].';',Response::UPDATE_ERROR));
+
             $set_local = [
                 'lg_id'=>$id,
                 'others_lg_id'=>$data['lg_id'],
@@ -290,43 +290,47 @@ class WriteSportsController extends BaseController{
                     ->value('match_id');
                 if(empty($half_match_id)) throw new \Exception(Response::generate(gameModel::getGameName($game_code).'赛事-match_id:'.$data['match_id'].';',Response::HALF_MATCH_ERROR)) ;//Render([], '10024', lang('Tips','Sports')->get('half_match_error'));
             }
+            //如果赛事没有开始日期,则为冠军盘口赛事
+            if(empty($data['match_date'])){
+                //冠军盘口赛事获取所属联赛结束时间
+                $last_time = $model['model_league']::where(['id'=>$lg_id])
+                    ->value('last_time');
+
+                if(empty($last_time)) throw new \Exception(Response::generate(gameModel::getGameName($game_code).'联赛-lg_id:'.$data['lg_id'].';',Response::LG_LASTTIME_ERROR)) ;//Render([], '10023', lang('Tips','Sports')->get('lg_lastTime_error'));
+                //给冠军盘口赛事 赋值时间
+                $time = strtotime($last_time);
+                $data['match_date'] = date('Y-m-d',$time);
+                $data['match_time'] = date('H:m:i',$time);
+            }
+            $set_match = [
+                'ctime'=>date('Y-m-d H:m:i'),
+                'utime'=>date('Y-m-d H:m:i'),
+                'expire_time'=>date('Y-m-d H:m:i',time()+60),
+                'home_team'=>$data['home_team']?:'',
+                'guest_team'=>$data['guest_team']?:'no_team',
+                'lg_id'=>$lg_id,
+                'status'=>$data['status'],
+                'match_date'=>$data['match_date']?:date('Y-m-d'),
+                'match_time'=>$data['match_time']?:date('H:m:i'),
+                'tag'=>$data['tag']?:0,
+                'is_rollball'=>$data['is_rollball']?:0,
+                'is_today'=>$data['is_today']?:0,
+                'is_morningplate'=>$data['is_morningplate']?:0,
+                'is_stringscene'=>$data['is_stringscene']?:0,
+                'us_time'=>$data['us_time']?:commonFunction::qgmdate('Y-m-d H:i:s', '', -4),
+                'half_match_id'=>$half_match_id?:0,
+            ];
             //写入赛事
             if(empty($id)){
-                //如果赛事没有开始日期,则为冠军盘口赛事
-                if(empty($data['match_date'])){
-                    //冠军盘口赛事获取所属联赛结束时间
-                    $last_time = $model['model_league']::where(['id'=>$lg_id])
-                        ->value('last_time');
-
-                    if(empty($last_time)) throw new \Exception(Response::generate(gameModel::getGameName($game_code).'联赛-lg_id:'.$data['lg_id'].';',Response::LG_LASTTIME_ERROR)) ;//Render([], '10023', lang('Tips','Sports')->get('lg_lastTime_error'));
-                    //给冠军盘口赛事 赋值时间
-                    $time = strtotime($last_time);
-                    $data['match_date'] = date('Y-m-d',$time);
-                    $data['match_time'] = date('H:m:i',$time);
-                }
-
-                $set_match = [
-                    'ctime'=>date('Y-m-d H:m:i'),
-                    'utime'=>date('Y-m-d H:m:i'),
-                    'expire_time'=>date('Y-m-d H:m:i',time()+60),
-                    'home_team'=>$data['home_team']?:'',
-                    'guest_team'=>$data['guest_team']?:'no_team',
-                    'lg_id'=>$lg_id,
-                    'status'=>$data['status'],
-                    'match_date'=>$data['match_date']?:date('Y-m-d'),
-                    'match_time'=>$data['match_time']?:date('H:m:i'),
-                    'tag'=>$data['tag']?:0,
-                    'is_rollball'=>$data['is_rollball']?:0,
-                    'is_today'=>$data['is_today']?:0,
-                    'is_morningplate'=>$data['is_morningplate']?:0,
-                    'is_stringscene'=>$data['is_stringscene']?:0,
-                    'us_time'=>$data['us_time']?:commonFunction::qgmdate('Y-m-d H:i:s', '', -4),
-                    'half_match_id'=>$half_match_id?:0,
-                ];
                 //写入赛事 返回id
                 $id = $model['model_match']::insertGetId($set_match);
                 if($id < 1) throw new \Exception(Response::generate(gameModel::getGameName($game_code).'赛事-match_id:'.$data['match_id'].';',Response::INSERT_ERROR)) ;//Render([], '10012', lang('Tips','Sports')->get('insert_error'));
             }
+            //更新赛事
+            $ret = $model['model_match']::where(['id'=>$id])->update($set_match);
+            if($ret < 1) throw new \Exception(Response::generate(gameModel::getGameName($game_code).'赛事-match_id:'.$data['match_id'].';',Response::UPDATE_ERROR)) ;//Render([], '10012', lang('Tips','Sports')->get('insert_error'));
+
+            //写关联记录
             $set_local = [
                 'match_id'=>$id,
                 'others_match_id'=>$data['match_id'],
@@ -384,7 +388,6 @@ class WriteSportsController extends BaseController{
             'lg_id'=> $lg_id,
             'others_lg_id'=> $others_lg_id,
             'ctime'=> date('Y-m-d H:m:i'),
-
         ];
         //更新或写入赔率记录
         if(!empty($oddsID)){
@@ -525,6 +528,7 @@ class WriteSportsController extends BaseController{
         //根据球类代码获取相关model
         $model = commonFunction::getModels($game_code,1);
         $data = $opt['data'];
+
         //验证结果所属联赛
         $lg_id = $model['model_local_league']::where(['others_lg_id'=>$data['lg_id'],'source'=>$data['source']])
             ->value('lg_id');
@@ -626,95 +630,96 @@ class WriteSportsController extends BaseController{
         $set_match_r = [];
         if($game_code == 'zq'){
             $set_match_r = [
-                "home_team"=>$data['home_team'],
-                "guest_team"=>$data['guest_team'],
+                "home_team"=>$data['home_team']?:'',
+                "guest_team"=>$data['guest_team']?:'',
                 "lg_id"=>$lg_id,
-                "all_goal"=>$data['all_goal'],
-                "home_rate"=> $data['home_rate'],
-                "guest_rate"=> $data['guest_rate'],
-                "home_score"=> $data['home_score'],
-                "guest_score"=> $data['guest_score'],
-                "status"=>$data['status'],
-                "first_score"=>$data['first_score'],
-                "last_score"=> $data['last_score'],
-                "match_score"=> $data['match_score'],
-                "match_winer"=> $data['match_winer'],
-                "match_time"=> $data['match_time'],
-                "match_process"=> $data['match_process'],
-                "tag"=> $data['tag'],
+                "all_goal"=>$data['all_goal']?:0,
+                "home_rate"=> $data['home_rate']?:0,
+                "guest_rate"=> $data['guest_rate']?:0,
+                "home_score"=> $data['home_score']?:0,
+                "guest_score"=> $data['guest_score']?:0,
+                "status"=>$data['status']?:0,
+                "first_score"=>$data['first_score']?:0,
+                "last_score"=> $data['last_score']?:0,
+                "match_score"=> $data['match_score']?:0,
+                "match_winer"=> $data['match_winer']?:'',
+                "match_time"=> $data['match_time']?:0,
+                "match_process"=> $data['match_process']?:'',
+                "tag"=> $data['tag']?:0,
                 "match_id"=> $match_id,
                 "update_time"=>date('Y-m-d H:m:i')
             ];
         };
         if($game_code == 'lq'){
             $set_match_r = [
-                "home_team"=>$data['home_team'],
-                "guest_team"=>$data['guest_team'],
+                "home_team"=>$data['home_team']?:'',
+                "guest_team"=>$data['guest_team']?:'',
                 "lg_id"=>$lg_id,
-                "home_rate"=> $data['home_rate'],
-                "guest_rate"=> $data['guest_rate'],
-                "home_score"=> $data['home_score'],
-                "guest_score"=> $data['guest_score'],
-                "status"=>$data['status'],
-                "first_score"=>$data['first_score'],
-                "last_score"=> $data['last_score'],
-                "match_score"=> $data['match_score'],
-                "match_winer"=> $data['match_winer'],
-                "match_time"=> $data['match_time'],
-                "match_process"=> $data['match_process'],
-                "tag"=> $data['tag'],
+                "home_rate"=> $data['home_rate']?:0,
+                "guest_rate"=> $data['guest_rate']?:0,
+                "home_score"=> $data['home_score']?:0,
+                "guest_score"=> $data['guest_score']?:0,
+                "status"=>$data['status']?:0,
+                "first_score"=>$data['first_score']?:0,
+                "last_score"=> $data['last_score']?:0,
+                "match_score"=> $data['match_score']?:0,
+                "match_winer"=> $data['match_winer']?:'',
+                "match_time"=> $data['match_time']?:0,
+                "match_process"=> $data['match_process']?:'',
+                "tag"=> $data['tag']?:0,
                 "match_id"=> $match_id,
                 "update_time"=>date('Y-m-d H:m:i')
             ];
         }
         if($game_code == 'wq'){
             $set_match_r = [
-                "home_player_name"=>$data['home_team'],
-                "guest_player_name"=>$data['guest_team'],
+                "home_player_name"=>$data['home_player_name']?:'',
+                "guest_player_name"=>$data['guest_player_name']?:'',
                 "lg_id"=>$lg_id,
-                "home_player_let_plate"=>$data['home_player_let_plate'],
-                "guest_player_let_plate"=>$data['guest_player_let_plate'],
-                "home_player_let_inning"=>$data['home_player_let_inning'],
-                "guest_player_let_inning"=>$data['guest_player_let_inning'],
-                "all_inning"=>$data['all_inning'],
-                "home_player_score"=>$data['home_player_score'],
-                "guest_player_score"=>$data['guest_player_score'],
-                "status"=>$data['status'],
-                "first_score_player"=>$data['first_score_player'],
-                "last_score_player"=>$data['last_score_player'],
-                "first_inning_score"=>$data['first_inning_score'],
-                "second_inning_score"=>$data['second_inning_score'],
-                "third_inning_score"=>$data['third_inning_score'],
-                "match_winer_player"=>$data['match_winer_player'],
+                "home_player_let_plate"=>$data['home_player_let_plate']?:0,
+                "guest_player_let_plate"=>$data['guest_player_let_plate']?:0,
+                "home_player_let_inning"=>$data['home_player_let_inning']?:0,
+                "guest_player_let_inning"=>$data['guest_player_let_inning']?:0,
+                "all_inning"=>$data['all_inning']?:0,
+                "home_player_score"=>$data['home_player_score']?:0,
+                "guest_player_score"=>$data['guest_player_score']?:0,
+                "status"=>$data['status']?:0,
+                "first_score_player"=>$data['first_score_player']?:'',
+                "last_score_player"=>$data['last_score_player']?:'',
+                "first_inning_score"=>$data['first_inning_score']?:0,
+                "second_inning_score"=>$data['second_inning_score']?:0,
+                "third_inning_score"=>$data['third_inning_score']?:0,
+                "match_winer_player"=>$data['match_winer_player']?:'',
                 "update_time"=>date('Y-m-d H:m:i'),
-                "match_time"=>$data['match_time'],
-                "match_process"=>$data['match_process'],
-                "tag"=>$data['tag'],
+                "match_time"=>$data['match_time']?:0,
+                "match_process"=>$data['match_process']?:'',
+                "tag"=>$data['tag']?:0,
                 "match_id"=>$match_id,
             ];
         }
         if($game_code == 'bq'){
             $set_match_r = [
-                "home_team"=>$data['home_team'],
-                "guest_team"=>$data['guest_team'],
+                "home_team"=>$data['home_team']?:'',
+                "guest_team"=>$data['guest_team']?:'',
                 "lg_id"=>$lg_id,
-                "home_rate"=> $data['home_rate'],
-                "guest_rate"=> $data['guest_rate'],
-                "home_score"=> $data['home_score'],
-                "guest_score"=> $data['guest_score'],
-                "status"=>$data['status'],
-                "first_score"=>$data['first_score'],
-                "last_score"=> $data['last_score'],
-                "match_score"=> $data['match_score'],
-                "match_winer"=> $data['match_winer'],
-                "match_time"=> $data['match_time'],
-                "match_process"=> $data['match_process'],
-                "tag"=> $data['tag'],
+                "home_rate"=> $data['home_rate']?:0,
+                "guest_rate"=> $data['guest_rate']?:0,
+                "home_score"=> $data['home_score']?:0,
+                "guest_score"=> $data['guest_score']?:0,
+                "status"=>$data['status']?:0,
+                "first_score"=>$data['first_score']?:0,
+                "last_score"=> $data['last_score']?:0,
+                "match_score"=> $data['match_score']?:0,
+                "match_winer"=> $data['match_winer']?:'',
+                "match_time"=> $data['match_time']?:0,
+                "match_process"=> $data['match_process']?:'',
+                "tag"=> $data['tag']?:0,
                 "match_id"=> $match_id,
-                "all_inning"=>$data['all_inning'],
+                "all_inning"=>$data['all_inning']?:0,
                 "update_time"=>date('Y-m-d H:m:i')
             ];
         }
+
         return $set_match_r;
     }
 }

+ 72 - 0
app/Http/Model/StBqResult.php

@@ -13,4 +13,76 @@ class StBqResult extends Model
     protected $table = 'st_bq_result';
     public $timestamps = false;
 
+    //写赛事结果
+    public static function BQresult($model){
+        //获取赛事表15天内所有非 未开始赛事
+        $matchData = $model['model_match']::select('id','home_team','guest_team','lg_id','status','tag','match_time')
+            ->where([['status','>',0],['match_date','>',date('Y-m-d', strtotime("-15 day"))]])
+            ->get()
+            ->toarray();
+
+        //没有数据,无需操作
+        if(empty($matchData)) return Response::success();
+        //获取赛事结果表 所有当月
+        $matchData_r = $model['model_result']::select('match_id')
+            ->where([['status','>',0],['update_time','>',date('Y-m-d', strtotime("-15 day"))]])
+            ->get()
+            ->toarray();
+
+        //结果表无数据,直接插入
+        if(empty($matchData_r)){
+            foreach ($matchData as $k=>$v){
+                $time = time()-strtotime($v['match_time']);
+                $match_time = self::secTime($time);
+                $set_match_r[] = [
+                    "match_id"=> $v['id'],
+                    "home_team"=>$v['home_team'],
+                    "guest_team"=>$v['guest_team'],
+                    "lg_id"=>$v['lg_id'],
+                    "status"=>$v['status'],
+                    "tag"=> $v['tag'],
+                    'match_time'=>$match_time,
+                    "update_time"=>date('Y-m-d H:m:i')
+                ];
+            }
+            $ret = $model['model_result']::insert($set_match_r);
+            if($ret != true) throw new \Exception( Response::generate('',Response::ADD_MATCH_R_ERROR));
+        }
+
+        //如果结果表有数据,则获取结果表没有的赛事
+        foreach ($matchData as $k=>$v){
+            foreach ($matchData_r as $kk=>$vv){
+                if($v['id'] == $vv['match_id']){
+                    unset($matchData[$k]);
+                }
+            }
+        }
+        //如果还有未写入赛事
+        if(!empty($matchData)){
+            //写入结果表不存在赛事
+            foreach ($matchData as $k=>$v){
+                $time = time()-strtotime($v['match_time']);
+                $match_time = self::secTime($time);
+                $set_match_r[] = [
+                    "match_id"=> $v['id'],
+                    "home_team"=>$v['home_team'],
+                    "guest_team"=>$v['guest_team'],
+                    "lg_id"=>$v['lg_id'],
+                    "status"=>$v['status'],
+                    "tag"=> $v['tag'],
+                    'match_time'=>$match_time,
+                    "update_time"=>date('Y-m-d H:m:i')
+                ];
+            }
+            $ret = $model['model_result']::insert($set_match_r);
+            if($ret != true) throw new \Exception( Response::generate('',Response::ADD_MATCH_R_ERROR));//Render([], '10022', lang('Tips','Sports')->get('add_match_r_error'));
+        }
+    }
+
+    //计算滚球 赛事进行时间
+    public static function secTime($sec=0){
+        $min = floor($sec/60);
+        $res = $min.':'.($sec-$min*60);
+        return $res;
+    }
 }

+ 72 - 0
app/Http/Model/StLqResult.php

@@ -13,4 +13,76 @@ class StLqResult extends Model
     protected $table = 'st_lq_result';
     public $timestamps = false;
 
+    //写赛事结果
+    public static function LQresult($model){
+        //获取赛事表15天内所有非 未开始赛事
+        $matchData = $model['model_match']::select('id','home_team','guest_team','lg_id','status','tag','match_time')
+            ->where([['status','>',0],['match_date','>',date('Y-m-d', strtotime("-15 day"))]])
+            ->get()
+            ->toarray();
+
+        //没有数据,无需操作
+        if(empty($matchData)) return Response::success();
+        //获取赛事结果表 所有当月
+        $matchData_r = $model['model_result']::select('match_id')
+            ->where([['status','>',0],['update_time','>',date('Y-m-d', strtotime("-15 day"))]])
+            ->get()
+            ->toarray();
+
+        //结果表无数据,直接插入
+        if(empty($matchData_r)){
+            foreach ($matchData as $k=>$v){
+                $time = time()-strtotime($v['match_time']);
+                $match_time = self::secTime($time);
+                $set_match_r[] = [
+                    "match_id"=> $v['id'],
+                    "home_team"=>$v['home_team'],
+                    "guest_team"=>$v['guest_team'],
+                    "lg_id"=>$v['lg_id'],
+                    "status"=>$v['status'],
+                    "tag"=> $v['tag'],
+                    'match_time'=>$match_time,
+                    "update_time"=>date('Y-m-d H:m:i')
+                ];
+            }
+            $ret = $model['model_result']::insert($set_match_r);
+            if($ret != true) throw new \Exception( Response::generate('',Response::ADD_MATCH_R_ERROR));
+        }
+
+        //如果结果表有数据,则获取结果表没有的赛事
+        foreach ($matchData as $k=>$v){
+            foreach ($matchData_r as $kk=>$vv){
+                if($v['id'] == $vv['match_id']){
+                    unset($matchData[$k]);
+                }
+            }
+        }
+        //如果还有未写入赛事
+        if(!empty($matchData)){
+            //写入结果表不存在赛事
+            foreach ($matchData as $k=>$v){
+                $time = time()-strtotime($v['match_time']);
+                $match_time = self::secTime($time);
+                $set_match_r[] = [
+                    "match_id"=> $v['id'],
+                    "home_team"=>$v['home_team'],
+                    "guest_team"=>$v['guest_team'],
+                    "lg_id"=>$v['lg_id'],
+                    "status"=>$v['status'],
+                    "tag"=> $v['tag'],
+                    'match_time'=>$match_time,
+                    "update_time"=>date('Y-m-d H:m:i')
+                ];
+            }
+            $ret = $model['model_result']::insert($set_match_r);
+            if($ret != true) throw new \Exception( Response::generate('',Response::ADD_MATCH_R_ERROR));//Render([], '10022', lang('Tips','Sports')->get('add_match_r_error'));
+        }
+    }
+
+    //计算滚球 赛事进行时间
+    public static function secTime($sec=0){
+        $min = floor($sec/60);
+        $res = $min.':'.($sec-$min*60);
+        return $res;
+    }
 }

+ 72 - 0
app/Http/Model/StWqResult.php

@@ -13,4 +13,76 @@ class StWqResult extends Model
     protected $table = 'st_wq_result';
     public $timestamps = false;
 
+    //写赛事结果
+    public static function WQresult($model){
+        //获取赛事表15天内所有非 未开始赛事
+        $matchData = $model['model_match']::select('id','home_team','guest_team','lg_id','status','tag','match_time')
+            ->where([['status','>',0],['match_date','>',date('Y-m-d', strtotime("-15 day"))]])
+            ->get()
+            ->toarray();
+
+        //没有数据,无需操作
+        if(empty($matchData)) return Response::success();
+        //获取赛事结果表 所有当月
+        $matchData_r = $model['model_result']::select('match_id')
+            ->where([['status','>',0],['update_time','>',date('Y-m-d', strtotime("-15 day"))]])
+            ->get()
+            ->toarray();
+
+        //结果表无数据,直接插入
+        if(empty($matchData_r)){
+            foreach ($matchData as $k=>$v){
+                $time = time()-strtotime($v['match_time']);
+                $match_time = self::secTime($time);
+                $set_match_r[] = [
+                    "match_id"=> $v['id'],
+                    "home_team"=>$v['home_team'],
+                    "guest_team"=>$v['guest_team'],
+                    "lg_id"=>$v['lg_id'],
+                    "status"=>$v['status'],
+                    "tag"=> $v['tag'],
+                    'match_time'=>$match_time,
+                    "update_time"=>date('Y-m-d H:m:i')
+                ];
+            }
+            $ret = $model['model_result']::insert($set_match_r);
+            if($ret != true) throw new \Exception( Response::generate('',Response::ADD_MATCH_R_ERROR));
+        }
+
+        //如果结果表有数据,则获取结果表没有的赛事
+        foreach ($matchData as $k=>$v){
+            foreach ($matchData_r as $kk=>$vv){
+                if($v['id'] == $vv['match_id']){
+                    unset($matchData[$k]);
+                }
+            }
+        }
+        //如果还有未写入赛事
+        if(!empty($matchData)){
+            //写入结果表不存在赛事
+            foreach ($matchData as $k=>$v){
+                $time = time()-strtotime($v['match_time']);
+                $match_time = self::secTime($time);
+                $set_match_r[] = [
+                    "match_id"=> $v['id'],
+                    "home_team"=>$v['home_team'],
+                    "guest_team"=>$v['guest_team'],
+                    "lg_id"=>$v['lg_id'],
+                    "status"=>$v['status'],
+                    "tag"=> $v['tag'],
+                    'match_time'=>$match_time,
+                    "update_time"=>date('Y-m-d H:m:i')
+                ];
+            }
+            $ret = $model['model_result']::insert($set_match_r);
+            if($ret != true) throw new \Exception( Response::generate('',Response::ADD_MATCH_R_ERROR));//Render([], '10022', lang('Tips','Sports')->get('add_match_r_error'));
+        }
+    }
+
+    //计算滚球 赛事进行时间
+    public static function secTime($sec=0){
+        $min = floor($sec/60);
+        $res = $min.':'.($sec-$min*60);
+        return $res;
+    }
 }

+ 73 - 1
app/Http/Model/StZqResult.php

@@ -6,11 +6,83 @@ use Illuminate\Database\Eloquent\Model;
 /**
  * Class Account
  * @package App\Sports\Model
- * 用户账号
+ * 足球结果
  */
 class StZqResult extends Model
 {
     protected $table = 'st_zq_result';
     public $timestamps = false;
 
+    //写赛事结果
+    public static function ZQresult($model){
+        //获取赛事表15天内所有非 未开始赛事
+        $matchData = $model['model_match']::select('id','home_team','guest_team','lg_id','status','tag','match_time')
+            ->where([['status','>',0],['match_date','>',date('Y-m-d', strtotime("-15 day"))]])
+            ->get()
+            ->toarray();
+
+        //没有数据,无需操作
+        if(empty($matchData)) return Response::success();
+        //获取赛事结果表 所有当月
+        $matchData_r = $model['model_result']::select('match_id')
+            ->where([['status','>',0],['update_time','>',date('Y-m-d', strtotime("-15 day"))]])
+            ->get()
+            ->toarray();
+
+        //结果表无数据,直接插入
+        if(empty($matchData_r)){
+            foreach ($matchData as $k=>$v){
+                $time = time()-strtotime($v['match_time']);
+                $match_time = self::secTime($time);
+                $set_match_r[] = [
+                    "match_id"=> $v['id'],
+                    "home_team"=>$v['home_team'],
+                    "guest_team"=>$v['guest_team'],
+                    "lg_id"=>$v['lg_id'],
+                    "status"=>$v['status'],
+                    "tag"=> $v['tag'],
+                    'match_time'=>$match_time,
+                    "update_time"=>date('Y-m-d H:m:i')
+                ];
+            }
+            $ret = $model['model_result']::insert($set_match_r);
+            if($ret != true) throw new \Exception( Response::generate('',Response::ADD_MATCH_R_ERROR));
+        }
+
+        //如果结果表有数据,则获取结果表没有的赛事
+        foreach ($matchData as $k=>$v){
+            foreach ($matchData_r as $kk=>$vv){
+                if($v['id'] == $vv['match_id']){
+                    unset($matchData[$k]);
+                }
+            }
+        }
+        //如果还有未写入赛事
+        if(!empty($matchData)){
+            //写入结果表不存在赛事
+            foreach ($matchData as $k=>$v){
+                $time = time()-strtotime($v['match_time']);
+                $match_time = self::secTime($time);
+                $set_match_r[] = [
+                    "match_id"=> $v['id'],
+                    "home_team"=>$v['home_team'],
+                    "guest_team"=>$v['guest_team'],
+                    "lg_id"=>$v['lg_id'],
+                    "status"=>$v['status'],
+                    "tag"=> $v['tag'],
+                    'match_time'=>$match_time,
+                    "update_time"=>date('Y-m-d H:m:i')
+                ];
+            }
+            $ret = $model['model_result']::insert($set_match_r);
+            if($ret != true) throw new \Exception( Response::generate('',Response::ADD_MATCH_R_ERROR));//Render([], '10022', lang('Tips','Sports')->get('add_match_r_error'));
+        }
+    }
+
+    //计算滚球 赛事进行时间
+    public static function secTime($sec=0){
+        $min = floor($sec/60);
+        $res = $min.':'.($sec-$min*60);
+        return $res;
+    }
 }

+ 4 - 2
app/Lib/Settlement/Adapter/BqRule.php

@@ -152,6 +152,7 @@ class BqRule
      * @return string 1:赢  -1:输  2:平  3:赢半平半  4:输半平半
      */
     public function bq_concede($model, $resultModel, $resultRecords, $type, $size = ''){
+        $resultModel = $resultModel['0'];
         // 主队得分
         $homeScore = intval($resultModel -> home_score);
         // 客队得分
@@ -302,8 +303,7 @@ class BqRule
      * @return string 1:赢  -1:输
      */
     public function bq_capot($model, $resultModel, $resultRecords, $type){
-        if (empty($model) || empty($result_match) || empty($resultRecords)) return false;
-
+        $resultModel = $resultModel['0'];
         // 主队得分
         $homeScore = intval($resultModel -> home_score);
         // 客队得分
@@ -329,6 +329,7 @@ class BqRule
      * @return string 1:赢  -1:输  2:平  3:赢半平半  4:输半平半
      */
     public function sizeCommon($model, $resultModel, $resultRecords, $size){
+        $resultModel = $resultModel['0'];
         // 主队得分
         $homeScore = intval($resultModel -> home_score);
         // 客队得分
@@ -404,6 +405,7 @@ class BqRule
     //结果单/双 home_score 主队进球数 guest_score 客队进球数 home_rate 主队让球 guest_rate 客队让球
     public function  bq_two_sides($model,$resultModel,$resultRecords, $type)
     {
+        $resultModel = $resultModel['0'];
         // 主队得分
         $homeScore = intval($resultModel -> home_score);
         // 客队得分

+ 368 - 215
app/Lib/Settlement/Adapter/ZqRule.php

@@ -304,7 +304,6 @@ class ZqRule
         return $data;
     }
 
-
     /**
      * 进球|上半场|大
      * @param mixed $model 注单表数据
@@ -312,7 +311,7 @@ class ZqRule
      * @param mixed $resultRecords 结果记录表数据
      * @return string 1:赢  -1:输  2:平  3:赢半平半  4:输半平半
      */
-    public function half_goal_size_home($model, $resultModel, $resultRecords)
+    public function half_goal_size_big($model, $resultModel, $resultRecords)
     {
         return $this->sizeHalf($model, $resultModel, $resultRecords, 0, 1, 1);
     }
@@ -324,7 +323,7 @@ class ZqRule
      * @param mixed $resultRecords 结果记录表数据
      * @return string 1:赢  -1:输  2:平  3:赢半平半  4:输半平半
      */
-    public function half_goal_size_guest($model, $resultModel, $resultRecords)
+    public function half_goal_size_small($model, $resultModel, $resultRecords)
     {
         return $this->sizeHalf($model, $resultModel, $resultRecords, 0, -1, 1);
     }
@@ -334,85 +333,65 @@ class ZqRule
      * @param mixed $model 注单表数据
      * @param mixed $resultModel 结果表数据
      * @param mixed $resultRecords 结果记录表数据
-     * @param mixed $type 1:主队  2:客队 0:全部进球 (目前只传 0)
+     * @param mixed $type 1:主队  2:客队  (1-2由于赶时间暂不做)    0:全部进球 (目前只传 0)
      * @param mixed $size 1:大  -1:小
      * @param mixed $halfType 1:上半场   2:下半场
      * @return string 1:赢  -1:输  2:平  3:赢半平半  4:输半平半
      */
-    public function sizeHalf($model, $resultModel, $resultRecords, $type, $size, $halfType)
+    public function sizeHalf($model, $resultModels, $resultRecords, $type, $size, $halfType)
     {
-        $half = [1 => '上半场', 2 => '下半场'];
-        // 倒叙
-        $newResultRecords = array_reverse($resultRecords);
-        // 查询最后的上半场的key值
-        $upResultKey = array_search($half[1], array_column($newResultRecords, 'match_process'));
+        $resultModel = $resultModels['0'];
+        $returnDatas = ['result' => -1, 'matchResult' => ''];
+        $condArr = explode("/", $model->condition);
+        $smin = $smax = 0;
+
         if ($halfType == 1) {
-            // 上半场总进球数
-            $allGoal = intval($newResultRecords[$upResultKey]->home_score) + intval($newResultRecords[$upResultKey]->guest_score);
-            // 上半场主队进球数
-            $homeGoal = intval($newResultRecords[$upResultKey]->home_score);
-            // 上半场客队进球数
-            $guestGoal = intval($newResultRecords[$upResultKey]->guest_score);
+            $scoreArr = ['home' => intval($resultModel->u_home_score), 'guest' => intval($resultModel->u_guest_score)];
         } else {
-            // 查询最后的下半场的key值
-            $downResultKey = array_search($half[2], array_column($newResultRecords, 'match_process'));
-            // 下半场总进球数
-            $allGoal = intval($newResultRecords[$downResultKey]->home_score) + intval($newResultRecords[$downResultKey]->guest_score) -
-                intval($newResultRecords[$upResultKey]->home_score) + intval($newResultRecords[$upResultKey]->guest_score);
-            // 下半场主队进球数
-            $homeGoal = intval($newResultRecords[$downResultKey]->home_score) - intval($newResultRecords[$upResultKey]->home_score);
-            // 下半场客队进球数
-            $guestGoal = intval($newResultRecords[$downResultKey]->guest_score) - intval($newResultRecords[$upResultKey]->guest_score);
+            $scoreArr = ['home' => intval($resultModel->home_score - $resultModel->u_home_score), 'guest' => intval($resultModel->guest_score - $resultModel->u_guest_score)];
         }
-        // 条件
-        $condition = explode("/", $model->condition);
-        $resultArr = [];
-        // 循环对比输赢
-        foreach ($condition as $value) {
-            $absValue = abs($value);
-            if ($type == 1) {
-                $resultScore = $homeGoal - $absValue;
-            } elseif ($type == 2) {
-                $resultScore = $guestGoal - $absValue;
-            } else {
-                $resultScore = $allGoal - $absValue;
-            }
 
-            if ($resultScore > 0) {
-                $resultArr[] = 1;
-            } elseif ($resultScore < 0) {
-                $resultArr[] = -1;
+        $allscore = $scoreArr['home'] + $scoreArr['guest'];
+        $returnDatas['matchResult'] = $allscore . "(全场)";
+
+        if (count($condArr) == 1) {
+            if ($size == 1) {
+                if ($allscore > $condArr['0']) {
+                    $returnDatas['result'] = 1;
+                } else {
+                    $returnDatas['result'] = -1;
+                }
             } else {
-                $resultArr[] = 0;
+                if ($allscore < $condArr['0']) {
+                    $returnDatas['result'] = 1;
+                } else {
+                    $returnDatas['result'] = -1;
+                }
             }
+            return $returnDatas;
         }
-        // 去重
-        $resultUniqueArr = array_unique($resultArr);
 
-        // 循环对比让球后输赢
-        $count = count($resultUniqueArr);
-        if ($count == 1) {
-            // 如果猜中
-            if ($resultUniqueArr[0] == $size) {
-                $data['result'] = 1;
-            } elseif ($resultUniqueArr[0] == 0) {
-                // 如果平
-                $data['result'] = 2;
+        $smin = $condArr['0'];
+        $smax = $condArr['1'];
+        ($smin > $smax) ? $this->exchage($smin, $smax) : '';
+
+        if ($size == 1) {
+            if ($smax > $allscore) {
+                $returnDatas['result'] = 1;
             } else {
-                // 如果猜错
-                $data['result'] = -1;
+                $returnDatas['result'] = -1;
             }
-        } elseif (in_array($size, $resultUniqueArr)) {
-            $data['result'] = 3;
         } else {
-            $data['result'] = 4;
+            if ($allscore < $smin) {
+                $returnDatas['result'] = 1;
+            } else {
+                $returnDatas['result'] = -1;
+            }
         }
-        $data['matchResult'] = "$homeGoal-$guestGoal(上半场)";
-        return $data;
+        return $returnDatas;
     }
 
 
-
     /**
      * 全场|主队|独赢
      * @param mixed $model 注单表数据
@@ -449,6 +428,35 @@ class ZqRule
         return $this->winFull($model, $resultModel, $resultRecords, 0);
     }
 
+    /**
+     * 全场|[主、客、平]|独赢
+     * @param mixed $model 注单表数据
+     * @param mixed $resultModel 结果表数据
+     * @param mixed $resultRecords 结果记录表数据
+     * @param mixed $type 1:主队  2:客队 0:平
+     * @return string 1:赢  -1:输
+     */
+    public function winFull($model, $resultModels, $resultRecords, $type)
+    {
+        $resultModel = $resultModels['0'];
+        // 主队得分
+        $homeScore = intval($resultModel->home_score);
+        // 客队得分
+        $guestScore = intval($resultModel->guest_score);
+        $difference = $homeScore - $guestScore;
+        if ($difference > 0 && $type == 1) {
+            $data['result'] = 1;
+        } elseif ($difference < 0 && $type == 2) {
+            $data['result'] = 1;
+        } elseif ($difference == 0 && $type == 0) {
+            $data['result'] = 1;
+        } else {
+            $data['result'] = -1;
+        }
+        $data['matchResult'] = "$homeScore-$guestScore(全场)";
+        return $data;
+    }
+
     /**
      * 上半场|主队|独赢
      * @param mixed $model 注单表数据
@@ -486,38 +494,6 @@ class ZqRule
     }
 
 
-
-
-
-
-    /**
-     * 全场|[主、客、平]|独赢
-     * @param mixed $model 注单表数据
-     * @param mixed $resultModel 结果表数据
-     * @param mixed $resultRecords 结果记录表数据
-     * @param mixed $type 1:主队  2:客队 0:平
-     * @return string 1:赢  -1:输
-     */
-    public function winFull($model, $resultModel, $resultRecords, $type)
-    {
-        // 主队得分
-        $homeScore = intval($resultModel->home_score);
-        // 客队得分
-        $guestScore = intval($resultModel->guest_score);
-        $difference = $homeScore - $guestScore;
-        if ($difference > 0 && $type == 1) {
-            $data['result'] = 1;
-        } elseif ($difference < 0 && $type == 2) {
-            $data['result'] = 1;
-        } elseif ($difference == 0 && $type == 0) {
-            $data['result'] = 1;
-        } else {
-            $data['result'] = -1;
-        }
-        $data['matchResult'] = "$homeScore-$guestScore(全场)";
-        return $data;
-    }
-
     /**
      * 半场|[主、客、平]|独赢
      * @param mixed $model 注单表数据
@@ -527,40 +503,31 @@ class ZqRule
      * @param mixed $halfType 1:上半场   2:下半场
      * @return string 1:赢  -1:输
      */
-    public function winHalf($model, $resultModel, $resultRecords, $type, $halfType)
+    public function winHalf($model, $resultModels, $resultRecords, $type, $halfType)
     {
-        $half = [1 => '上半场', 2 => '下半场'];
-        // 倒叙
-        $newResultRecords = array_reverse($resultRecords);
-        // 查询最后的上半场的key值
-        $upResultKey = array_search($half[1], array_column($newResultRecords, 'match_process'));
-        $homeScore = 0;
-        $guestScore = 0;
+        $resultModel = $resultModels['0'];
+        $returnDatas = ['result' => -1, 'matchResult' => ''];
         if ($halfType == 1) {
-            // 主队得分
-            $homeScore = intval($newResultRecords[$upResultKey]->home_score);
-            // 客队得分
-            $guestScore = intval($newResultRecords[$upResultKey]->guest_score);
+            $scoreArr = ['home' => intval($resultModel->u_home_score), 'guest' => intval($resultModel->u_guest_score)];
+            $returnDatas['matchResult'] = ($scoreArr['home'] + $scoreArr['guest']) . '上半场';
         } else {
-            // 查询最后的下半场的key值
-            $downResultKey = array_search($half[2], array_column($newResultRecords, 'match_process'));
-            // 下半场主队得分
-            $homeScore = intval($newResultRecords[$downResultKey]->home_score) - intval($newResultRecords[$upResultKey]->home_score);
-            // 下半场客队得分
-            $guestScore = intval($newResultRecords[$downResultKey]->guest_score) - intval($newResultRecords[$upResultKey]->guest_score);
+            $scoreArr = ['home' => intval($resultModel->home_score - $resultModel->u_home_score), 'guest' => intval($resultModel->guest_score - $resultModel->u_guest_score)];
+            $returnDatas['matchResult'] = ($scoreArr['home'] + $scoreArr['guest']) . '下半场';
         }
-        $difference = $homeScore - $guestScore;
-        if ($difference > 0 && $type == 1) {
-            $data['result'] = 1;
-        } elseif ($difference < 0 && $type == 2) {
-            $data['result'] = 1;
-        } elseif ($difference == 0 && $type == 0) {
-            $data['result'] = 1;
+        if ($type == 1) {
+            if ($scoreArr['home'] > $scoreArr['guest']) {
+                $returnDatas['result'] = 1;
+            }
+        } elseif ($type == 2) {
+            if ($scoreArr['guest'] > $scoreArr['home']) {
+                $returnDatas['result'] = 1;
+            }
         } else {
-            $data['result'] = -1;
+            if ($scoreArr['guest'] == $scoreArr['home']) {
+                $returnDatas['result'] = 1;
+            }
         }
-        $data['matchResult'] = "$homeScore-$guestScore(上半场)";
-        return $data;
+        return $returnDatas;
     }
 
     //  first_last_ball最先/最后进球 开始-----------------------
@@ -568,42 +535,39 @@ class ZqRule
     public function first_ball_home($model, $resultModel, $resultRecords)
     {
         $resultModel = $resultModel['0'];
-        if ($resultModel->all_goal > 0) {
-            if ($resultModel->first_score === $resultModel->home_team) {
-                return ['result' => 1, 'matchResult' => ''];
-            } else {
-                return ['result' => -1, 'matchResult' => ''];
-            }
+
+        if (trim($resultModel->first_score) == trim($resultModel->home_team)) {
+            return ['result' => 1, 'matchResult' => ''];
+        } else {
+            return ['result' => -1, 'matchResult' => ''];
         }
-        return ['result' => 2, 'matchResult' => ''];
+
     }
 
     //客队|最先进球
     public function first_ball_guest($model, $resultModel, $resultRecords)
     {
         $resultModel = $resultModel['0'];
-        if ($resultModel->all_goal > 0) {
-            if ($resultModel->first_score === $resultModel->guest_team) {
-                return ['result' => 1, 'matchResult' => ''];
-            } else {
-                return ['result' => -1, 'matchResult' => ''];
-            }
+
+        if (trim($resultModel->first_score) == trim($resultModel->guest_team)) {
+            return ['result' => 1, 'matchResult' => ''];
+        } else {
+            return ['result' => -1, 'matchResult' => ''];
         }
-        return ['result' => 2, 'matchResult' => ''];
+
     }
 
     //主队|最后进球
     public function last_ball_home($model, $resultModel, $resultRecords)
     {
         $resultModel = $resultModel['0'];
-        if ($resultModel->all_goal > 0) {
-            if ($resultModel->last_score === $resultModel->home_team) {
-                return ['result' => 1, 'matchResult' => ''];
-            } else {
-                return ['result' => -1, 'matchResult' => ''];
-            }
+
+        if (trim($resultModel->last_score) == trim($resultModel->home_team)) {
+            return ['result' => 1, 'matchResult' => ''];
+        } else {
+            return ['result' => -1, 'matchResult' => ''];
         }
-        return ['result' => 2, 'matchResult' => ''];
+
 
     }
 
@@ -612,14 +576,13 @@ class ZqRule
     {
         $pos = count($resultModel) - 1;
         $resultModel = $resultModel[$pos];
-        if ($resultModel->all_goal > 0) {
-            if ($resultModel->last_score === $resultModel->guest_team) {
-                return ['result' => 1, 'matchResult' => ''];
-            } else {
-                return ['result' => -1, 'matchResult' => ''];
-            }
+
+        if (trim($resultModel->last_score) == trim($resultModel->guest_team)) {
+            return ['result' => 1, 'matchResult' => ''];
+        } else {
+            return ['result' => -1, 'matchResult' => ''];
         }
-        return ['result' => 2, 'matchResult' => ''];
+
     }
 
     //没有进球
@@ -644,11 +607,12 @@ class ZqRule
      */
     public function bodan($bet_match, $result_match, $result_match_r)
     {
-//        $bet_match = DB::table('money_buy_match')->where('match_id', 3150765)->first();
-//        $result_match = DB::table('st_zq_result')->where('match_id', 3150765)->first();
+//        $bet_match = DB::table('money_buy_match')->where(['match_id'=> 3219925,'p_code'=>'bodan'])->first();
+//        $result_match = DB::table('st_zq_result')->where('match_id', 3224833)->limit(10)->get();
+//        select * from  st_zq_result where id=1317823 order by id desc limit 10 ;
 //        $result_match_r = DB::table('st_zq_result_record')->where('match_id', 3150765)->get()->toArray();
-
         //获取父/子级赔率代码
+
         $p_code = $bet_match->p_code;
         $odds_code = $bet_match->odds_code;
 
@@ -658,12 +622,13 @@ class ZqRule
         $bet_guest_score = (int)$bet_score[1];
         if ($p_code != 'bodan') return false;
 
+        //获取赛事最终结果数据
+        $result_match = $this->getHalfData($result_match);
         if (strstr($odds_code, "half")) {//上半场
-            //获取上半场最终数据
-            $last_half_data = $this->getHalfData($result_match_r);
+
             //获取主客队上半场得分
-            $home_score = $last_half_data->home_score;
-            $guest_score = $last_half_data->guest_score;
+            $home_score = $result_match->u_home_score;
+            $guest_score = $result_match->u_guest_score;
             //返回结果
             $data = [
                 'result' => 1,
@@ -705,8 +670,9 @@ class ZqRule
     }
 
     //结果单/双 home_score 主队进球数 guest_score 客队进球数 home_rate 主队让球 guest_rate 客队让球 u_home_score 上半场主队进球 u_guest_score 上半场-客队进球数  two_sides_single 全场单 two_sides_double 全场双 half_two_sides_single 上半场单 half_two_sides_double 上半场双
-    public function two_sides($model, $resultModel, $resultRecords)
+    public function two_sides($model, $resultModels, $resultRecords)
     {
+        $resultModel = $resultModels['0'];
         $resulttod = intval($resultModel->home_score) + intval($resultModel->guest_score);//全场
 
         if ($resulttod % 2 == 0) {
@@ -715,93 +681,83 @@ class ZqRule
             $text = '单';
         }
 
-        if ($model->odds_code == "two_sides_single") {
-            if ($text == $model->condition) {
-                $dsresult = 1;
-            } else {
-                $dsresult = -1;
-            }
-        } elseif ($model->odds_code == 'two_sides_double') {
+        if ($model->odds_code == "two_sides_single" || $model->odds_code == 'two_sides_double') {
             if ($text == $model->condition) {
                 $dsresult = 1;
             } else {
                 $dsresult = -1;
             }
+            return ['result' => $dsresult, 'matchResult' => "$resulttod(全场)"];
+        } elseif ($model->odds_code == 'half_two_sides_single' || $model->odds_code == 'half_two_sides_double') {
+            $hafs = intval($resultModel->u_home_score) + intval($resultModel->u_guest_score);
+            $text = ($hafs % 2 == 0) ? '双' : '单';
+            $dsresult = ($text == $model->condition) ? 1 : -1;
+            return ['result' => $dsresult, 'matchResult' => "$hafs(全场)"];
         } else {
             $data = [
                 'result' => 100,
                 'matchResult' => "参数不存在",
             ];
+            return $data;
         }
 
-        if ($dsresult == 1) {
-            $data = [
-                'result' => 1,
-                'matchResult' => "$resulttod(全场)",
-            ];
-        } else {
-            $data = [
-                'result' => -1,
-                'matchResult' => "$resulttod(全场)",
-            ];
-        }
-        return $data;
-
     }
 
 
     //结果总数 home_score 主队进球数 guest_score 客队进球数 home_rate 主队让球 guest_rate 客队让球 u_home_score 上半场-主队进球数 u_guest_score 上半场-客队进球数
-    public function total_goal($model, $resultModel, $resultRecords)
+    public function total_goal($model, $resultModels, $resultRecords)
     {
+        $resultModel = $resultModels['0'];
         //全场总进球数
         $resulttod = intval($resultModel->home_score) + intval($resultModel->guest_score);
         //上半场总进球数
         $Firsthalftod = intval($resultModel->u_home_score) + intval($resultModel->u_guest_score);
-
+        $results =0;
+        $resultb =0;
         $qjnum = explode('-', $model->condition);
-        if ($model->odds_code = "total_goal_four") {
+        if ($model->odds_code == "total_goal_four") {
             if ($qjnum[0] <= $resulttod and $qjnum[1] >= $resulttod) {
                 $results = 1;
             } else {
                 $results = -1;
             }
-        } elseif ($model->odds_code = "total_goal_zero") {
+        } elseif ($model->odds_code == "total_goal_zero") {
             if ($qjnum[0] <= $resulttod and $qjnum[1] >= $resulttod) {
                 $results = 1;
             } else {
                 $results = -1;
             }
-        } elseif ($model->odds_code = "total_goal_two") {
+        } elseif ($model->odds_code == "total_goal_two") {
             if ($qjnum[0] <= $resulttod and $qjnum[1] >= $resulttod) {
                 $results = 1;
             } else {
                 $results = -1;
             }
-        } elseif ($model->odds_code = "total_goal_seven") {
+        } elseif ($model->odds_code == "total_goal_seven") {
             if ($qjnum[0] <= $resulttod and $qjnum[1] >= $resulttod) {
                 $results = 1;
             } else {
                 $results = -1;
             }
-        } elseif ($model->odds_code = "half_total_goal_zero") {
+        } elseif ($model->odds_code == "half_total_goal_zero") {
             if ($qjnum[0] <= $Firsthalftod and $qjnum[1] >= $Firsthalftod) {
                 $resultb = 1;
             } else {
                 $resultb = -1;
             }
-        } elseif ($model->odds_code = "half_total_goal_one") {
+        } elseif ($model->odds_code == "half_total_goal_one") {
             if ($qjnum[0] <= $Firsthalftod and $qjnum[1] >= $Firsthalftod) {
                 $resultb = 1;
             } else {
                 $resultb = -1;
             }
-        } elseif ($model->odds_code = "half_total_goal_two") {
+        } elseif ($model->odds_code == "half_total_goal_two") {
             if ($qjnum[0] <= $Firsthalftod and $qjnum[1] >= $Firsthalftod) {
                 $resultb = 1;
             } else {
                 $resultb = -1;
             }
-        } elseif ($model->odds_code = "half_total_goal_three") {
+        } elseif ($model->odds_code == "half_total_goal_three") {
             if ($qjnum[0] <= $Firsthalftod and $qjnum[1] >= $Firsthalftod) {
                 $resultb = 1;
             } else {
@@ -814,30 +770,173 @@ class ZqRule
             ];
         }
 
-        if ($results == 1) {
-            $data = [
-                'result' => 1,
-                'matchResult' => "$resulttod(全场)",
-            ];
-        } elseif ($results == -1) {
-            $data = [
-                'result' => -1,
-                'matchResult' => "$resulttod(全场)",
-            ];
-        } elseif ($resultb == 1) {
-            $data = [
-                'result' => 1,
-                'matchResult' => "$resulttod(半场)",
-            ];
-        } elseif ($resultb == -1) {
-            $data = [
-                'result' => -1,
-                'matchResult' => "$resulttod(半场)",
-            ];
-        }
+     
+            if ($results == 1) {
+                $data = [
+                    'result' => 1,
+                    'matchResult' => "$resulttod(全场)",
+                ];
+            } 
+            if($results == -1) {
+                $data = [
+                    'result' => -1,
+                    'matchResult' => "$resulttod(全场)",
+                ];
+            } 
+
+            if ($resultb == 1) {
+                $data = [
+                    'result' => 1,
+                    'matchResult' => "$resulttod(半场)",
+                ];
+            } 
+            if($resultb == -1)  {
+                $data = [
+                    'result' => -1,
+                    'matchResult' => "$resulttod(半场)",
+                ];
+            }
+   
         return $data;
     }
 
+
+    //球队进球数:大/小
+    //condition   0.5    或   0.5/1  这种
+    public function tema_ball($model, $resultModels, $result_match_r = [])
+    {
+        $resultModel = $resultModels['0'];
+        $returnDatas = ['result' => -1, 'matchResult' => '(异常)'];
+        $condArr = explode("/", $model->condition);
+        $smin = trim($condArr['0']);
+        $smax = (count($condArr) == 1) ? 0 : trim($condArr['1']);
+        if (count($condArr) == 2) {
+            ($smin > $smax) ? $this->exchage($smin, $smax) : '';
+        }
+        $odds_code = $model->odds_code;
+        $score_home = intval($resultModel->home_score);
+        $score_guest = intval($resultModel->guest_score);
+        $score_home_uhalf = intval($resultModel->u_home_score);
+        $score_guest_uhalf = intval($resultModel->u_guest_score);
+
+        switch ($odds_code) {
+            case 'home_tema_ball_big':
+                if (count($condArr) == 1) {
+                    if ($score_home > $condArr['0']) {
+                        $returnDatas['result'] = 1;
+                    }
+                } else {
+                    if ($score_home > $smax) {
+                        $returnDatas['result'] = 1;
+                    } elseif ($score_home >= $smin && $score_home <= $smax) {
+                        $returnDatas['result'] = 3;
+                    }
+                }
+                $returnDatas['matchResult'] = $score_home . '(全场)';
+                break;
+            case 'home_tema_ball_small':
+                if (count($condArr) == 1) {
+                    if ($score_home > $condArr['0']) {
+                        $returnDatas['result'] = 1;
+                    }
+                } else {
+                    if ($score_home < $smin) {
+                        $returnDatas['result'] = 1;
+                    } elseif ($score_home <= $smax && $score_home >= $smin) {
+                        $returnDatas['result'] = 3;
+                    }
+                }
+                $returnDatas['matchResult'] = $score_home . '(全场)';
+                break;
+            case 'guest_tema_ball_big':
+                if (count($condArr) == 1) {
+                    if ($score_guest > $condArr['0']) {
+                        $returnDatas['result'] = 1;
+                    }
+                } else {
+                    if ($score_guest > $smax) {
+                        $returnDatas['result'] = 1;
+                    } elseif ($score_guest >= $smin && $score_guest <= $smax) {
+                        $returnDatas['result'] = 3;
+                    }
+                }
+                $returnDatas['matchResult'] = $score_guest . '(全场)';
+                break;
+            case 'guest_tema_ball_small':
+                if (count($condArr) == 1) {
+                    if ($score_guest > $condArr['0']) {
+                        $returnDatas['result'] = 1;
+                    }
+                } else {
+                    if ($score_guest < $smin) {
+                        $returnDatas['result'] = 1;
+                    } elseif ($score_guest >= $smin && $score_guest <= $smax) {
+                        $returnDatas['result'] = 3;
+                    }
+                }
+                $returnDatas['matchResult'] = $score_guest . '(全场)';
+                break;
+            case 'half_home_tema_ball_big':
+                if (count($condArr) == 1) {
+                    if ($score_home_uhalf > $condArr['0']) {
+                        $returnDatas['result'] = 1;
+                    }
+                } else {
+                    if ($score_home_uhalf > $smax) {
+                        $returnDatas['result'] = 1;
+                    } elseif ($score_home_uhalf >= $smin && $score_home_uhalf <= $smax) {
+                        $returnDatas['result'] = 3;
+                    }
+                }
+                $returnDatas['matchResult'] = $score_home_uhalf . '(上全场)';
+                break;
+            case 'half_home_tema_ball_small':
+                if (count($condArr) == 1) {
+                    if ($score_home_uhalf > $condArr['0']) {
+                        $returnDatas['result'] = 1;
+                    }
+                } else {
+                    if ($score_home_uhalf < $smin) {
+                        $returnDatas['result'] = 1;
+                    } elseif ($score_home_uhalf >= $smin && $score_home_uhalf <= $smax) {
+                        $returnDatas['result'] = 3;
+                    }
+                }
+                $returnDatas['matchResult'] = $score_home_uhalf . '(上全场)';
+                break;
+            case 'half_guest_tema_ball_big':
+                if (count($condArr) == 1) {
+                    if ($score_guest_uhalf > $condArr['0']) {
+                        $returnDatas['result'] = 1;
+                    }
+                } else {
+                    if ($score_guest_uhalf > $smax) {
+                        $returnDatas['result'] = 1;
+                    } elseif ($score_guest_uhalf >= $smin && $score_guest_uhalf <= $smax) {
+                        $returnDatas['result'] = 3;
+                    }
+                }
+                $returnDatas['matchResult'] = $score_guest_uhalf . '(上全场)';
+                break;
+            case 'half_guest_tema_ball_small':
+                if (count($condArr) == 1) {
+                    if ($score_guest_uhalf > $condArr['0']) {
+                        $returnDatas['result'] = 1;
+                    }
+                } else {
+                    if ($score_guest_uhalf < $smin) {
+                        $returnDatas['result'] = 1;
+                    } elseif ($score_guest_uhalf >= $smin && $score_guest_uhalf <= $smax) {
+                        $returnDatas['result'] = 3;
+                    }
+                }
+                $returnDatas['matchResult'] = $score_guest_uhalf . '(上全场)';
+                break;
+        }
+        return $returnDatas;
+    }
+
+
     /**
      * 半场/全场 投注规则
      */
@@ -846,17 +945,17 @@ class ZqRule
 //        $bet_match = DB::table('money_buy_match')->where('match_id', 3210851)->first();
 //        $result_match = DB::table('st_zq_result')->where('match_id', 3210851)->first();
 //        $result_match_r = DB::table('st_zq_result_record')->where('match_id', 3210851)->get()->toArray();
-        if (empty($bet_match) || empty($result_match) || empty($result_match_r)) return false;
+        if (empty($bet_match) || empty($result_match)) return false;
 
         //获取父/子级赔率代码
         $p_code = $bet_match->p_code;
         $odds_code = $bet_match->odds_code;
 
-        //获取上半场最终数据
-        $last_half_data = $this->getHalfData($result_match_r);
+        //获取最终赛事数据
+        $result_match = $this->getHalfData($result_match);
         //获取主客队上半场得分
-        $half_home_score = $last_half_data->home_score;
-        $half_guest_score = $last_half_data->guest_score;
+        $half_home_score = $result_match->u_home_score;
+        $half_guest_score = $result_match->u_guest_score;
 
         //获取主客队全场得分
         $full_home_score = $result_match->home_score;
@@ -911,6 +1010,17 @@ class ZqRule
      */
     public function getHalfData($result_match_r = [])
     {
+        return $result_match_r['0'];
+
+        if (empty($result_match_r)) return false;
+        if (is_array($result_match_r)) {
+            foreach ($result_match_r as $k => $v) {
+                return $v;
+            }
+        }
+
+
+        /*
         if (empty($result_match_r)) return false;
         $half_data = [];
         foreach ($result_match_r as $k => $v) {
@@ -931,9 +1041,10 @@ class ZqRule
         }
 
         return $last_half_data;
+        */
     }
 
-    /**
+    /**bo
      * 冠军盘口投注
      * $bet_match 投注赛事数据
      * $result_match 联赛结果 数据 根据玩法代码查询一条
@@ -947,6 +1058,8 @@ class ZqRule
 
 //        $result_match = DB::table('st_zq_league_result')->where(['lg_id'=>27317,'game_name'=>$bet_match->odds_code])->first();
 
+        //获取 赛事最终数据
+        $result_match = $this->getHalfData($result_match);
         if (empty($bet_match) || empty($result_match)) return false;
         if ($bet_match->p_code != 'gj') return false;//冠军玩法
 
@@ -1063,4 +1176,44 @@ class ZqRule
         //返回整数
         return (int)$result;
     }
+
+
+    /**
+     * 角球相关--------->开始
+     */
+
+    public function corner_ball($model, $resultModels, $result_match_r)
+    {
+        $odde_code = $model->odde_code;
+        $isHalf = strpos($odde_code, 'half');
+        if ($isHalf) {
+            return corner_ball_half($model, $resultModels, $result_match_r);
+        } else {
+            return corner_ball_half($model, $resultModels, $result_match_r);
+        }
+    }
+
+    public function corner_ball_all($model, $resultModels, $result_match_r)
+    {
+        $resultModel = $resultModels['0'];
+        $returnDatas = ['result' => -1, 'matchResult' => ''];
+        $default = json_encode(['home' => 0, 'guest' => 0, 'home_half' => 0, 'guest_half' => 0]);
+
+        return $returnDatas;
+    }
+
+    public function corner_ball_half($model, $resultModels, $result_match_r)
+    {
+        $resultModel = $resultModels['0'];
+        $returnDatas = ['result' => -1, 'matchResult' => ''];
+        $default = json_encode(['home' => 0, 'guest' => 0, 'home_half' => 0, 'guest_half' => 0]);
+
+        return $returnDatas;
+    }
+
+    /**
+     * 角球相关--------->结束
+     */
+
+
 }

+ 3 - 1
app/Lib/Settlement/SettlementOrder.php

@@ -146,6 +146,7 @@ class SettlementOrder extends SettlementBase
         // 计算总回款
         $settlementBase = new \App\Lib\Settlement\SettlementBase;
         $returnMoney = 0;
+        $oddsResult = [];
         foreach ($matchData as $k => $v) {
             if ($v->result == -1) {
                 continue;
@@ -154,6 +155,7 @@ class SettlementOrder extends SettlementBase
             $oddsResult[0]['odds'] = $v->odds;
             $getReturnMoney = $settlementBase->stringOdds($oddsResult);
             $returnMoney += $getReturnMoney['returnMoney'] * $v->bet_money;
+
         }
         $returnMoney = sprintf("%.2f", substr(sprintf("%.3f", $returnMoney), 0, -1));
         // 判断盈亏  1 赢  2 输  3 平
@@ -203,7 +205,7 @@ class SettlementOrder extends SettlementBase
         $money_time = date('Y-m-d H:i:s', time());
         $trade_desc = $type == 1 ? '单式投注订单回款' : '串式投注订单回款';
         $reason = $type == 1 ? '单式投注订单回款' : '串式投注订单回款';
-         DB:: table('money_details')->insert([
+        DB:: table('money_details')->insert([
             'info_identity' => $info_identity,
             'trade_id' => $order_id,
             'account_name' => $accountInfo->account,

+ 2 - 2
app/Lib/Settlement/SettlementWinFail.php

@@ -64,8 +64,8 @@ class SettlementWinFail
             $allmatchs = DB::table('money_buy_match')->where(['game_code' => $ComendNoticModel->game_code, 'match_id' => $ComendNoticModel->match_id])->get();
             if (count($allmatchs) == 0) {
                 $this->writeStatusEndOk($ComendNoticModel);
-                DB::table("st_" . $ComendNoticModel->game_code . "_result")->where(['match_id' => $ComendNoticModel->match_id])->update(['status' => 3]);
-                DB::table("st_" . $ComendNoticModel->game_code . "_competition")->where(['match_id' => $ComendNoticModel->match_id])->update(['status' => 3]);
+                DB::table("st_" . $ComendNoticModel->game_code . "_result")->where(['match_id' => $ComendNoticModel->match_id])->update(['status' => 2]);
+                DB::table("st_" . $ComendNoticModel->game_code . "_competition")->where(['match_id' => $ComendNoticModel->match_id])->update(['status' => 2]);
                 DB::commit();
                 return $this->makeData(1, '本赛事无订单数据,退出');
             }

+ 12 - 4
app/Models/Stzqresult.php

@@ -6,7 +6,7 @@ class Stzqresult extends BaseModel
 {
 	protected $table = 'st_zq_result';
 	public $timestamps = false;
-    protected $fillable = ['lg_id','home_team','guest_team','home_rate','guest_rate','home_score','status','first_score','last_score','match_score','guest_score','match_winer','update_time','match_time','match_process','tag','u_home_score','u_guest_score','match_id','all_goal'];
+    protected $fillable = ['lg_id','home_team','guest_team','home_rate','guest_rate','home_score','status','first_score','last_score','match_score','guest_score','match_winer','update_time','match_time','match_process','tag','u_home_score','u_guest_score','match_id','all_goal','penalty_card','corner_ball'];
               
     function resultlist($list = 10, $page, $where = '',$orwhere = '')
     {
@@ -37,8 +37,16 @@ class Stzqresult extends BaseModel
     }
 
     
-
+    //计算总进球数
+    function totalgoal($match_id)
+    {
+        $data = $this->where('match_id',$match_id)->first();
+        $all_goal = $data['home_score']+$data['guest_score'];
+        $res = $this->where ('match_id', $match_id)->update (['all_goal'=>$all_goal]);
+        if (!$res) {
+            return -7010101202; //更新失败
+        }
+        return 1;//
+    }
 
 }
-
-?>

+ 12 - 2
resources/lang/zh-cn/sportsbk.php

@@ -33,8 +33,18 @@ return array(
 	'name_chinese' => '联赛',
 	'status' => '比赛状态',
 	'select_status' => '请选择比赛状态',
-	'dsnum' => '单式注单数',
-	'csnum' => '串式注单数',
+	'dsnum' => '单式单',
+	'csnum' => '串式单',
+	'sectionone_two' =>'第一/二节',
+	'sectiontwo' => '第二节',
+	'sectionthere_four' => '第三/四节',
+	'sectionfour' => '第四节',
+	'overtimeone' => '第一加时',
+	'overtimetwo' => '第二加时',
+	'overtimethere' => '第三加时',
+	'overtimefour' => '第四加时',
+	'firsthalf' => '上半场',
+	'fullcourt' => '全场', 
 	
 	
 );

+ 9 - 0
resources/lang/zh-cn/sportsfoot.php

@@ -34,10 +34,19 @@ return array(
 	'qxlgselect' => '请选择联赛',
 	'newtime' => '联赛',
 	'totime' => '时间',
+	'all_goal' => '总进球数',
 	'dsnum' => '单式注单数',
 	'csnum' => '串式注单数',
 	'sxalfcourt' => '上半场/全场比分',
 	'statusmatch' => '比赛状态',
+	'homeallcorner' => '主队全场角球',
+	'guestallcorner' => '客队全场角球',
+	'homehalfcorner' => '主队半场角球',
+	'guesthalfcorner' => '客队半场角球',
+	'homeallcard' => '主队全场罚牌',
+	'guestallcard' => '客队全场罚牌',
+	'homehalfcard' => '主队半场罚牌',
+	'guesthalfcard' => '客队半场罚牌',
 	
 	'name_chinese' => '中文名称',
     'name_english' => '英文全称',

+ 39 - 4
resources/views/admin/sportsbk/outcome.blade.php

@@ -1,6 +1,6 @@
 @extends('vip.layouts')
 @section('seo_title')
-    球赛事
+    球赛事
 @endsection
 @section('content')
     <style>
@@ -29,10 +29,26 @@
         <span>@{{ d.name_chinese}}</span>
       @{{#} }}
     </script>
+    
+    <script type="text/html" id="sectionone_two">
+      @{{#if(d.match_time!=null){ }}
+        <!-- <span>@{{ d.match_time}}</span> -->
+        <input type="text" style="width:30px;heigth:20px" id="u_home_score@{{d.id}}" name="u_home_score" value="@{{d.u_home_score}}" onchange="inputFunc(@{{d.id}}, event.target.value,@{{d.match_id}})"> 
+        <input type="text" style="width:30px;heigth:20px" id="u_guest_score@{{d.id}}" name="u_guest_score" value="@{{d.u_guest_score}}" onchange="inputTunc(@{{d.id}}, event.target.value,@{{d.match_id}})"> / 
+        <input type="text" style="width:30px;heigth:20px" id="home_score@{{d.id}}" name="home_score" value="@{{d.home_score}}" onchange="inputSunc(@{{d.id}}, event.target.value,@{{d.match_id}})">
+        <input type="text" style="width:30px;heigth:20px" id="guest_score@{{d.id}}" name="guest_score" value="@{{d.guest_score}}" onchange="inputAunc(@{{d.id}}, event.target.value,@{{d.match_id}})">
 
-    <script type="text/html" id="totime">
+      @{{#} }}
+    </script>
+
+    <script type="text/html" id="sectionthere_four">
       @{{#if(d.match_time!=null){ }}
-        <span>@{{ d.match_time}}</span>
+        <!-- <span>@{{ d.match_time}}</span> -->
+        <input type="text" style="width:30px;heigth:20px" id="u_home_score@{{d.id}}" name="u_home_score" value="@{{d.u_home_score}}" onchange="inputFunc(@{{d.id}}, event.target.value,@{{d.match_id}})"> 
+        <input type="text" style="width:30px;heigth:20px" id="u_guest_score@{{d.id}}" name="u_guest_score" value="@{{d.u_guest_score}}" onchange="inputTunc(@{{d.id}}, event.target.value,@{{d.match_id}})"> / 
+        <input type="text" style="width:30px;heigth:20px" id="home_score@{{d.id}}" name="home_score" value="@{{d.home_score}}" onchange="inputSunc(@{{d.id}}, event.target.value,@{{d.match_id}})">
+        <input type="text" style="width:30px;heigth:20px" id="guest_score@{{d.id}}" name="guest_score" value="@{{d.guest_score}}" onchange="inputAunc(@{{d.id}}, event.target.value,@{{d.match_id}})">
+
       @{{#} }}
     </script>
 
@@ -87,7 +103,7 @@
                     <div class="layui-inline">
                         <a class="layui-btn layui-btn-sm lay-btn-diy"   data-type="reload" eventType="event-query-submit" style="opacity: 1; pointer-events: auto;">提交</a>
                         <a  class="layui-btn   layui-btn-sm layui-btn-normal reset" data-type="reload" style="opacity: 1; pointer-events: auto;">重置</a>
-                        <a class="layui-btn layui-btn-sm layui-btn-green set" data-type="reload" style="opacity: 1; pointer-events: auto;"><i class="layui-icon">ဂ</i></a>
+                        <a class="layui-btn layui-btn-sm layui-btn-green set" data-type="reload" style="opacity: 1; pointer-events: auto;"><i class="layui-icon" onclick="refreshall('lq')">ဂ</i></a>
                         @if(checkRriv('/admin/sportsbk/addoutcome'))<a href="/admin/sportsbk/addoutcome" class="layui-btn layui-btn-sm ">添加</a>@endif
                         @if(checkRriv('/admin/sportsbk/deleteoutcome'))<a href="javascript:delWin('/admin/sportsbk/deleteoutcome?id=');" class="layui-btn layui-btn-sm  layui-btn-danger">删除</a>@endif
                     </div>
@@ -111,6 +127,25 @@
             	}
             })
         })
+
+        //刷新赛事数据
+        function refreshall(game_code){ 
+            var game_code = game_code;
+            $.ajax({
+                type: 'POST',
+                dataType: 'json',
+                url: '/setSports',
+                data: {game_code:game_code},
+                success: function(data) {
+                    alert(data);
+                    if(data.status==1){
+                        layer.msg(data.msg);
+                        location. reload()//刷新当前页面
+                    }
+                }
+            })
+        }
+
 	</script>
 @push('dataTableJS')
 /*var active = {

+ 56 - 7
resources/views/admin/sportsfoot/addoutcome.blade.php

@@ -9,16 +9,18 @@
                 <input type="text" name="home_team"   id="home_team"  required  lay-verify="" placeholder="" autocomplete="off" value="@isset($home_team) {{ $sportsfoot['home_team'] }} @endisset" class="layui-input">
                 </div>
             </div>
-			     <div class="layui-form-item">
+            <p style="color:red;">主队名称此项必填</p>
+			<div class="layui-form-item">
                 <label class="layui-form-label">{{ trans('sportsfoot.guest_team') }}:</label>
                 <div class="layui-input-block">
                 <input type="text" name="guest_team"   id="guest_team"  required  lay-verify="" placeholder="" autocomplete="off" value="@isset($sportsfoot) {{ $sportsfoot['guest_team'] }} @endisset" class="layui-input">
                 </div>
             </div>
-			     <div class="layui-form-item">
+            <p style="color:red;">客队名称此项必填</p>
+			<div class="layui-form-item">
                 <label class="layui-form-label">{{ trans('sportsfoot.home_rate') }}:</label>
                 <div class="layui-input-block">
-                <textarea  name="home_rate"   id="home_rate"    lay-verify="" placeholder="" autocomplete="off" class="layui-input" >@isset($sportsfoot) {{ $sportsfoot['home_rate'] }} @endisset </textarea>
+                <textarea  name="home_rate"   id="home_rate"    lay-verify="" autocomplete="off" class="layui-input" >@isset($sportsfoot) {{ $sportsfoot['home_rate'] }} @endisset </textarea>
                 </div>
             </div>
             <div class="layui-form-item">
@@ -42,13 +44,13 @@
             <div class="layui-form-item">
                 <label class="layui-form-label">{{ trans('sportsfoot.first_score') }}:</label>
                 <div class="layui-input-block">
-                <textarea  name="first_score"   id="first_score"    lay-verify="" placeholder="" autocomplete="off" class="layui-input" >@isset($sportsfoot) {{ $sportsfoot['first_score'] }} @endisset </textarea>
+                <textarea  name="first_score"   id="first_score"    lay-verify="" autocomplete="off" class="layui-input" >@isset($sportsfoot) {{ $sportsfoot['first_score'] }} @endisset </textarea>
                 </div>
             </div>
             <div class="layui-form-item">
                 <label class="layui-form-label">{{ trans('sportsfoot.last_score') }}:</label>
                 <div class="layui-input-block">
-                <textarea  name="last_score"   id="last_score"    lay-verify="" placeholder="" autocomplete="off" class="layui-input" >@isset($sportsfoot) {{ $sportsfoot['last_score'] }} @endisset </textarea>
+                <textarea  name="last_score"   id="last_score"    lay-verify="" autocomplete="off" class="layui-input" >@isset($sportsfoot) {{ $sportsfoot['last_score'] }} @endisset </textarea>
                 </div>
             </div>
             <div class="layui-form-item">
@@ -61,7 +63,7 @@
             <div class="layui-form-item">
                 <label class="layui-form-label">{{ trans('sportsfoot.match_winer') }}:</label>
                 <div class="layui-input-block">
-                <textarea  name="match_winer"   id="match_winer"    lay-verify="" placeholder="" autocomplete="off" class="layui-input" >@isset($sportsfoot) {{ $sportsfoot['match_winer'] }} @endisset </textarea>
+                <textarea  name="match_winer"   id="match_winer"    lay-verify="" autocomplete="off" class="layui-input" >@isset($sportsfoot) {{ $sportsfoot['match_winer'] }} @endisset </textarea>
                 </div>
             </div>
             <div class="layui-form-item">
@@ -73,7 +75,7 @@
             <div class="layui-form-item">
                 <label class="layui-form-label">{{ trans('sportsfoot.tag') }}:</label>
                 <div class="layui-input-block">
-                <textarea  name="tag"   id="tag"    lay-verify="" placeholder="" autocomplete="off" class="layui-input" >@isset($sportsfoot) {{ $sportsfoot['tag'] }} @endisset </textarea>
+                <textarea  name="tag"   id="tag"    lay-verify="" autocomplete="off" class="layui-input" >@isset($sportsfoot) {{ $sportsfoot['tag'] }} @endisset </textarea>
                 </div>
             </div>
 			<div class="layui-form-item">
@@ -88,6 +90,53 @@
                 <textarea  name="u_guest_score"   id="u_guest_score"    lay-verify="" placeholder="" autocomplete="off" class="layui-input" >@isset($sportsfoot) {{ $sportsfoot['u_guest_score'] }} @endisset </textarea>
                 </div>
             </div>
+            <div class="layui-form-item">
+                <label class="layui-form-label">{{ trans('sportsfoot.homeallcorner') }}:</label>
+                <div class="layui-input-block">
+                <textarea  name="homeallcorner"   id="homeallcorner"    lay-verify="" placeholder="" autocomplete="off" class="layui-input" >@isset($sportsfoot) {{ $sportsfoot['u_guest_score'] }} @endisset </textarea>
+                </div>
+            </div>
+            <div class="layui-form-item">
+                <label class="layui-form-label">{{ trans('sportsfoot.guestallcorner') }}:</label>
+                <div class="layui-input-block">
+                <textarea  name="guestallcorner"   id="guestallcorner"    lay-verify="" placeholder="" autocomplete="off" class="layui-input" >@isset($sportsfoot) {{ $sportsfoot['u_guest_score'] }} @endisset </textarea>
+                </div>
+            </div>
+            <div class="layui-form-item">
+                <label class="layui-form-label">{{ trans('sportsfoot.homehalfcorner') }}:</label>
+                <div class="layui-input-block">
+                <textarea  name="homehalfcorner"   id="homehalfcorner"    lay-verify="" placeholder="" autocomplete="off" class="layui-input" >@isset($sportsfoot) {{ $sportsfoot['u_guest_score'] }} @endisset </textarea>
+                </div>
+            </div>
+            <div class="layui-form-item">
+                <label class="layui-form-label">{{ trans('sportsfoot.guesthalfcorner') }}:</label>
+                <div class="layui-input-block">
+                <textarea  name="guesthalfcorner"   id="guesthalfcorner"    lay-verify="" placeholder="" autocomplete="off" class="layui-input" >@isset($sportsfoot) {{ $sportsfoot['u_guest_score'] }} @endisset </textarea>
+                </div>
+            </div>
+            <div class="layui-form-item">
+                <label class="layui-form-label">{{ trans('sportsfoot.homeallcard') }}:</label>
+                <div class="layui-input-block">
+                <textarea  name="homeallcard"   id="homeallcard"    lay-verify="" placeholder="" autocomplete="off" class="layui-input" >@isset($sportsfoot) {{ $sportsfoot['u_guest_score'] }} @endisset </textarea>
+                </div>
+            </div>
+            <div class="layui-form-item">
+                <label class="layui-form-label">{{ trans('sportsfoot.guestallcard') }}:</label>
+                <div class="layui-input-block">
+                <textarea  name="guestallcard"   id="guestallcard"    lay-verify="" placeholder="" autocomplete="off" class="layui-input" >@isset($sportsfoot) {{ $sportsfoot['u_guest_score'] }} @endisset </textarea>
+                </div>
+            </div>
+            <div class="layui-form-item">
+                <label class="layui-form-label">{{ trans('sportsfoot.homehalfcard') }}:</label>
+                <div class="layui-input-block">
+                <textarea  name="homehalfcard"   id="homehalfcard"    lay-verify="" placeholder="" autocomplete="off" class="layui-input" >@isset($sportsfoot) {{ $sportsfoot['u_guest_score'] }} @endisset </textarea>
+                </div>
+            </div><div class="layui-form-item">
+                <label class="layui-form-label">{{ trans('sportsfoot.guesthalfcard') }}:</label>
+                <div class="layui-input-block">
+                <textarea  name="guesthalfcard"   id="guesthalfcard"    lay-verify="" placeholder="" autocomplete="off" class="layui-input" >@isset($sportsfoot) {{ $sportsfoot['u_guest_score'] }} @endisset </textarea>
+                </div>
+            </div>
             <div class="layui-form-item layui-form">
                 <label class="layui-form-label">{{ trans('sportsfoot.lgid') }}:</label>
                     <div class="layui-input-block">

+ 10 - 5
resources/views/admin/sportsfoot/outcome.blade.php

@@ -42,11 +42,13 @@
     </script>
 
     <script type="text/html" id="status">
-        @{{#if(d.status==1 || d.status==2){ }}
-            <span><li class="layui-btn layui-btn-sm layui-btn-green set" onclick="settlement(@{{d.match_id}},1)">结算</li></span>
-        @{{#} }}
-        @{{#if(d.status==3){ }}
-            <span><li class="layui-btn   layui-btn-sm layui-btn-normal reset" onclick="settlement(@{{d.match_id}},2)">再结算</li></span>
+        @{{#if(d.status==2 || d.status==3){ }}
+            @{{#if(d.status==2){ }}
+                <span><li class="layui-btn layui-btn-sm layui-btn-green set" onclick="settlement(@{{d.match_id}},1)">结算</li></span>
+            @{{#} }}
+            @{{#if(d.status==3){ }}
+                <span><li class="layui-btn   layui-btn-sm layui-btn-normal reset" onclick="settlement(@{{d.match_id}},2)">再结算</li></span>
+            @{{#} }}
         @{{#} }}
         @{{#if(d.status!=4 && d.status!=3){ }}
         <span><li class="layui-btn layui-btn-sm  layui-btn-danger" onclick="revoke(@{{d.match_id}})">作废</li></span>
@@ -335,6 +337,9 @@
                     if(data.status==1){
                         layer.msg(data.msg);
                         location. reload()//刷新当前页面
+                    }else{
+                        layer.msg(data.msg);
+                        location. reload()//刷新当前页面
                     }
                 }
             })