彭俊 6 سال پیش
والد
کامیت
aaec3e1cda

+ 113 - 1
app/Http/Controllers/Admin/SportsbkController.php

@@ -167,6 +167,7 @@ class SportsbkController extends Controller {
 				"home_score"=>json_encode($homescore),
 				"guest_score"=>json_encode($guestscore),
 				"inning"=>json_encode($data),
+				"manual_result"=>json_encode($data),
 				"u_home_score"=>$data[5]['home'],
 				"u_guest_score"=>$data[5]['guest'],
 				"s_home_score"=>$data[6]['home'],
@@ -220,7 +221,7 @@ class SportsbkController extends Controller {
 //			'newapp' => $newapp,
 //		);
 		$array =array(
-			'lqresult' => json_decode($newapp['inning'],true),
+			'lqresult' => json_decode($newapp['manual_result'],true),
 			'newapp' => $newapp,
 		);
 		return $array;
@@ -244,6 +245,110 @@ class SportsbkController 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,'lq');
+		$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\Stlqresult::where ('match_id', $match_id)->update(['status' =>3]);
+			$res = \App\Models\SportsBasket::where ('id', $match_id)->update(['status' =>3]);
+			return json_encode(['status'=>4,'msg'=>'该赛事没有任何订单,将会结束该赛事!!!']);
+		}
+
+	}
+
     //结算
 	function Settlementlq(Req $req){
 		$jsurl = config('sconstant.url');//结算请求域名地址
@@ -590,5 +695,12 @@ class SportsbkController extends Controller {
 		return responseToJson(1); 
 	}
 
+	//获取赛事进程数据
+	function getprocess(Req $req){
+		$type = $req->type;
+
+		$process = commonFunction::getprocess($type);
+		return json_encode($process);
+	}
 
 }

+ 32 - 26
app/Lib/Biz/Sport/Common.php

