瀏覽代碼

异常处理

彭俊 6 年之前
父節點
當前提交
e4f42dff9a

+ 7 - 3
app/Http/Controllers/Admin/SoccerNoteListController.php

@@ -632,7 +632,7 @@ class SoccerNoteListController extends Controller
 
     }
 
-    //单式订直接手动更改输赢结果并结算
+    //单式订直接手动更改输赢结果并结算
     public function manualmatchpdate(Req $req)
     {
         $order_id = isset($req->order_id) ? $req->order_id : 0;
@@ -682,7 +682,7 @@ class SoccerNoteListController extends Controller
         }
 
         $data = [
-            'token' => 'oclatv15689731035d84a12f550df',    //外网
+            'token' => session('adminInfo.token'),    //外网
             'order_ids' => $modeldata->order_id,
             'bettype' => 1,
             'settype' => 2,
@@ -691,7 +691,11 @@ class SoccerNoteListController extends Controller
             'change_status' => 0,
             'is_manual' => 1,
         ];
-        $ret = $this->request_post('http://stadmin.bocai108.com:9094/Settelement', $data);
+        $ret = $this->request_post(config('sconstant.url') . '/Settelement', $data);
+        $retjson = json_decode($ret, true);
+        if (isset($retjson['status']) && $retjson['status'] == 1) {
+            $model->where('order_id', $order_id)->update(['settle_status' => 2]);
+        }
 
         return responseToJson(1, '更新成功');
 

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

@@ -95,6 +95,7 @@ class SportsfootController extends Controller {
 			    if($warnmore[$i]['rtype']==$sousuo){
 			        $shuzu[$i]['timei'] = $warnmore[$i]['timei'];
 			        $shuzu[$i]['rtype'] = $warnmore[$i]['rtype'];
+					$shuzu[$i]['timep'] = $warnmore[$i]['timep'];
 			    }
 			}
 			$shuzu = array_values($shuzu);
@@ -134,13 +135,31 @@ class SportsfootController extends Controller {
 		$matchid = $req->matchid;
 		$wid = $req->wid;//编辑对象值
 		$timei = $req->timei?$req->timei:"1970-11-1 0:0:1";
+		$timep = $req->timep?$req->timep:"90";
 		$rtype = $req->warntype?$req->warntype:0;
 		$typenum = $req->typenum;
 		$model = \App\Models\Stzqresult::where('match_id', $matchid)->select("warn_more","start_time")->first()->toArray();
+
+		//该赛事的单式注单
+		$orders = array();
+		$account_identitys = array();
+		$order_ids = array();
+		$order = \App\Models\SportsNoteList::where('match_id',$matchid)->get();
+		if(!empty($order)){
+			for ($c=0; $c < count($order); $c++){
+				if(strtotime($timei) >= strtotime($order[$c]['money_time']) && strtotime($timei)-$timep <= strtotime($order[$c]['money_time'])){
+					$orders[] = $order[$c];
+					$account_identitys[] = $order[$c]['account_identitys'];
+					$order_ids[] = $order[$c]['order_id'];
+				}
+			}
+		}
+
 		$sel = json_decode($model['warn_more'],true);
 		$addru = array(
 			array(
 	        	'timei'=>$timei,
+				'timep'=>$timep,
 	        	'rtype'=>$rtype,
 	        ),
         );
@@ -162,10 +181,62 @@ class SportsfootController extends Controller {
 				//编辑
 				for ($i=0; $i < count($sel); $i++) { 
 					$sel[$wid]['timei'] = $timei;
+					$sel[$wid]['timep'] = $timep;
 					$sel[$wid]['rtype'] = $rtype;
 				}
 				$res = \App\Models\Stzqresult::where ('match_id', $matchid)->update(['warn_more' => json_encode($sel,JSON_UNESCAPED_UNICODE)]);
 			}
+
+			//用戶账户金额
+			$account_money = \App\Models\Account_detailed::wherein('account_identity',$account_identitys)->get();
+			//反水
+			$water_return_money = \App\Models\Money_details::wherein('trade_id',$order_ids)->where('trade_type', '7')->get();
+			if(!empty($orders)){
+				for($i=0;$i<count($orders);$i++){
+					for($a=0;$a<count($account_money);$a++){
+						if($orders[$i]['account_identity'] == $orders[$a]['account_identity']){
+							$available_cash = $account_money->available_cash;
+						}
+					}
+					for($b=0;$b<count($water_return_money);$b++){
+						if($orders[$i]['order_id'] == $water_return_money[$b]['trade_id']){
+							$water_return = $water_return_money->money;
+						} else {
+							$water_return = 0;
+						}
+					}
+					$new_available_cash = $available_cash + $orders[$i]->money - $orders[$i]->gain_money - $water_return;
+
+					$models = new \App\Models\Money_details();
+					$models->info_identity = UUID();
+					$models->trade_id = $orders[$i]->order_id;
+					$models->account_name = $orders[$i]->account_name;
+					$models->account_identity = $orders[$i]->account_identity;
+					$models->money = abs($orders[$i]->money - $orders[$i]->gain_money - $water_return);
+					$models->money_time = date("Y-m-d H:i:s", time());
+					if ($new_available_cash > $available_cash) {
+						$models->money_type = '1';
+					} else {
+						$models->money_type = '2';
+					}
+					$models->money_cash = $new_available_cash;
+					$models->trade_type = '25';
+					$models->trade_desc = '单式注单审核不通过回款';
+					$models->status = '1';
+					try {
+						DB::beginTransaction();//开启事务
+						\App\Models\SportsNoteList::where('id', $orders[$i]['id'])->update(['roll_ratify' => '-1']);
+						\App\Models\Account_detailed::where('account_identity', $orders[$i]->account_identity)->update(['available_cash' => $new_available_cash, 'cash' => $new_available_cash]);
+						$models->save();
+
+						DB::commit();//提交
+					} catch (Exception $e) {
+						DB::rollback();//回滚
+					}
+
+				}
+			}
+
 		}else{
 			return json_encode(['status'=>2,'msg'=>'请设置正确时间']);
 		}

