Parcourir la source

添加赛事异常处理

彭俊 il y a 6 ans
Parent
commit
aa93d0f18a

+ 3 - 3
app/Http/Controllers/Admin/SportsBaseController.php

@@ -476,7 +476,7 @@ class SportsBaseController extends Controller {
      */
     function getoddscode() {
         $p_code = $_GET["pcode"];
-        $res = \App\Models\Matchcode::where('odds_code',$p_code)->first();
+        $res = \App\Models\Matchcode::where(['odds_code'=>$p_code,'game_code'=>'bq'])->first();
         $codedata = \App\Models\Matchcode::where('p_id',$res->id)->get();
         return json_encode($codedata);
     }
@@ -504,7 +504,7 @@ class SportsBaseController extends Controller {
             $model->odds_code = $req->input('code');
             $model->status = $req->input('status');
             $model->p_code = $req->input('pcode');
-            $res = \App\Models\Matchcode::where('odds_code',$model->p_code)->first();
+            $res = \App\Models\Matchcode::where(['odds_code'=>$model->p_code,'game_code'=>'bq'])->first();
             $model->p_id = $res->id;
             $result = \App\Models\BaseOdds::where('odds_code',$model->odds_code)->where('p_id',$model->p_id)->orderby('utime','desc')->first();
             if(!empty($result)){
@@ -521,7 +521,7 @@ class SportsBaseController extends Controller {
             $model->utime = date('Y-m-d H:i:s',time());
             $model->sole = md5($model->match_id.$model->odds_code.$model->sort.$model->p_id.$model->ctime);
             $model->source = 'user-defined';
-            $lg_id = \App\Models\SportsBase::where('match_id',$model->match_id)->first();
+            $lg_id = \App\Models\SportsBase::where('id',$model->match_id)->first();
             if(!empty($lg_id)){
                 $model->lg_id = $lg_id->lg_id;
             }

+ 3 - 3
app/Http/Controllers/Admin/SportsBasketController.php

@@ -472,7 +472,7 @@ class SportsBasketController extends Controller {
 	 */
 	function getoddscode() {
 		$p_code = $_GET["pcode"];
-		$res = \App\Models\Matchcode::where('odds_code',$p_code)->first();
+		$res = \App\Models\Matchcode::where(['odds_code'=>$p_code,'game_code'=>'lq'])->first();
 		$codedata = \App\Models\Matchcode::where('p_id',$res->id)->get();
 		return json_encode($codedata);
 	}
@@ -498,7 +498,7 @@ class SportsBasketController extends Controller {
 			$model->odds_code = $req->input('code');
 			$model->status = $req->input('status');
 			$model->p_code = $req->input('pcode');
-			$res = \App\Models\Matchcode::where('odds_code',$model->p_code)->first();
+			$res = \App\Models\Matchcode::where(['odds_code'=>$model->p_code,'game_code'=>'lq'])->first();
 			$model->p_id = $res->id;
 			$result = \App\Models\BasketOdds::where('odds_code',$model->odds_code)->where('p_id',$model->p_id)->orderby('utime','desc')->first();
 			if(!empty($result)){
@@ -515,7 +515,7 @@ class SportsBasketController extends Controller {
 			$model->utime = date('Y-m-d H:i:s',time());
 			$model->sole = md5($model->match_id.$model->odds_code.$model->sort.$model->p_id.$model->ctime);
 			$model->source = 'user-defined';
-			$lg_id = \App\Models\SportsBasket::where('match_id',$model->match_id)->first();
+			$lg_id = \App\Models\SportsBasket::where('id',$model->match_id)->first();
 			if(!empty($lg_id)){
 				$model->lg_id = $lg_id->lg_id;
 			}

+ 4 - 3
app/Http/Controllers/Admin/SportsSoccerController.php

@@ -494,7 +494,8 @@ class SportsSoccerController extends Controller
     function getoddscode()
     {
         $p_code = $_GET["pcode"];
-        $res = \App\Models\Matchcode::where('odds_code', $p_code)->first();
+
+        $res = \App\Models\Matchcode::where(['odds_code'=>$p_code,'game_code'=>'zq'])->first();
         $codedata = \App\Models\Matchcode::where('p_id', $res->id)->get();
         return json_encode($codedata);
     }
@@ -521,7 +522,7 @@ class SportsSoccerController extends Controller
             $model->odds_code = $req->input('code');
             $model->status = $req->input('status');
             $model->p_code = $req->input('pcode');
-            $res = \App\Models\Matchcode::where('odds_code', $model->p_code)->first();
+            $res = \App\Models\Matchcode::where(['odds_code'=>$model->p_code,'game_code'=>'zq'])->first();
             $model->p_id = $res->id;
             $result = \App\Models\SoccerOdds::where('odds_code', $model->odds_code)->where('p_id', $model->p_id)->orderby('utime', 'desc')->first();
             if (!empty($result)) {
@@ -538,7 +539,7 @@ class SportsSoccerController extends Controller
             $model->utime = date('Y-m-d H:i:s', time());
             $model->sole = md5($model->match_id . $model->odds_code . $model->sort . $model->p_id . $model->ctime);
             $model->source = 'user-defined';
-            $lg_id = \App\Models\SportsSoccer::where('match_id', $model->match_id)->first();
+            $lg_id = \App\Models\SportsSoccer::where('id', $model->match_id)->first();
             if (!empty($lg_id)) {
                 $model->lg_id = $lg_id->lg_id;
             }

+ 3 - 3
app/Http/Controllers/Admin/SportsTennisController.php

@@ -473,7 +473,7 @@ class SportsTennisController extends Controller {
      */
     function getoddscode() {
         $p_code = $_GET["pcode"];
-        $res = \App\Models\Matchcode::where('odds_code',$p_code)->first();
+        $res = \App\Models\Matchcode::where(['odds_code'=>$p_code,'game_code'=>'wq'])->first();
         $codedata = \App\Models\Matchcode::where('p_id',$res->id)->get();
         return json_encode($codedata);
     }
@@ -501,7 +501,7 @@ class SportsTennisController extends Controller {
             $model->odds_code = $req->input('code');
             $model->status = $req->input('status');
             $model->p_code = $req->input('pcode');
-            $res = \App\Models\Matchcode::where('odds_code',$model->p_code)->first();
+            $res = \App\Models\Matchcode::where(['odds_code'=>$model->p_code,'game_code'=>'wq'])->first();
             $model->p_id = $res->id;
             $result = \App\Models\TennisOdds::where('odds_code',$model->odds_code)->where('p_id',$model->p_id)->orderby('utime','desc')->first();
             if(!empty($result)){
@@ -518,7 +518,7 @@ class SportsTennisController extends Controller {
             $model->utime = date('Y-m-d H:i:s',time());
             $model->sole = md5($model->match_id.$model->odds_code.$model->sort.$model->p_id.$model->ctime);
             $model->source = 'user-defined';
-            $lg_id = \App\Models\SportsTennis::where('match_id',$model->match_id)->first();
+            $lg_id = \App\Models\SportsTennis::where('id',$model->match_id)->first();
             if(!empty($lg_id)){
                 $model->lg_id = $lg_id->lg_id;
             }

+ 63 - 0
app/Http/Controllers/Admin/SportsfootController.php

@@ -500,6 +500,31 @@ class SportsfootController extends Controller {
 		$model->first_score = json_encode($firstone,JSON_UNESCAPED_UNICODE); 
 
         $model->save();
+
+        //添加赛事结果记录
+        $lastLog = \App\Models\Stzqresultlog::where([
+            ['match_id', $match_id],
+            ['type', 1]
+        ])->orderBy('id', 'desc')->first();
+        if(empty($lastLog) || !($lastLog['penalty_card'] == $model->penalty_card
+                && $lastLog['corner_ball'] == $model->corner_ball
+                && $lastLog['first_score'] == $model->first_score
+                && $lastLog['last_score'] == $model->last_score
+                && $lastLog['match_winer'] == $model->match_winer
+            )){
+            \App\Models\Stzqresultlog::insert([
+                'match_id' => $match_id,
+                'penalty_card' => $model->penalty_card ,
+                'corner_ball' => $model->corner_ball,
+                'first_score' => $model->first_score,
+                'last_score' => $model->last_score,
+                'match_winer' => $model->match_winer,
+                'user_id' => session('adminInfo.admin_id'),
+                'type' => 1,
+                'create_at' => now()
+            ]);
+        }
+
         return responseToJson(1);
 	}
 
@@ -517,6 +542,23 @@ class SportsfootController extends Controller {
 		return $array;
 	}
 
+    //查询赛事结果记录
+    function resultLog(Req $req){
+        $match_id = $req->match_id;
+        $list = \App\Models\Stzqresultlog::leftJoin('system_user', 'user_id', '=', 'system_user.id')
+            ->select('st_zq_result_log.*', 'system_user.loginname')->where('match_id', $match_id)->orderBy('id', 'asc')->get();
+        foreach ($list as $key=>$value){
+            $list[$key]['penalty_card'] = json_decode($value['penalty_card'], true);
+            $list[$key]['corner_ball'] = json_decode($value['corner_ball'], true);
+            $list[$key]['first_score'] = empty($value['first_score']) ? '' : json_decode($value['first_score'], true);
+        }
+        $result =array(
+            'status' => 200,
+            'list' => $list
+        );
+        echo json_encode($result);die;
+    }
+
 	function onlyresult(Req $req){
 		$match_id = $req->matchid;
 		$newapp = \App\Models\Stzqresult::where('match_id', $match_id)->first();
@@ -776,6 +818,27 @@ class SportsfootController extends Controller {
 		$twoapp->updatestatus('match_id',$match_id,['status'=>2]);//修改赛事状态
 		$newapp->updatestatus('match_id',$match_id,['status'=>2]);//修改结果状态
 
+        //添加赛事结果比较记录
+        $lastLog = \App\Models\Stzqresultlog::where([
+            ['match_id', $match_id],
+            ['type', 2]
+        ])->orderBy('id', 'desc')->first();
+
+        if(empty($lastLog) || !(
+                $lastLog['u_home_score'] == $data['u_home_score']
+                && $lastLog['u_guest_score'] == $data['u_guest_score']
+                && $lastLog['home_score'] == $data['home_score']
+                && $lastLog['guest_score'] == $data['guest_score']
+            )){
+            $logData = $data;
+            unset($logData['is_correct']);
+            $logData['type'] = 2;
+            $logData['match_id'] = $match_id;
+            $logData['user_id'] = session('adminInfo.admin_id');
+            $logData['create_at'] = now();
+            \App\Models\Stzqresultlog::insert($logData);
+        }
+
 		return responseToJson(1);
 	}
  		

+ 106 - 0
resources/views/admin/sportsfoot/outcome.blade.php

@@ -48,6 +48,7 @@
             @{{#if(d.status==5){ }}
             <span><li class="layui-btn layui-btn-sm  layui-btn-danger">结算中</li></span>
             @{{#} }}
+            <button onclick="resultLog(@{{d.match_id}})" class="layui-btn layui-btn-sm layui-btn-green set">赛事结果比分记录</button>
     </script>
 
     <script type="text/html" id="statusmatch">
@@ -140,6 +141,26 @@
         </div>
     </div>
 
+    <style>
+
+        .log_title{
+
+        }
+
+        .log_head_div{
+            font-size: 17px;
+            margin-bottom: 5px;
+        }
+        .log_content_div td{
+            padding: 10px;
+            border: 1px solid #888888;
+        }
+
+        hr{
+            margin: 14px 0;
+        }
+    </style>
+
     <script type="text/javascript">
         $(function () {
             $('body').on('click', 'a[eventtype="event-delete"]', function () {
@@ -351,6 +372,91 @@
             })
         }
 
+        //layer弹窗开始
+        let resultLogOpen = '';
+        function resultLog(match_id){
+            $.ajax({
+                type: 'POST',
+                dataType: 'json',
+                url: '/admin/Sportsfoot/resultLog',
+                data: {match_id:match_id},
+                success: function(data) {
+                    let length = data.list.length;
+                    if(length <= 0){
+                        layer.alert('该赛事还没有赛事结果比分记录');
+                        return false;
+                    }
+
+                    let html = '';
+                    let info = '';
+                    for(let i=0; i<length; i++){
+                        info = data['list'][i];
+                        console.info(info);
+                        if(info.type == 1){ //比分
+
+                            html +='<div style="margin-left: 20px;"><div class="log_head_div"><span class="log_title">修改人</span>:'+info['loginname']+'&nbsp;&nbsp;&nbsp;<span class="log_title">添加时间:</span>'+info['create_at']+'&nbsp;&nbsp;&nbsp;<span class="log_title">添加类型</span>:赛事结果</div>'
+                                +'<div class="log_content_div"><table>' +
+                                '<tr>' +
+                                '<td>主队全场角球</td>' +
+                                '<td>客队全场角球</td>' +
+                                '<td>主队半场角球</td>' +
+                                '<td>客队半场角球</td>' +
+                                '<td>主队全场罚球</td>' +
+                                '<td>客队全场罚球</td>' +
+                                '<td>主队半场罚球</td>' +
+                                '<td>客队半场罚球</td>' +
+                                '</tr>' +
+                                '<tr>' +
+                                '<td>'+info['corner_ball']['home']+'</td>' +
+                                '<td>'+info['corner_ball']['guest']+'</td>' +
+                                '<td>'+info['corner_ball']['home_half']+'</td>' +
+                                '<td>'+info['corner_ball']['guest_half']+'</td>' +
+                                '<td>'+info['penalty_card']['home']+'</td>' +
+                                '<td>'+info['penalty_card']['guest']+'</td>' +
+                                '<td>'+info['penalty_card']['home_half']+'</td>' +
+                                '<td>'+info['penalty_card']['guest_half']+'</td>' +
+                                '</tr>' +
+                                '<tr>' +
+                                '<td>首进球时间</td>' +
+                                '<td>最终获胜球队</td>' +
+                                '<td>最先进球球队</td>' +
+                                '<td>首球进球方式</td>' +
+                                '<td>最后进球球队</td>' +
+                                '</tr>' +
+                                '<tr>' +
+                                '<td>'+info['first_score']['scoretime']+'</td>' +
+                                '<td>'+info['match_winer']+'</td>' +
+                                '<td>'+info['first_score']['teamscore']+'</td>' +
+                                '<td>'+info['first_score']['scoretype']+'</td>' +
+                                '<td>'+info['match_winer']+'</td>' +
+                                '</tr>' +
+                                '</table></div></div><hr>';
+                        }else{ //结果
+                            html +='<div style="margin-left: 20px"><div class="log_head_div"><span class="log_title">修改人</span>:'+info['loginname']+'&nbsp;&nbsp;&nbsp;<span class="log_title">添加时间:</span>'+info['create_at']+'&nbsp;&nbsp;&nbsp;<span class="log_title">添加类型</span>:赛事比分</div>'
+                                +'<div>上半场比分(主/客):'+info['u_home_score']+'&nbsp;/&nbsp;'+info['u_guest_score']+'</div>'
+                                +'<div>整场比分(主/客):'+info['home_score']+'&nbsp;/&nbsp;'+info['guest_score']+'</div></div><hr>';
+                        }
+                    }
+
+                    html += '<br><div style="margin:0px auto 10px;width: 112px;"><button class="layui-btn layui-btn-sm layui-btn-green set" id="buttonClick" onclick="rlClick()"><h3>确定</h3></button>&nbsp;<button onclick="rlClick()" class="layui-btn layui-btn-sm layui-btn-danger" id="reset"><h3>取消</h3></button></div></div>';
+
+                    resultLogOpen = layer.open({
+                        type: 1 //Page层类型
+                        ,area: ['900px', '500px']
+                        ,title: '<h2>赛事结果比分记录<h2>'
+                        ,shade: 0.6 //遮罩透明度
+                        ,maxmin: true //允许全屏最小化
+                        ,anim: 1 //0-6的动画形式,-1不开启
+                        ,content:html
+                    });
+                }
+            })
+        }
+
+        function rlClick() {
+            layer.close(resultLogOpen)
+        }
+
     </script>
 @push('dataTableJS')
 /*var active = {

+ 20 - 2
resources/views/sports/base_form.blade.php

@@ -87,13 +87,15 @@
         <div class="layui-form-item">
             <label class="layui-form-label">赛事日期</label>
             <div class="layui-input-block">
-                <input type="date" name="match_date" lay-verify="" autocomplete="off" class="layui-input"  value="{{ isset($match_date)?$match_date:date('Y-m-d',time()) }}" >
+                <input type="text" id="date" name="match_date" lay-verify="" autocomplete="off" class="layui-input"  value="" >
+                <!-- <input type="date" name="match_date" lay-verify="" autocomplete="off" class="layui-input"  value="{{ isset($match_date)?$match_date:date('Y-m-d',time()) }}" > -->
             </div>
         </div>
         <div class="layui-form-item">
             <label class="layui-form-label">赛事时间</label>
             <div class="layui-input-block">
-                <input type="time" name="match_time" autocomplete="off" class="layui-input" value="{{ isset($match_time)?$match_time:date('H:i',time()) }}" >
+                <input type="time" id='time' name="match_time" autocomplete="off" class="layui-input" value="" >
+                <!-- <input type="time" name="match_time" autocomplete="off" class="layui-input" value="{{ isset($match_time)?$match_time:date('H:i',time()) }}" > -->
             </div>
         </div>
         {{--<div class="layui-form-item">--}}
@@ -156,6 +158,7 @@
             </div>
         @endif
     </form>
+    <script src="laydate.js"></script>
 
     <script>
         //Demo
@@ -218,4 +221,19 @@
             },2500);
         }
     </script>
+
+    <script type='text/javascript'>
+        laydate.render({
+            elem: '#date'
+            ,value: '2017-09-10'
+            ,isInitValue: false //是否允许填充初始值,默认为 true
+        });
+
+        //时间选择器
+        laydate.render({ 
+            elem: '#time'
+            ,type: 'time'
+        });
+
+    </script>
 @endsection

+ 19 - 2
resources/views/sports/basket_form.blade.php

@@ -34,13 +34,15 @@
         <div class="layui-form-item">
             <label class="layui-form-label">赛事日期</label>
             <div class="layui-input-block">
-                <input type="date" name="match_date" lay-verify="" autocomplete="off" class="layui-input"  value="{{ isset($match_date)?$match_date:date('Y-m-d',time()) }}" >
+                <input type="text" id="date" name="match_date" lay-verify="" autocomplete="off" class="layui-input"  value="" >
+                <!-- <input type="date" name="match_date" lay-verify="" autocomplete="off" class="layui-input"  value="{{ isset($match_date)?$match_date:date('Y-m-d',time()) }}" > -->
             </div>
         </div>
         <div class="layui-form-item">
             <label class="layui-form-label">赛事时间</label>
             <div class="layui-input-block">
-                <input type="time" name="match_time" autocomplete="off" class="layui-input" value="{{ isset($match_time)?$match_time:date('H:i',time()) }}" >
+                <input type="time" id='time' name="match_time" autocomplete="off" class="layui-input" value="" >
+                <!-- <input type="time" name="match_time" autocomplete="off" class="layui-input" value="{{ isset($match_time)?$match_time:date('H:i',time()) }}" > -->
             </div>
         </div>
 
@@ -98,6 +100,7 @@
             </div>
         @endif
     </form>
+    <script src="laydate.js"></script>
 
     <script>
         //Demo
@@ -160,4 +163,18 @@
             },2500);
         }
     </script>
+     <script type='text/javascript'>
+        laydate.render({
+            elem: '#date'
+            ,value: '2017-09-10'
+            ,isInitValue: false //是否允许填充初始值,默认为 true
+        });
+
+        //时间选择器
+        laydate.render({ 
+            elem: '#time'
+            ,type: 'time'
+        });
+
+    </script>
 @endsection

+ 21 - 4
resources/views/sports/soccer_form.blade.php

@@ -32,13 +32,15 @@
         <div class="layui-form-item">
             <label class="layui-form-label">赛事日期</label>
             <div class="layui-input-block">
-                <input type="date" name="match_date" lay-verify="" autocomplete="off" class="layui-input"  value="{{ isset($match_date)?$match_date:date('Y-m-d',time()) }}" >
+                <input type="text" id="date" name="match_date" lay-verify="" autocomplete="off" class="layui-input"  value="" >
+                <!-- <input type="date" name="match_date" lay-verify="" autocomplete="off" class="layui-input"  value="{{ isset($match_date)?$match_date:date('Y-m-d',time()) }}" > -->
             </div>
         </div>
         <div class="layui-form-item">
             <label class="layui-form-label">赛事时间</label>
             <div class="layui-input-block">
-                <input type="time" name="match_time" autocomplete="off" class="layui-input" value="{{ isset($match_time)?$match_time:date('H:i',time()) }}" >
+                <input type="time" id='time' name="match_time" autocomplete="off" class="layui-input" value="" >
+                <!-- <input type="time" name="match_time" autocomplete="off" class="layui-input" value="{{ isset($match_time)?$match_time:date('H:i',time()) }}" > -->
             </div>
         </div>
         <div class="layui-form-item">
@@ -95,7 +97,7 @@
             </div>
         @endif
     </form>
-
+    <script src="laydate.js"></script>
     <script>
         //Demo
         layui.use(['form'], function(){
@@ -113,7 +115,7 @@
                         //var dd = '';
                         option += '<option value></option>';
                         //dd += '<dd lay-value class="layui-select-tips">请选择</dd>';
-                        for(var i=0;i<data.length;i++){  //循环获取返回值,并组装成html代码
+                        for(var i=0;i<data.length;i++){  //循环获取返回值,并组装成html代码1
                             option += "<option value="+data[i]["id"]+">"+data[i]["team_name_cn"]+"</option>";
                         }
                         $("#home_team").html(option);
@@ -157,4 +159,19 @@
             },2500);
         }
     </script>
+
+    <script type='text/javascript'>
+        laydate.render({
+            elem: '#date'
+            ,value: '2017-09-10'
+            ,isInitValue: false //是否允许填充初始值,默认为 true
+        });
+
+        //时间选择器
+        laydate.render({ 
+            elem: '#time'
+            ,type: 'time'
+        });
+
+    </script>
 @endsection

+ 1 - 1
resources/views/sports/soccer_match.blade.php

@@ -197,7 +197,7 @@
     //    active[type] ? active[type].call(this) : '';
     //  });
 
-    //重置表单
+    //重置表单1
     $('.reset').on('click',function(){
     $('input').val('');
     $('#infoname').val('');

+ 19 - 2
resources/views/sports/tennis_form.blade.php

@@ -32,13 +32,15 @@
         <div class="layui-form-item">
             <label class="layui-form-label">赛事日期</label>
             <div class="layui-input-block">
-                <input type="date" name="match_date" lay-verify="" autocomplete="off" class="layui-input"  value="{{ isset($match_date)?$match_date:date('Y-m-d',time()) }}" >
+                <input type="text" id="date" name="match_date" lay-verify="" autocomplete="off" class="layui-input"  value="" >
+                <!-- <input type="date" name="match_date" lay-verify="" autocomplete="off" class="layui-input"  value="{{ isset($match_date)?$match_date:date('Y-m-d',time()) }}" > -->
             </div>
         </div>
         <div class="layui-form-item">
             <label class="layui-form-label">赛事时间</label>
             <div class="layui-input-block">
-                <input type="time" name="match_time" autocomplete="off" class="layui-input" value="{{ isset($match_time)?$match_time:date('H:i',time()) }}" >
+                <input type="time" id='time' name="match_time" autocomplete="off" class="layui-input" value="" >
+                <!-- <input type="time" name="match_time" autocomplete="off" class="layui-input" value="{{ isset($match_time)?$match_time:date('H:i',time()) }}" > -->
             </div>
         </div>
         <div class="layui-form-item">
@@ -96,6 +98,7 @@
         @endif
     </form>
 
+    <script src="laydate.js"></script>
 
     <script>
         //Demo
@@ -158,4 +161,18 @@
             },2500);
         }
     </script>
+     <script type='text/javascript'>
+        laydate.render({
+            elem: '#date'
+            ,value: '2017-09-10'
+            ,isInitValue: false //是否允许填充初始值,默认为 true
+        });
+
+        //时间选择器
+        laydate.render({ 
+            elem: '#time'
+            ,type: 'time'
+        });
+
+    </script>
 @endsection