@@ -1662,7 +1662,7 @@ class Common
             
             foreach($match_order as $k=>$v){
                 //第一节条件
-                if($data[1]['home'] == -1 and $data[1]['guest'] == -1){
+                if($data != [] and $data[1]['home'] == -1 and $data[1]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_o[] = self::getOrderJC('一节',$v);
                     }
@@ -1670,7 +1670,7 @@ class Common
                     $matchOdds_one[] = self::getOrderJC('一节',$v);
                 }
                 //第二节条件
-                if($data[2]['home'] == -1 and $data[2]['guest'] == -1){
+                if($data != [] and $data[2]['home'] == -1 and $data[2]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_t[] = self::getOrderJC('二节',$v);
                     }
@@ -1678,7 +1678,7 @@ class Common
                     $matchOdds_two[] = self::getOrderJC('二节',$v);
                 }
                 //第三节条件
-                if($data[3]['home'] == -1 and $data[3]['guest'] == -1){
+                if($data != [] and $data[3]['home'] == -1 and $data[3]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_s[] = self::getOrderJC('三节',$v);
                     }
@@ -1686,7 +1686,7 @@ class Common
                     $matchOdds_three[] = self::getOrderJC('三节',$v);
                 }
                 //第四节条件
-                if($data[4]['home'] == -1 and $data[4]['guest'] == -1){
+                if($data != [] and $data[4]['home'] == -1 and $data[4]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_f[] = self::getOrderJC('四节',$v);
                     }
@@ -1694,7 +1694,7 @@ class Common
                     $matchOdds_four[] = self::getOrderJC('四节',$v);
                 }
                 //上半场条件
-                if($data[5]['home'] == -1 and $data[5]['guest'] == -1){
+                if($data != [] and $data[5]['home'] == -1 and $data[5]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_hh[] = self::getOrderJC('上半场',$v);
                     }
@@ -1702,7 +1702,7 @@ class Common
                     $matchOdds_half[] = self::getOrderJC('上半场',$v);
                 }
                 //下半场条件
-                if($data[6]['home'] == -1 and $data[6]['guest'] == -1){
+                if($data != [] and $data[6]['home'] == -1 and $data[6]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_ll[] = self::getOrderJC('下半场',$v);
                     }
@@ -1710,7 +1710,7 @@ class Common
                     $matchOdds_next[] = 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_ff[] = self::getOrderJC('全场',$v);
                         $matchOdds_ff[] = self::getOrderJC('最后一位数',$v);
@@ -1784,7 +1784,7 @@ class Common
 
             foreach($match_order as $k=>$v){
                 //第一盘条件
-                if($data[1]['home'] == -1 and $data[1]['guest'] == -1){
+                if($data != [] and $data[1]['home'] == -1 and $data[1]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_o[] = self::getOrderJC('一盘',$v);
                     }
@@ -1792,7 +1792,7 @@ class Common
                     $matchOdds_one[] = self::getOrderJC('一盘',$v);
                 }
                 //第二盘条件
-                if($data[2]['home'] == -1 and $data[2]['guest'] == -1){
+                if($data != [] and $data[2]['home'] == -1 and $data[2]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_t[] = self::getOrderJC('二盘',$v);
                     }
@@ -1800,7 +1800,7 @@ class Common
                     $matchOdds_two[] = self::getOrderJC('二盘',$v);
                 }
                 //第三盘条件
-                if($data[3]['home'] == -1 and $data[3]['guest'] == -1){
+                if($data != [] and $data[3]['home'] == -1 and $data[3]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_s[] = self::getOrderJC('三盘',$v);
                     }
@@ -1808,7 +1808,7 @@ class Common
                     $matchOdds_three[] = self::getOrderJC('三盘',$v);
                 }
                 //第四盘条件
-                if($data[4]['home'] == -1 and $data[4]['guest'] == -1){
+                if($data != [] and $data[4]['home'] == -1 and $data[4]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_fo[] = self::getOrderJC('四盘',$v);
                     }
@@ -1816,7 +1816,7 @@ class Common
                     $matchOdds_four[] = self::getOrderJC('四盘',$v);
                 }
                 //第五盘条件
-                if($data[5]['home'] == -1 and $data[5]['guest'] == -1){
+                if($data != [] and $data[5]['home'] == -1 and $data[5]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_fi[] = self::getOrderJC('五盘',$v);
                     }
@@ -1824,7 +1824,7 @@ class Common
                     $matchOdds_five[] = 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_ff[] = self::getOrderJC('让盘',$v);
                         $matchOdds_ff[] = self::getOrderJC('让局',$v);
@@ -1922,7 +1922,7 @@ class Common
 
             foreach($match_order as $k=>$v){
                 //第一局条件
-                if($data[1]['home'] == -1 and $data[1]['guest'] == -1){
+                if($data != [] and $data[1]['home'] == -1 and $data[1]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_o[] = self::getOrderJC('第一局',$v);
                     }
@@ -1930,7 +1930,7 @@ class Common
                     $matchOdds_one[] = self::getOrderJC('第一局',$v);
                 }
                 //第二局条件
-                if($data[2]['home'] == -1 and $data[2]['guest'] == -1){
+                if($data != [] and $data[2]['home'] == -1 and $data[2]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_t[] = self::getOrderJC('第二局',$v);
                     }
@@ -1938,7 +1938,7 @@ class Common
                     $matchOdds_two[] = self::getOrderJC('第二局',$v);
                 }
                 //第三局条件
-                if($data[3]['home'] == -1 and $data[3]['guest'] == -1){
+                if($data != [] and $data[3]['home'] == -1 and $data[3]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_th[] = self::getOrderJC('第三局',$v);
                     }
@@ -1946,7 +1946,7 @@ class Common
                     $matchOdds_three[] = self::getOrderJC('第三局',$v);
                 }
                 //第四局条件
-                if($data[4]['home'] == -1 and $data[4]['guest'] == -1){
+                if($data != [] and $data[4]['home'] == -1 and $data[4]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_fo[] = self::getOrderJC('第四局',$v);
                     }
@@ -1954,7 +1954,7 @@ class Common
                     $matchOdds_four[] = self::getOrderJC('第四局',$v);
                 }
                 //第五局条件
-                if($data[5]['home'] == -1 and $data[5]['guest'] == -1){
+                if($data != [] and $data[5]['home'] == -1 and $data[5]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_fi[] = self::getOrderJC('第五局',$v);
                     }
@@ -1962,7 +1962,7 @@ class Common
                     $matchOdds_five[] = self::getOrderJC('第五局',$v);
                 }
                 //第六局条件
-                if($data[6]['home'] == -1 and $data[6]['guest'] == -1){
+                if($data != [] and $data[6]['home'] == -1 and $data[6]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_si[] = self::getOrderJC('第六局',$v);
                     }
@@ -1970,7 +1970,7 @@ class Common
                     $matchOdds_six[] = self::getOrderJC('第六局',$v);
                 }
                 //第七局条件
-                if($data[7]['home'] == -1 and $data[7]['guest'] == -1){
+                if($data != [] and $data[7]['home'] == -1 and $data[7]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_se[] = self::getOrderJC('第七局',$v);
                     }
@@ -1978,7 +1978,7 @@ class Common
                     $matchOdds_seven[] = self::getOrderJC('第七局',$v);
                 }
                 //第八局条件
-                if($data[8]['home'] == -1 and $data[8]['guest'] == -1){
+                if($data != [] and $data[8]['home'] == -1 and $data[8]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_e[] = self::getOrderJC('第八局',$v);
                     }
@@ -1986,7 +1986,7 @@ class Common
                     $matchOdds_eight[] = self::getOrderJC('第八局',$v);
                 }
                 //第九局条件
-                if($data[9]['home'] == -1 and $data[9]['guest'] == -1){
+                if($data != [] and $data[9]['home'] == -1 and $data[9]['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_n[] = self::getOrderJC('第九局',$v);
                     }
@@ -1994,7 +1994,7 @@ class Common
                     $matchOdds_nine[] = self::getOrderJC('第九局',$v);
                 }
                 //其他条件
-                if($data['other']['home'] == -1 and $data['other']['guest'] == -1){
+                if($data != [] and $data['other']['home'] == -1 and $data['other']['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_ot[] = self::getOrderJC('其他',$v);
                     }
@@ -2002,7 +2002,7 @@ class Common
                     $matchOdds_other[] = self::getOrderJC('其他',$v);
                 }
                 //前五局条件
-                if($data['five']['home'] == -1 and $data['five']['guest'] == -1){
+                if($data != [] and $data['five']['home'] == -1 and $data['five']['guest'] == -1){
                     if($v->status == 1){
                         $matchOdds_five[] = self::getOrderJC('前5局',$v);
                     }
@@ -2010,7 +2010,7 @@ class Common
                     $matchOdds_fives[] = self::getOrderJC('前5局',$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_ff[] = self::getOrderJC('全场',$v);
                     }
@@ -2114,7 +2114,13 @@ class Common
             $process[] = ['process'=>'all_corner','name'=>'结算全场角球'];
         }
         if($game_code == 'lq'){
-            $process[] = '';
+            $process[] = ['process'=>'one','name'=>'结算第一节'];
+            $process[] = ['process'=>'two','name'=>'结算第二节'];
+            $process[] = ['process'=>'three','name'=>'结算第三节'];
+            $process[] = ['process'=>'four','name'=>'结算第四节'];
+            $process[] = ['process'=>'uhalf','name'=>'结算上半场'];
+            $process[] = ['process'=>'dhalf','name'=>'结算下半场'];
+            $process[] = ['process'=>'all','name'=>'结算全场'];
         }
         if($game_code == 'wq'){
             $process[] = '';

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

@@ -165,12 +165,15 @@
     <script type="text/html" id="operation">
         
          <button onclick="addResult(@{{d.match_id}})" class="layui-btn layui-btn-sm set">赛事结果</button>
-        @{{#if(d.status==2 || d.status==3){ }}
-            @{{#if(d.status==2){ }}
-                <a href="javascript:;" onclick="lqsettlement(@{{d.match_id}},'lq')" class="layui-btn layui-btn-sm">结算</a>
+        @{{#if(d.status==1 || d.status==2 || d.status==3){ }}
+            @{{#if(d.status==1 || d.status==2){ }}
+                {{--<a href="javascript:;" onclick="lqsettlement(@{{d.match_id}},'lq')" class="layui-btn layui-btn-sm">结算</a>--}}
+         <a href="javascript:;" onclick="settleopen(@{{d.match_id}},'lq')" class="layui-btn layui-btn-sm">结算</a>
+
             @{{#} }}
             @{{#if(d.status==3){ }}
-                <a href="javascript:;" onclick="lqsettlement(@{{d.match_id}},'lq')" class="layui-btn layui-btn-sm">再结算</a>
+                {{--<a href="javascript:;" onclick="lqsettlement(@{{d.match_id}},'lq')" class="layui-btn layui-btn-sm">再结算</a>--}}
+         <a href="javascript:;" onclick="settleopen(@{{d.match_id}},'lq')" class="layui-btn layui-btn-sm">再结算</a>
             @{{#} }}
         @{{#} }}
         <!--
@@ -663,6 +666,80 @@
             })
         }
 
+
+        //layer弹窗开始(结算)
+        let settleOpen = '';
+        function settleopen(match_id,type){
+            $.ajax({
+                type: 'POST',
+                dataType: 'json',
+                url: '/admin/Sportsbk/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%;width:60%;"><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 = '';
+                    html += '<div style="height: 100px;"><ul>';
+                    for(let i=0; i<length; i++){
+
+                        html +='<li style="float: left;margin-left: 10px;"><input class="checkone" type="checkbox" value="'+data[i]['process']+'">'+data[i]['name']+'</li>';
+
+                    }
+
+                    html += '</div></ul><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);
+            }
+            //console.log(process);
+            $.ajax({
+                type: 'POST',
+                dataType: 'json',
+                url: '/admin/Sportsbk/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 = {

+ 1 - 1
resources/views/admin/sportsfoot/outcome.blade.php

@@ -33,7 +33,7 @@
             {{--<a href="/admin/sportsfoot/addwarn?match_id=@{{d.match_id}}" class="layui-btn layui-btn-sm ">危险球</a>--}}
 
             @{{#if(d.status==1 || d.status==2 || d.status==3){ }}
-                @{{#if(d.status==2 || d.status==2){ }}
+                @{{#if(d.status==1 || 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>
                 @{{#} }}