+ 15 - 4
resources/views/admin/sportsfoot/addwarn.blade.php

@@ -27,6 +27,7 @@
         <tr class="layui-form-item">
             <td class="layui-form-label" style="width:5%;left:10px;"><h3>id</h3></td>
             <td class="layui-form-label" style="width:20%;left:10px;"><h3>危险球时间</h3></td>
+            <td class="layui-form-label" style="width:20%;left:10px;"><h3>危险球有效时间</h3></td>
             <td class="layui-form-label" style="width:20%;left:10px;"><h3>危险球类型</h3></td>
             <td class="layui-form-label" style="width:20%;left:10px;"><h3>操 作</h3></td>
         </tr>
@@ -35,6 +36,7 @@
         <tr class="layui-form-item">
             <td class="layui-form-label" style="width:5%;left:10px;">{{$k+1}}</td>
             <td class="layui-form-label" style="width:20%;left:10px;">{{$val['timei']}}</td>
+            <td class="layui-form-label" style="width:20%;left:10px;">{{$val['timep']}}</td>
             <td class="layui-form-label" style="width:20%;left:10px;">{{$val['rtype']}}</td>
             <td class="layui-form-label" style="width:20%;left:10px;">
                 <button onclick="addResult({{$match_id}},{{$k}},2)" class="layui-btn layui-btn-sm layui-btn-green set">编辑</button>
