彭俊 преди 6 години
родител
ревизия
5aa00005c6
променени са 5 файла, в които са добавени 443 реда и са изтрити 28 реда
  1. 188 14
      app/Http/Controllers/Admin/SportsfootController.php
  2. 158 3
      app/Lib/Biz/Sport/Common.php
  3. 3 3
      app/Models/MoneyBuyMatch.php
  4. 82 8
      resources/views/admin/sportsfoot/outcome.blade.php
  5. 12 0
      sql.sql

+ 188 - 14
app/Http/Controllers/Admin/SportsfootController.php

@@ -15,13 +15,116 @@ use App\Lib\Biz\Sport\Common as commonFunction;
  */
 class SportsfootController extends Controller {
 
+	function Settlement1(Req $req){
+		$match_id = $req->match_id;
+		$type = $req->type;
+		$process = $req->process;
+		if(empty($process)){
+			$process = array();
+		}
+
+		$token = session('adminInfo.token');
+		$notice = \App\Models\Comendnotice::where('match_id', $match_id)->first();
+		
+		if(!$notice){
+			return json_encode(['status'=>5,'msg'=>'请先核对结果,并提交结果']);
+		}
+		$noticeid = $notice['id'];
+		//查询赛事单式是否有订单(足球)
+		$newapp = new \App\Models\MoneyBuyMatch();
+		$simplex = $newapp->simsettleorder($match_id,'zq');
+		$str = $newapp->strsettleorder($match_id);
+
+		//获取赛事结算进程下的注单
+		$simplex = commonFunction::getOrderData($data = [],$simplex,$type,$process);
+		$str = commonFunction::getOrderData($data = [],$str,$type,$process);
+
+		//获取注单id组成一维数组
+		$simplex_ids = array_column($simplex['settle'],'order_id');
+		$str_ids = array_column($str['settle'],'order_id');
+
+		//去重
+		$simplex_ids = array_unique($simplex_ids);
+		$str_ids = array_unique($str_ids);
+//		print_r($simplex_ids);exit;
+
+		//判断赛事下注单输赢
+		$datas = array('noticeid' => $noticeid , 'token' => $token);
+		$settlementAuto = new \App\Lib\Settlement\SettlementAuto();
+		$winfail = $settlementAuto->SubmitSettelement('w',$datas);
+		if($winfail == false){
+			return json_encode(['status'=>2,'msg'=>'判断输赢错误,请联系管理员!!!']);//输赢错误
+		}
+		$sim = array(
+			'token'=>$token,
+			'order_ids'=>'', //订单id字符串,用半角都好分隔
+			'bettype'=>1, //结算类型  1单式  2串式
+			'settype'=>2, //结算次数  1首次  2非首次
+			'game_code'=>$type, //赛事类型  zq lq wq bq
+			'match_id'=>$match_id,  // 赛事ID
+			'change_status'=>1  //是否改状态
+		);
+		$str = array(
+			'token'=>$token,
+			'order_ids'=>'', //订单id字符串,用半角都好分隔
+			'bettype'=>2, //结算类型  1单式  2串式
+			'settype'=>2, //结算次数  1首次  2非首次
+			'game_code'=>$type, //赛事类型  zq lq wq bq
+			'match_id'=>$match_id,  // 赛事ID
+			'change_status'=>1  //是否改状态
+		);
+		if(count($simplex_ids)>0 || count($str_ids)>0){
+			//单式结算
+			if(count($simplex_ids)>0 && count($str_ids)==0){
+				$sim['order_ids'] = implode(',',$simplex_ids);
+				$settlesim = $settlementAuto->SubmitSettelement('s',$sim);
+				if($settlesim == false){
+					return json_encode(['status'=>3,'msg'=>'单式注单结算有误,请联系管理员!!!']);
+				}else{
+					return json_encode(['status'=>1,'msg'=>'单式结算成功,没有串式订单']);
+				}
+			}
+			//串式结算
+			elseif(count($str_ids)>0 && count($simplex_ids)==0){
+				$str['order_ids'] = implode(',',$str_ids);
+				$settlestr = $settlementAuto->SubmitSettelement('s',$str);
+				if($settlestr == false){
+					return json_encode(['status'=>3,'msg'=>'串式注单结算有误,请联系管理员!!!']);
+				}else{
+					return json_encode(['status'=>1,'msg'=>'串式结算成功,没有单式订单']);
+				}
+			}
+			//既有单式也有串式
+			elseif(count($str_ids)>0 && count($simplex_ids)>0){
+				$sim['order_ids'] = implode(',',$simplex_ids);
+				$str['order_ids'] = implode(',',$str_ids);
+				$settlesim = $settlementAuto->SubmitSettelement('s',$sim);
+				$settlestr = $settlementAuto->SubmitSettelement('s',$str);
+				if($settlesim == true || $settlestr == true){
+					return json_encode(['status'=>1,'msg'=>'结算成功']);
+				}else{
+					return json_encode(['status'=>3,'msg'=>'结算有误,请联系管理员!!!']);
+				}
+			}
+		}else{
+			$log = array(
+				session('adminInfo.admin_name'),
+			);
+			OperationLog(session('adminInfo.admin_id'), '足球结算', $log);
+			$res = \App\Models\Stzqresult::where ('match_id', $match_id)->update(['status' =>3]);
+			$res = \App\Models\SportsSoccer::where ('id', $match_id)->update(['status' =>3]);
+            return json_encode(['status'=>4,'msg'=>'该赛事没有任何订单,将会结束该赛事!!!']);
+		}
+		
+	}
+
 	function Settlement(Req $req){
 		$jsurl = config('sconstant.url');//结算请求域名地址
 		$match_id = $req->match_id;
 		$type = $req->type;
 		$token = session('adminInfo.token');
 		$notice = \App\Models\Comendnotice::where('match_id', $match_id)->first();
-		
+
 		if(!$notice){
 			return json_encode(['status'=>5,'msg'=>'请先核对结果,并提交结果']);
 		}
@@ -100,9 +203,9 @@ class SportsfootController extends Controller {
 			OperationLog(session('adminInfo.admin_id'), '足球结算', $log);
 			$res = \App\Models\Stzqresult::where ('match_id', $match_id)->update(['status' =>3]);
 			$res = \App\Models\SportsSoccer::where ('id', $match_id)->update(['status' =>3]);
-            return json_encode(['status'=>4,'msg'=>'该赛事没有任何订单,将会结束该赛事!!!']);
+			return json_encode(['status'=>4,'msg'=>'该赛事没有任何订单,将会结束该赛事!!!']);
 		}
-		
+
 	}
 
 	//添加危险球列表
@@ -503,28 +606,88 @@ class SportsfootController extends Controller {
 		$match_status = $match['status'];
 
 		$data = array(
+			//上半场角球
+			"half_corner" => array(
+				'home' => intval($req->homehalfcorner)?intval($req->homehalfcorner):'',
+				'guest' => intval($req->guesthalfcorner)?intval($req->guesthalfcorner):'',
+			),
+			//全场角球
+			"all_corner" => array(
+				'home' => intval($req->homeallcorner)?intval($req->homeallcorner):'',
+				'guest' => intval($req->guestallcorner)?intval($req->guestallcorner):'',
+			),
+			//上半场罚牌
+			"half_penalty" => array(
+				'home' => intval($req->homehalfcard)?intval($req->homehalfcard):'',
+				'guest' => intval($req->guesthalfcard)?intval($req->guesthalfcard):'',
+			),
+			//全场罚牌
+			"all_penalty" => array(
+				'home' => intval($req->homeallcard)?intval($req->homeallcard):'',
+				'guest' => intval($req->guestallcard)?intval($req->guestallcard):'',
+			),
+			//首进球时间
+			"first_score" => array(
+				'time' => intval($req->onescoretime)?intval($req->onescoretime):'',
+			),
+
+			//上半场比分
 			"half" => array(
-				'home' => intval($req->homehalf)?intval($req->homehalf):0,
-				'guest' => intval($req->guesthalf)?intval($req->guesthalf):0,
+				'home' => intval($req->homehalf)?intval($req->homehalf):'',
+				'guest' => intval($req->guesthalf)?intval($req->guesthalf):'',
 			),
+			//全场比分
 			"all" => array(
-				'home' => intval($req->homeall)?intval($req->homeall):0,
-				'guest' => intval($req->guestall)?intval($req->guestall):0,
+				'home' => intval($req->homeall)?intval($req->homeall):'',
+				'guest' => intval($req->guestall)?intval($req->guestall):'',
 			),
 		);
-		foreach($data as $key){
-			$array[] = $key['home'];
-			$array[] = $key['guest'];
-		}
+//		foreach($data as $key){
+//			$array[] = $key['home'];
+//			$array[] = $key['guest'];
+//		}
 
 		//修改足球比分前的比分数据
 		$res = \App\Models\Stzqresult::where('match_id', $match_id)->first();
-		//$scores = json_decode($res['penalty_card'],true);
+		$scores = json_decode($res['manual_result'],true);
 		$process = array();//进程
-		if($res['home_score'] != $data['all']['home'] || $res['guest_score'] != $data['all']['guest']){
+		//主队上半场角球
+		if($scores['half_corner']['home'] != $data['half_corner']['home']){
+			$process[] = 'half_corner_home';
+		}
+		//客队上半场角球
+		if($scores['half_corner']['guest'] != $data['half_corner']['guest']){
+			$process[] = 'half_corner_guest';
+		}
+		//主队全场角球
+		if($scores['all_corner']['home'] != $data['all_corner']['home']){
+			$process[] = 'all_corner_home';
+		}
+		//客队全场角球
+		if($scores['all_corner']['guest'] != $data['all_corner']['guest']){
+			$process[] = 'all_corner_guest';
+		}
+		//主队上半场罚牌
+		if($scores['half_penalty']['home'] != $data['half_penalty']['home']){
+			$process[] = 'half_penalty_home';
+		}
+		//客队上半场罚牌
+		if($scores['half_penalty']['guest'] != $data['half_penalty']['guest']){
+			$process[] = 'half_penalty_guest';
+		}
+		//主队全场罚牌
+		if($scores['all_penalty']['home'] != $data['all_penalty']['home']){
+			$process[] = 'all_penalty_home';
+		}
+		//客队全场罚牌
+		if($scores['all_penalty']['guest'] != $data['all_penalty']['guest']){
+			$process[] = 'all_penalty_guest';
+		}
+
+		if($scores['all']['home'] != $data['all']['home'] || $scores['all']['guest'] != $data['all']['guest']){
 			$process[] = 'all';
 		}
-		if($res['u_home_score'] != $data['half']['home'] || $res['u_guest_score'] != $data['half']['guest']){
+		if($scores['half']['home'] != $data['half']['home'] || $scores['half']['guest'] != $data['half']['guest']){
 			$process[] = 'half';
 		}
 		//print_r($process);exit;
@@ -561,6 +724,7 @@ class SportsfootController extends Controller {
 			$model->corner_ball = json_encode($cornerball,JSON_UNESCAPED_UNICODE);
 			$model->first_score = json_encode($firstone,JSON_UNESCAPED_UNICODE);
 			$model->is_correct = 1;
+			$model->manual_result = json_encode($data,JSON_UNESCAPED_UNICODE);
 			$model->save();
 
 			$update = $this->addcomendnotice($match_id);
@@ -617,6 +781,7 @@ class SportsfootController extends Controller {
 			'corner_ball' => json_decode($newapp['corner_ball'],true),
 			'penalty_card' => json_decode($newapp['penalty_card'],true),
 			'first_score' => json_decode($newapp['first_score'],true),
+			'manual_result' => json_decode($newapp['manual_result'],true),
 			'newapp' => $newapp,
 		);
 		return $array;
@@ -1052,5 +1217,14 @@ class SportsfootController extends Controller {
 			$model->save();
 		}
 	}
+
+	//获取赛事进程数据
+	function getprocess(Req $req){
+		$type = $req->type;
+
+		$process = commonFunction::getprocess($type);
+		return json_encode($process);
+	}
+
 	
 }

+ 158 - 3
app/Lib/Biz/Sport/Common.php

@@ -1455,6 +1455,38 @@ class Common
 	public static function getOrderData($data,$match_order,$game_code,$process){
 		//===足球===
 		if($game_code == 'zq'){
+            //主队上半场角球(作废)
+            $matchOdds_hch = [];
+            //主队上半场角球(待结算)
+            $matchOdds_halfch = [];
+            //客队上半场角球(作废)
+            $matchOdds_hcg = [];
+            //客队上半场角球(待结算)
+            $matchOdds_halfcg = [];
+            //主队全场角球(作废)
+            $matchOdds_fch = [];
+            //主队全场角球(待结算)
+            $matchOdds_fallch = [];
+            //客队全场角球(作废)
+            $matchOdds_fcg = [];
+            //客队全场角球(待结算)
+            $matchOdds_fallcg = [];
+            //主队上半场罚牌(作废)
+            $matchOdds_hph = [];
+            //主队上半场罚牌(待结算)
+            $matchOdds_halfph = [];
+            //客队上半场罚牌(作废)
+            $matchOdds_hpg = [];
+            //客队上半场罚牌(待结算)
+            $matchOdds_halfpg = [];
+            //主队全场罚牌(作废)
+            $matchOdds_fph = [];
+            //主队全场罚牌(待结算)
+            $matchOdds_fallph = [];
+            //客队全场罚牌(作废)
+            $matchOdds_fpg = [];
+            //客队全场罚牌(待结算)
+            $matchOdds_fallpg = [];
             //上半场(作废)
             $matchOdds_h = [];
             //上半场(待结算)
@@ -1464,8 +1496,73 @@ class Common
             //全场(待结算)
             $matchOdds_fall = [];
             foreach($match_order as $k=>$v){
+                //主队上半场角球条件
+                if($data != [] and $data['half_corner']['home'] == -1){
+                    if($v->status == 1){
+                        $matchOdds_hch[] = self::getOrderJC('角球|上半场|主队',$v);
+                    }
+                }else{
+                    $matchOdds_halfch[] = self::getOrderJC('角球|上半场|主队',$v);
+                }
+                //客队上半场角球条件
+                if($data != [] and $data['half_corner']['guest'] == -1){
+                    if($v->status == 1){
+                        $matchOdds_hcg[] = self::getOrderJC('角球|上半场|客队',$v);
+                    }
+                }else{
+                    $matchOdds_halfcg[] = self::getOrderJC('角球|上半场|客队',$v);
+                }
+                //主队全场角球条件
+                if($data != [] and $data['all_corner']['home'] == -1){
+                    if($v->status == 1){
+                        $matchOdds_fch[] = self::getOrderJC('角球|全场|主队',$v);
+                    }
+                }else{
+                    $matchOdds_fallch[] = self::getOrderJC('角球|全场|主队',$v);
+                }
+                //客队全场角球条件
+                if($data != [] and $data['all_corner']['guest'] == -1){
+                    if($v->status == 1){
+                        $matchOdds_fcg[] = self::getOrderJC('角球|全场|客队',$v);
+                    }
+                }else{
+                    $matchOdds_fallcg[] = self::getOrderJC('角球|全场|客队',$v);
+                }
+                //主队上半场罚牌条件
+                if($data != [] and $data['half_penalty']['home'] == -1){
+                    if($v->status == 1){
+                        $matchOdds_hph[] = self::getOrderJC('罚牌数|上半场|主队',$v);
+                    }
+                }else{
+                    $matchOdds_halfph[] = self::getOrderJC('罚牌数|上半场|主队',$v);
+                }
+                //客队上半场罚牌条件
+                if($data != [] and $data['half_penalty']['guest'] == -1){
+                    if($v->status == 1){
+                        $matchOdds_hpg[] = self::getOrderJC('罚牌数|上半场|客队',$v);
+                    }
+                }else{
+                    $matchOdds_halfpg[] = self::getOrderJC('罚牌数|上半场|客队',$v);
+                }
+                //主队全场罚牌条件
+                if($data != [] and $data['all_penalty']['home'] == -1){
+                    if($v->status == 1){
+                        $matchOdds_fph[] = self::getOrderJC('罚牌数|全场|主队',$v);
+                    }
+                }else{
+                    $matchOdds_fallph[] = self::getOrderJC('罚牌数|全场|主队',$v);
+                }
+                //客队全场罚牌条件
+                if($data != [] and $data['all_penalty']['guest'] == -1){
+                    if($v->status == 1){
+                        $matchOdds_fpg[] = self::getOrderJC('罚牌数|全场|客队',$v);
+                    }
+                }else{
+                    $matchOdds_fallpg[] = self::getOrderJC('罚牌数|全场|客队',$v);
+                }
+
                 //上半场条件
-                if($data['half']['home'] == -1 and $data['half']['guest'] == -1){
+                if($data != [] and $data['half']['home'] == -1 and $data['half']['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_h[] = self::getOrderJC('上半场',$v);
                     }
@@ -1473,19 +1570,53 @@ class Common
                     $matchOdds_half[] = self::getOrderJC('上半场',$v);
                 }
                 //全场条件
-                if($data['all']['home'] == -1 and $data['all']['guest'] == -1){
+                if($data != [] and $data['all']['home'] == -1 and $data['all']['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_f[] = self::getOrderJC('全场',$v);
+                        $matchOdds_f[] = self::getOrderJC('净胜',$v);
                     }
                 }
                 else{
                     $matchOdds_fall[] = self::getOrderJC('全场',$v);
+                    $matchOdds_fall[] = self::getOrderJC('净胜',$v);
                 }
             }
 
             //合并待处理 注单
             $orderData['invalid'] = array();
             $orderData['settle'] = array();
+            if(in_array('half_corner_home',$process) || in_array('half_corner',$process)){
+                $orderData['invalid'] = array_merge($orderData['invalid'],$matchOdds_hch);
+                $orderData['settle'] = array_merge($orderData['settle'],$matchOdds_halfch);
+            }
+            if(in_array('half_corner_guest',$process) || in_array('half_corner',$process)){
+                $orderData['invalid'] = array_merge($orderData['invalid'],$matchOdds_hcg);
+                $orderData['settle'] = array_merge($orderData['settle'],$matchOdds_halfcg);
+            }
+            if(in_array('all_corner_home',$process) || in_array('all_corner',$process)){
+                $orderData['invalid'] = array_merge($orderData['invalid'],$matchOdds_fch);
+                $orderData['settle'] = array_merge($orderData['settle'],$matchOdds_fallch);
+            }
+            if(in_array('all_corner_guest',$process) || in_array('all_corner',$process)){
+                $orderData['invalid'] = array_merge($orderData['invalid'],$matchOdds_fcg);
+                $orderData['settle'] = array_merge($orderData['settle'],$matchOdds_fallcg);
+            }
+            if(in_array('half_penalty_home',$process) || in_array('half_penalty',$process)){
+                $orderData['invalid'] = array_merge($orderData['invalid'],$matchOdds_hph);
+                $orderData['settle'] = array_merge($orderData['settle'],$matchOdds_halfph);
+            }
+            if(in_array('half_penalty_guest',$process) || in_array('half_penalty',$process)){
+                $orderData['invalid'] = array_merge($orderData['invalid'],$matchOdds_hpg);
+                $orderData['settle'] = array_merge($orderData['settle'],$matchOdds_halfpg);
+            }
+            if(in_array('all_penalty_home',$process) || in_array('all_penalty',$process)){
+                $orderData['invalid'] = array_merge($orderData['invalid'],$matchOdds_fph);
+                $orderData['settle'] = array_merge($orderData['settle'],$matchOdds_fallph);
+            }
+            if(in_array('all_penalty_guest',$process) || in_array('all_penalty',$process)){
+                $orderData['invalid'] = array_merge($orderData['invalid'],$matchOdds_fpg);
+                $orderData['settle'] = array_merge($orderData['settle'],$matchOdds_fallpg);
+            }
             if(in_array('half',$process)){
                 $orderData['invalid'] = array_merge($orderData['invalid'],$matchOdds_h);
                 $orderData['settle'] = array_merge($orderData['settle'],$matchOdds_half);
@@ -1951,7 +2082,7 @@ class Common
      * $v arr 注单数据
      */
     public static function getOrderJC($str,$v){
-        $tmparray = explode($str,$v->odds_name);
+        $tmparray = explode($str,$v['odds_name']);
         if(count($tmparray) > 1){
             return  $v;
         }
@@ -1971,6 +2102,30 @@ class Common
         }
     }
 
+    //根据球类返回赛事进程数据
+    public static function getprocess($game_code = 'zq'){
+
+        $process = [];
+
+        if($game_code == 'zq'){
+            $process[] = ['process'=>'half','name'=>'结算上半场'];
+            $process[] = ['process'=>'all','name'=>'结算全场'];
+            $process[] = ['process'=>'half_corner','name'=>'结算上半场角球'];
+            $process[] = ['process'=>'all_corner','name'=>'结算全场角球'];
+        }
+        if($game_code == 'lq'){
+            $process[] = '';
+        }
+        if($game_code == 'wq'){
+            $process[] = '';
+        }
+        if($game_code == 'bq'){
+            $process[] = '';
+        }
+
+        return $process;
+    }
+
      /**
      * 处理 拼接手动结果数据
      * $manual_result_data arr 多个赛事手动结果数据

+ 3 - 3
app/Models/MoneyBuyMatch.php

@@ -34,8 +34,8 @@ class MoneyBuyMatch extends Model
         $where[] = array('money_buy_match.game_code', '=', $code);
         $where[] = array('money_buy_simplex.status', '=', 1);
 
-        $select = ['money_buy_simplex.order_id', 'money_buy_simplex.money', 'money_buy_simplex.account_identity', 'money_buy_simplex.info_identity', 'money_buy_simplex.match_id'];
-        $data = $this->join('money_buy_simplex', 'money_buy_match.order_id', '=', 'money_buy_simplex.order_id')->select($select)->where($where)->get()->toArray();
+        $select = ['money_buy_simplex.order_id', 'money_buy_simplex.money', 'money_buy_simplex.account_identity', 'money_buy_simplex.info_identity', 'money_buy_simplex.match_id','st_odds_code.odds_name'];
+        $data = $this->join('money_buy_simplex', 'money_buy_match.order_id', '=', 'money_buy_simplex.order_id')->join('st_odds_code', 'money_buy_match.odds_code', '=', 'st_odds_code.odds_code')->select($select)->where($where)->get()->toArray();
 
         return $data;
 
@@ -49,7 +49,7 @@ class MoneyBuyMatch extends Model
         $where[] = array('money_buy_str.status', '=', 1);
 
         $select = ['money_buy_str.order_id'];
-        $data = $this->join('money_buy_str', 'money_buy_match.order_id', '=', 'money_buy_str.order_id')->select($select)->where($where)->distinct('money_buy_match.order_id')->get()->toArray();
+        $data = $this->join('money_buy_str', 'money_buy_match.order_id', '=', 'money_buy_str.order_id')->join('st_odds_code', 'money_buy_match.odds_code', '=', 'st_odds_code.odds_code')->select($select)->where($where)->distinct('money_buy_match.order_id')->get()->toArray();
 
         return $data;
     }

+ 82 - 8
resources/views/admin/sportsfoot/outcome.blade.php

@@ -32,12 +32,14 @@
             <a href="javascript:;" onclick="addResult(@{{d.match_id}})" class="layui-btn layui-btn-sm">赛事结果</a>
             {{--<a href="/admin/sportsfoot/addwarn?match_id=@{{d.match_id}}" class="layui-btn layui-btn-sm ">危险球</a>--}}
 
-            @{{#if(d.status==2 || d.status==3){ }}
-                @{{#if(d.status==2){ }}
-                    <a href="javascript:;" onclick="settlement(@{{d.match_id}},'zq')" class="layui-btn layui-btn-sm">结算</a>
+            @{{#if(d.status==1 || d.status==2 || d.status==3){ }}
+                @{{#if(d.status==2 || d.status==2){ }}
+                    {{--<a href="javascript:;" onclick="settlement(@{{d.match_id}},'zq')" class="layui-btn layui-btn-sm">结算</a>--}}
+            <a href="javascript:;" onclick="settleopen(@{{d.match_id}},'zq')" class="layui-btn layui-btn-sm">结算</a>
                 @{{#} }}
                 @{{#if(d.status==3){ }}
-                    <a href="javascript:;" onclick="settlement(@{{d.match_id}},'zq')" class="layui-btn layui-btn-sm">再结算</a>
+                    {{--<a href="javascript:;" onclick="settlement(@{{d.match_id}},'zq')" class="layui-btn layui-btn-sm">再结算</a>--}}
+            <a href="javascript:;" onclick="settleopen(@{{d.match_id}},'zq')" class="layui-btn layui-btn-sm">再结算</a>
                 @{{#} }}
             @{{#} }}
             <!--
@@ -224,10 +226,10 @@
                 url: '/admin/Sportsfoot/Matchresult',
                 data: {match_id:match_id},
                 success: function(data) {
-                    //console.log(data);
-                    conttxt ='<div id="scores" style="margin-left:100px;margin-top:20px;font-size:18px;line-height:150%;"><input type="hidden" id="matchid" name="matchid" value="'+match_id+'" /><div style="display: flex;"><li>主队全场角球:</li><input type="text" id="homeallcorner" name="homeallcorner" value="'+data.corner_ball.home+'" autocomplete="off"></div><div style="display: flex;"><li>客队全场角球:</li><input type="text" id="guestallcorner" name="guestallcorner" value="'+data.corner_ball.guest+'" autocomplete="off"></div><div style="display: flex;"><li>主队半场角球:</li><input type="text" id="homehalfcorner" name="homehalfcorner" value="'+data.corner_ball.home_half+'" autocomplete="off"></div><div style="display: flex;"><li>客队半场角球:</li><input type="text" id="guesthalfcorner" name="guesthalfcorner" value="'+data.corner_ball.guest_half+'" autocomplete="off"></div><div style="display: flex;"><li>主队全场罚牌:</li><input type="text" id="homeallcard" name="homeallcard" value="'+data.penalty_card.home+'" autocomplete="off"></div><div style="display: flex;"><li>客队全场罚牌:</li><input type="text" id="guestallcard" name="guestallcard" value="'+data.penalty_card.guest+'" autocomplete="off"></div><div style="display: flex;"><li>主队半场罚牌:</li><input type="text" id="homehalfcard" name="homehalfcard" value="'+data.penalty_card.home_half+'" autocomplete="off"></div><div style="display: flex;"><li>客队半场罚牌:</li><input type="text" id="guesthalfcard" name="guesthalfcard" value="'+data.penalty_card.guest_half+'" autocomplete="off"></div>';
+                    console.log(data);
+                    conttxt ='<div id="scores" style="margin-left:100px;margin-top:20px;font-size:18px;line-height:150%;"><input type="hidden" id="matchid" name="matchid" value="'+match_id+'" /><div style="display: flex;"><li>主队全场角球:</li><input type="text" id="homeallcorner" name="homeallcorner" value="'+data.manual_result.all_corner.home+'" autocomplete="off"></div><div style="display: flex;"><li>客队全场角球:</li><input type="text" id="guestallcorner" name="guestallcorner" value="'+data.manual_result.all_corner.guest+'" autocomplete="off"></div><div style="display: flex;"><li>主队半场角球:</li><input type="text" id="homehalfcorner" name="homehalfcorner" value="'+data.manual_result.half_corner.home+'" autocomplete="off"></div><div style="display: flex;"><li>客队半场角球:</li><input type="text" id="guesthalfcorner" name="guesthalfcorner" value="'+data.manual_result.half_corner.guest+'" autocomplete="off"></div><div style="display: flex;"><li>主队全场罚牌:</li><input type="text" id="homeallcard" name="homeallcard" value="'+data.manual_result.all_penalty.home+'" autocomplete="off"></div><div style="display: flex;"><li>客队全场罚牌:</li><input type="text" id="guestallcard" name="guestallcard" value="'+data.manual_result.all_penalty.guest+'" autocomplete="off"></div><div style="display: flex;"><li>主队半场罚牌:</li><input type="text" id="homehalfcard" name="homehalfcard" value="'+data.manual_result.half_penalty.home+'" autocomplete="off"></div><div style="display: flex;"><li>客队半场罚牌:</li><input type="text" id="guesthalfcard" name="guesthalfcard" value="'+data.manual_result.half_penalty.guest+'" autocomplete="off"></div>';
                     if (data.newapp.home_score!=0 || data.newapp.guest_score!=0){
-                        conttxt += '<div style="display: flex;"><li>首 进 球 时 间:</li><input type="text" id="onescoretime" name="onescoretime" value="'+data.first_score.scoretime+'" autocomplete="off"></div>';
+                        conttxt += '<div style="display: flex;"><li>首 进 球 时 间:</li><input type="text" id="onescoretime" name="onescoretime" value="'+data.manual_result.first_score.time+'" autocomplete="off"></div>';
 //                        conttxt += '<div style="display: flex;"><li>首 进 球 时 间:</li><input type="text" id="onescoretime" name="onescoretime" value="'+data.first_score.scoretime+'" autocomplete="off"></div><div style="display: flex;"><li>最终获胜球队:</li><input type="text" id="matchwiner" name="matchwiner" value="'+data.newapp.match_winer+'" autocomplete="off"></div><div style="display: flex;"><li>最先进球球队:</li><select name="firstscore" id="firstscore">';
 //                        if(data.first_score.teamscore!=0){
 //                            conttxt += '<option value="'+ data.first_score.teamscore +'" selected="">'+data.first_score.teamscore+'</option><option value="">无最先进球</option>';
@@ -253,7 +255,7 @@
 //                        conttxt += '<option value="'+ data.newapp.home_team +'">'+data.newapp.home_team+'</option><option value="'+ data.newapp.guest_team +'">'+data.newapp.guest_team+'</option></select></div>';
 
                     }
-                    conttxt += '<div style="display: flex;"><li>上半场比分(主/客):</li><input style="width:50px;" type="text" id="homehalf" name="homehalf" value="'+data.newapp.u_home_score+'" autocomplete="off">&nbsp;/&nbsp;<input style="width:50px;" type="text" id="guesthalf" name="guesthalf" value="'+data.newapp.u_guest_score+'" autocomplete="off"></div><div style="display: flex;"><li style="margin-left:1.1rem;">全场比分(主/客):</li><input style="width:50px;" type="text" id="homeall" name="homeall" value="'+data.newapp.home_score+'" autocomplete="off">&nbsp;/&nbsp;<input style="width:50px;" type="text" id="guestall" name="guestall" value="'+data.newapp.guest_score+'" autocomplete="off"></div><br><div style="margin-left:230px;"><button class="layui-btn layui-btn-sm set" onclick="buttonClick()"><h3>确定</h3></button>&nbsp;<button onclick="czClick()" class="layui-btn layui-btn-sm layui-btn-danger" id="reset"><h3>取消</h3></button></div></div>';
+                    conttxt += '<div style="display: flex;"><li>上半场比分(主/客):</li><input style="width:50px;" type="text" id="homehalf" name="homehalf" value="'+data.manual_result.half.home+'" autocomplete="off">&nbsp;/&nbsp;<input style="width:50px;" type="text" id="guesthalf" name="guesthalf" value="'+data.manual_result.half.guest+'" autocomplete="off"></div><div style="display: flex;"><li style="margin-left:1.1rem;">全场比分(主/客):</li><input style="width:50px;" type="text" id="homeall" name="homeall" value="'+data.manual_result.all.home+'" autocomplete="off">&nbsp;/&nbsp;<input style="width:50px;" type="text" id="guestall" name="guestall" value="'+data.manual_result.all.guest+'" autocomplete="off"></div><br><div style="margin-left:230px;"><button class="layui-btn layui-btn-sm set" onclick="buttonClick()"><h3>确定</h3></button>&nbsp;<button onclick="czClick()" class="layui-btn layui-btn-sm layui-btn-danger" id="reset"><h3>取消</h3></button></div></div>';
 
                     layerOpen = layer.open({
                       type: 1 //Page层类型
@@ -526,6 +528,78 @@
             layer.close(resultLogOpen)
         }
 
+
+        //layer弹窗开始(结算)
+        let settleOpen = '';
+        function settleopen(match_id,type){
+            $.ajax({
+                type: 'POST',
+                dataType: 'json',
+                url: '/admin/Sportsfoot/getprocess',
+                data: {type:type},
+                success: function(data) {
+                    //console.log(type);
+                    let length = data.length;
+
+                    let html = '<div style="margin-left:100px;margin-top:20px;font-size:18px;line-height:150%;"><div style="margin-left:-10px;"><input class="checkall" type="checkbox" onclick="oncheck()">全选</div><input id="match_id" type="hidden" value="'+match_id+'"><input id="game_type" type="hidden" value="'+type+'">';
+                    let info = '';
+                    for(let i=0; i<length; i++){
+
+                        html +='<li><input class="checkone" type="checkbox" value="'+data[i]['process']+'">'+data[i]['name']+'</li>';
+
+                    }
+
+                    html += '<br><div><button class="layui-btn layui-btn-sm set" id="buttonClick" onclick="settleClick()"><h3>确定</h3></button>&nbsp;<button onclick="seClick()" class="layui-btn layui-btn-sm layui-btn-danger" id="reset"><h3>取消</h3></button></div></div>';
+
+                    settleOpen = layer.open({
+                        type: 1 //Page层类型
+                        ,area: ['500px', '40%']
+                        ,title: '<h2>结算<h2>'
+                        ,shade: 0.6 //遮罩透明度
+                        ,maxmin: true //允许全屏最小化
+                        ,anim: 1 //0-6的动画形式,-1不开启
+                        ,content:html
+                    });
+                }
+            })
+        }
+
+        function seClick() {
+            layer.close(settleOpen)
+        }
+
+        function settleClick(){
+            obj = document.getElementsByClassName("checkone");
+            var match_id = $("#match_id").val();
+            var type = $("#game_type").val();
+            process = [];
+            for(k in obj){
+                if(obj[k].checked)
+                    process.push(obj[k].value);
+            }
+            $.ajax({
+                type: 'POST',
+                dataType: 'json',
+                url: '/admin/Sportsfoot/Settlement1',
+                data: {process:process,match_id:match_id,type:type},
+                success: function(data) {
+                    //console.log(data);
+                    layer.msg(data.msg);
+                    location. reload()//刷新当前页面
+                }
+            })
+        }
+
+        //结算弹框全选/取消
+        function oncheck() {
+            console.log(1);
+            if($('.checkall').is(':checked')==true){
+                $('.checkone').prop('checked',true);
+            }else{
+                $('.checkone').prop('checked',false);
+            }
+        }
+
     </script>
 @push('dataTableJS')
 /*var active = {

+ 12 - 0
sql.sql

@@ -56,6 +56,7 @@ COMMENT ON COLUMN "money_buy_match"."roll_time" IS '当是滚球投注时 赛事
 
 ALTER TABLE money_buy_match ADD COLUMN home_score int2 NOT NULL DEFAULT 0;
 COMMENT ON COLUMN "money_buy_match"."home_score" IS '当是滚球投注时 当前主队得分';
+
 ALTER TABLE money_buy_match ADD COLUMN guest_score int2 NOT NULL DEFAULT 0;
 COMMENT ON COLUMN "money_buy_match"."guest_score" IS '当是滚球投注时 当前客队得分';
 
@@ -75,3 +76,14 @@ COMMENT ON COLUMN "st_wq_result"."manual_result" IS '当手动修改比分时,
 
 ALTER TABLE st_bq_result ADD COLUMN manual_result json DEFAULT '{"1":{"home":"","guest":""},"2":{"home":"","guest":""},"3":{"home":"","guest":""},"4":{"home":"","guest":""},"5":{"home":"","guest":""},"6":{"home":"","guest":""},"7":{"home":"","guest":""},"8":{"home":"","guest":""},"9":{"home":"","guest":""},"other":{"home":"","guest":""},"five":{"home":"","guest":""},"all":{"home":"","guest":""}}'::json;
 COMMENT ON COLUMN "st_bq_result"."manual_result" IS '当手动修改比分时,存储调整后的结果json';
+
+/**
+Tank.peng
+2019/11/14
+追加字段
+*/
+ALTER TABLE st_zq_result_record ADD COLUMN corner_result json DEFAULT '{"home":0,"guest":0,"home_half":0,"guest_half":0}'::json;
+COMMENT ON COLUMN "st_zq_result_record"."corner_result" IS '角球结果 json';
+
+ALTER TABLE st_zq_result_record ADD COLUMN penalty_result json DEFAULT '{"home":0,"guest":0,"home_half":0,"guest_half":0}'::json;
+COMMENT ON COLUMN "st_zq_result_record"."penalty_result" IS '罚牌结果 json';