@@ -74,7 +76,7 @@
                 url: '/admin/Sportsfoot/warnresult',
                 data: {match_id:match_id,wid:wid},
                 success: function(data) {
-                    conttxt ='<div style="margin-left:50px;margin-top:20px;font-size:18px;line-height:150%;"><input type="hidden" id="matchid" name="matchid" value="'+match_id+'" /><input type="hidden" id="wid" name="wid" value="'+wid+'" /><input type="hidden" id="typenum" name="typenum" value="'+typenum+'" /><div style="display: flex;"><li>危险球时间:</li>';
+                    conttxt ='<div style="margin-left:50px;margin-top:20px;font-size:18px;line-height:150%;"><input type="hidden" id="matchid" name="matchid" value="'+match_id+'" /><input type="hidden" id="wid" name="wid" value="'+wid+'" /><input type="hidden" id="typenum" name="typenum" value="'+typenum+'" /><div style="display: flex;margin-top: 30px;"><li style="width: 110px;">危险球时间:</li>';
 
                     if(wid!=0){
                         conttxt += '<input type="text" id="timei" name="timei" value="'+data.warn_more[wid].timei+'" autocomplete="off">';
@@ -82,18 +84,26 @@
                         conttxt += '<input type="text" id="timei" name="timei" value="'+data['starttime']+'" autocomplete="off">';
                     }
 
-                    conttxt += '</div><div style="display: flex;"><li>危险球类型:</li><select name="warntype" id="warntype">';
+                    conttxt +='</div><div style="display: flex;margin-top: 20px;"><li style="width: 110px;">有效时间/s:</li>';
+                    if(data.warn_more[wid].timep!=0){
+                        conttxt += '<input type="text" id="timep" name="timep" value="'+data.warn_more[wid].timep+'" autocomplete="off">';
+                    }else{
+                        conttxt += '<input type="text" id="timep" name="timep" value="90" autocomplete="off">';
+                    }
+
+                    conttxt += '</div><div style="display: flex;margin-top: 20px;"><li style="width: 110px;">危险球类型:</li><select name="warntype" id="warntype">';
                     if(data.warn_more[wid].rtype!=0){
                         conttxt += '<option value="'+data.warn_more[wid].rtype+'">'+data.warn_more[wid].rtype+'</option><option value="0">无危险球类型';
                     }else{
                         conttxt += '<option value="0">请选择危险球类型';
                     }
 
+
                     conttxt += '</option><option value="角球">角球</option><option value="12码罚球">12码罚球</option><option value="自由球">自由球</option><option value="掷入球">掷入球</option></select></div><br><div style="margin-left:230px;"><button class="layui-btn layui-btn-sm layui-btn-green set" onclick="buttonClick()"><h3>确定</h3></button>&nbsp;<button class="layui-btn layui-btn-sm layui-btn-danger" onclick="czClick()"><h3>取消</h3></button></div></div>';
 
                     layerOpen = layer.open({
                       type: 1 //Page层类型
-                      ,area: ['500px', '200px']
+                      ,area: ['500px', '270px']
                       ,title: '<h2>危险球结果添加<h2>'
                       ,shade: 0.6 //遮罩透明度
                       ,maxmin: true //允许全屏最小化
@@ -111,6 +121,7 @@
         function buttonClick(){
             var matchid = $("#matchid").val();
             var timei = $("#timei").val();
+            var timep = $("#timep").val();
             var warntype = $("#warntype").val();
             var wid = $("#wid").val();
             var typenum = $("#typenum").val();
@@ -119,7 +130,7 @@
                 type: 'POST',
                 dataType: 'json',
                 url: '/admin/Sportsfoot/addwarnonly',
-                data: {matchid:matchid,timei:timei,warntype:warntype,wid:wid,typenum:typenum},
+                data: {matchid:matchid,timei:timei,timep:timep,warntype:warntype,wid:wid,typenum:typenum},
                 success: function(data) {
                     if(data.status==1){
                         layer.msg(data.msg);

+ 7 - 1
resources/views/sports/sports_notelist.blade.php

@@ -5,11 +5,15 @@
 @section('content')
 
     <script type="text/html" id="game_status">
+        <!--
         @{{#if(d.is_champion==1){ }}
             <a href="/admin/SoccerNoteList/orderupgj?id=@{{d.lg_id}}&order=@{{d.order_id}}" class="layui-btn layui-btn-sm layui-btn-green set">修改结果</a>
         @{{#}else{ }}
             <button onclick="addResult('@{{d.id}}','{{$type}}')" class="layui-btn layui-btn-sm layui-btn-green set">修改结果</button>
         @{{#} }}
+        -->
+
+        <button style="margin-left: 0;" onclick="setScore('@{{d.order_id}}','@{{d.match_id}}')" class="layui-btn layui-btn-sm settlement">手动设置比分</button>
 
         @{{#if(d.settle_status==1){ }}
             <span>未结算</span>
@@ -18,6 +22,8 @@
             <span>已结算</span>
         @{{#} }}
 
+
+        <!--
         @{{#if(d.status==2 || d.status==3 || d.status==5){ }}
             <button onclick="resettlement('@{{d.order_id}}','{{$type}}','@{{d.match_id}}')" class="layui-btn layui-btn-sm settlement">再1结算</button>
         @{{#} }}
@@ -28,7 +34,7 @@
         @{{#if(d.status==2 || d.status==3 || d.status==5){ }}
             <button onclick="resettlement('@{{d.order_id}}','{{$type}}','@{{d.match_id}}')" class="layui-btn layui-btn-sm settlement">再1结算</button>
         @{{#} }}
-        <button style="margin-left: 0;" onclick="setScore('@{{d.order_id}}','@{{d.match_id}}')" class="layui-btn layui-btn-sm settlement">设置比分</button>
+        -->
 
     </script>