|
@@ -21,21 +21,23 @@ class WriteSports extends Controller{
|
|
|
* 体育数据入库接口
|
|
* 体育数据入库接口
|
|
|
*/
|
|
*/
|
|
|
public function setSports(){
|
|
public function setSports(){
|
|
|
- $obt = $_REQUEST['data'];
|
|
|
|
|
-
|
|
|
|
|
|
|
+ $obt = $_POST['data'];
|
|
|
|
|
+ //写文件
|
|
|
|
|
+// file_put_contents("C:/Users/Jun.peng/Desktop/abc/as.txt",$obt);
|
|
|
$data = $this->getAddData($obt);
|
|
$data = $this->getAddData($obt);
|
|
|
-
|
|
|
|
|
//验证二维数组内是否有空值
|
|
//验证二维数组内是否有空值
|
|
|
// foreach ($data['data'] as $v){
|
|
// foreach ($data['data'] as $v){
|
|
|
// if(in_array('', $v)) Render([], '10001', lang('Tips','Sports')->get('PARAM_ERROR'));
|
|
// if(in_array('', $v)) Render([], '10001', lang('Tips','Sports')->get('PARAM_ERROR'));
|
|
|
// }
|
|
// }
|
|
|
switch ($data['title']){
|
|
switch ($data['title']){
|
|
|
-// case 'area'://地区
|
|
|
|
|
|
|
+ case 'area'://地区
|
|
|
|
|
+ Render([], '10025', lang('Tips','Sports')->get('auth_error'));
|
|
|
// $ret = $this->area($data['data']);
|
|
// $ret = $this->area($data['data']);
|
|
|
-// break;
|
|
|
|
|
-// case 'country'://国家
|
|
|
|
|
|
|
+ break;
|
|
|
|
|
+ case 'country'://国家
|
|
|
|
|
+ Render([], '10025', lang('Tips','Sports')->get('auth_error'));
|
|
|
// $ret = $this->country($data['data']);
|
|
// $ret = $this->country($data['data']);
|
|
|
-// break;
|
|
|
|
|
|
|
+ break;
|
|
|
case 'league'://联赛
|
|
case 'league'://联赛
|
|
|
$ret = $this->league($data);
|
|
$ret = $this->league($data);
|
|
|
break;
|
|
break;
|
|
@@ -46,10 +48,12 @@ class WriteSports extends Controller{
|
|
|
$ret = $this->odds($data);
|
|
$ret = $this->odds($data);
|
|
|
break;
|
|
break;
|
|
|
case 'league_result'://联赛结果
|
|
case 'league_result'://联赛结果
|
|
|
- $ret = $this->league_result($data);
|
|
|
|
|
|
|
+ Render([], '10025', lang('Tips','Sports')->get('auth_error'));
|
|
|
|
|
+// $ret = $this->league_result($data);
|
|
|
break;
|
|
break;
|
|
|
case 'match_result'://赛事结果
|
|
case 'match_result'://赛事结果
|
|
|
- $ret = $this->com_result($data);
|
|
|
|
|
|
|
+ Render([], '10025', lang('Tips','Sports')->get('auth_error'));
|
|
|
|
|
+// $ret = $this->com_result($data);
|
|
|
break;
|
|
break;
|
|
|
case 'match_result_record'://赛事结果记录
|
|
case 'match_result_record'://赛事结果记录
|
|
|
$ret = $this->com_result_record($data);
|
|
$ret = $this->com_result_record($data);
|
|
@@ -57,6 +61,10 @@ class WriteSports extends Controller{
|
|
|
case 'odds_record'://赔率记录
|
|
case 'odds_record'://赔率记录
|
|
|
$ret = $this->odds_record($data);
|
|
$ret = $this->odds_record($data);
|
|
|
break;
|
|
break;
|
|
|
|
|
+ case ''://将所有进行中的赛事写入结果
|
|
|
|
|
+ if(empty($data['game_code'])) Render([], '10007', lang('Tips','Sports')->get('abnormal'));
|
|
|
|
|
+// if($data['game_code'] != 'zq' || $data['game_code'] != 'lq' || $data['game_code'] != 'wq' || $data['game_code'] != 'bq') Render([], '10007', lang('Tips','Sports')->get('abnormal'));
|
|
|
|
|
+ $ret = $this->match_result($data);
|
|
|
default:
|
|
default:
|
|
|
Render([], '10007', lang('Tips','Sports')->get('abnormal'));
|
|
Render([], '10007', lang('Tips','Sports')->get('abnormal'));
|
|
|
}
|
|
}
|
|
@@ -67,14 +75,96 @@ class WriteSports extends Controller{
|
|
|
Render([], '10010', lang('Tips','Sports')->get('HANDLE_ERRORS'));
|
|
Render([], '10010', lang('Tips','Sports')->get('HANDLE_ERRORS'));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
|
|
+ //计算滚球 赛事进行时间
|
|
|
|
|
+ private function secTime($sec=0){
|
|
|
|
|
+ $min = floor($sec/60);
|
|
|
|
|
+ $res = $min.':'.($sec-$min*60);
|
|
|
|
|
+ return $res;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //将进行中赛事写入 赛事结果
|
|
|
|
|
+ public function match_result($opt = []){
|
|
|
|
|
+ $game_code = $opt['game_code'];
|
|
|
|
|
+ $data = $opt['data'];
|
|
|
|
|
+ $model = $this->commonFunction->getModels($game_code,1);
|
|
|
|
|
+
|
|
|
|
|
+ if(empty($data)){
|
|
|
|
|
+ //获取赛事表所有滚球
|
|
|
|
|
+ $matchData = lm($model['model_match'],'Sports')
|
|
|
|
|
+ ->select('id','home_team','guest_team','lg_id','status','tag','match_time')
|
|
|
|
|
+ ->where(['status'=> 1])
|
|
|
|
|
+ ->get()
|
|
|
|
|
+ ->toarray();
|
|
|
|
|
+// dd($matchData);
|
|
|
|
|
+ //没有滚球数据,无需操作
|
|
|
|
|
+ if(empty($matchData)) Render([], '1', lang('Tips','Sports')->get('success'));
|
|
|
|
|
+ //获取赛事结果表 所有滚球
|
|
|
|
|
+ $matchData_r = lm($model['model_result'],'Sports')
|
|
|
|
|
+ ->select()
|
|
|
|
|
+ ->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"=>$this->newTime
|
|
|
|
|
+ ];
|
|
|
|
|
+ }
|
|
|
|
|
+ $ret = lm($model['model_result'],'Sports')->insert($set_match_r);
|
|
|
|
|
+ if($ret != true) Render([], '10022', lang('Tips','Sports')->get('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"=>$this->newTime
|
|
|
|
|
+ ];
|
|
|
|
|
+ }
|
|
|
|
|
+ $ret = lm($model['model_result'],'Sports')->insert($set_match_r);
|
|
|
|
|
+ if($ret != true) Render([], '10022', lang('Tips','Sports')->get('add_match_r_error'));
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ Render([], '1', lang('Tips','Sports')->get('success'));
|
|
|
|
|
+ }
|
|
|
//写入地区数据 弃用
|
|
//写入地区数据 弃用
|
|
|
- public function __area($opt = []){
|
|
|
|
|
|
|
+ public function area($opt = []){
|
|
|
$ret = lm('st_area','Sports')->insert($opt);
|
|
$ret = lm('st_area','Sports')->insert($opt);
|
|
|
return $ret;
|
|
return $ret;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
//写入国家数据 弃用
|
|
//写入国家数据 弃用
|
|
|
- public function __country($opt = []){
|
|
|
|
|
|
|
+ public function country($opt = []){
|
|
|
$ret = lm('st_country','Sports')->insert($opt);
|
|
$ret = lm('st_country','Sports')->insert($opt);
|
|
|
return $ret;
|
|
return $ret;
|
|
|
}
|
|
}
|
|
@@ -127,44 +217,6 @@ class WriteSports extends Controller{
|
|
|
|
|
|
|
|
Render([], '1', lang('Tips','Sports')->get('success'));
|
|
Render([], '1', lang('Tips','Sports')->get('success'));
|
|
|
}
|
|
}
|
|
|
- //弃用
|
|
|
|
|
- public function __league($opt = []){
|
|
|
|
|
- $game_code = $opt['game_code'];
|
|
|
|
|
- //根据球类代码获取相关model
|
|
|
|
|
- $model = $this->commonFunction->getModels($game_code,1);
|
|
|
|
|
- $data = $opt['data'];
|
|
|
|
|
-// foreach ($opt['data'] as $k => $v){
|
|
|
|
|
- //验证联赛所属国家
|
|
|
|
|
- if(!empty($data['country_id'])){
|
|
|
|
|
- $country = lm('st_country','Sports')
|
|
|
|
|
- ->where(['country_id'=>$data['country_id']])
|
|
|
|
|
- ->count();
|
|
|
|
|
- if($country < 1) Render([], '10013', lang('Tips','Sports')->get('country_error'));
|
|
|
|
|
- }
|
|
|
|
|
- //验证联赛所属地区
|
|
|
|
|
- if(!empty($data['area_id'])){
|
|
|
|
|
- $area = lm('st_area','Sports')
|
|
|
|
|
- ->where(['id'=>$data['area_id']])
|
|
|
|
|
- ->count();
|
|
|
|
|
- if($area < 1) Render([], '10014', lang('Tips','Sports')->get('area_error'));
|
|
|
|
|
- }
|
|
|
|
|
- $post = lm($model['model_league'],'Sports')
|
|
|
|
|
- ->where(['lg_id'=>$data['lg_id']])
|
|
|
|
|
- ->count();
|
|
|
|
|
- //更新操作
|
|
|
|
|
- if($post > 0){
|
|
|
|
|
- $ret = lm($model['model_league'],'Sports')
|
|
|
|
|
- -> where(['lg_id'=>$data['lg_id']])
|
|
|
|
|
- -> update($data);
|
|
|
|
|
- if($ret < 1) Render([], '10011', lang('Tips','Sports')->get('update_error'));
|
|
|
|
|
- }else{
|
|
|
|
|
- //写入操作
|
|
|
|
|
- $ret = lm($model['model_league'],'Sports')->insert($data);
|
|
|
|
|
- if($ret != true) Render([], '10012', lang('Tips','Sports')->get('insert_error'));
|
|
|
|
|
- }
|
|
|
|
|
-// }
|
|
|
|
|
- Render([], '1', lang('Tips','Sports')->get('success'));
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
//写入赛事数据
|
|
//写入赛事数据
|
|
|
public function competition($opt = []){
|
|
public function competition($opt = []){
|
|
@@ -184,36 +236,56 @@ class WriteSports extends Controller{
|
|
|
|
|
|
|
|
//查询关联记录是否存在
|
|
//查询关联记录是否存在
|
|
|
$match_id = lm($model['model_local_match'],'Sports')
|
|
$match_id = lm($model['model_local_match'],'Sports')
|
|
|
- ->select('match_id')
|
|
|
|
|
->where(['others_match_id'=>$data['match_id'],'source'=>$data['source']])
|
|
->where(['others_match_id'=>$data['match_id'],'source'=>$data['source']])
|
|
|
- ->first()->match_id;
|
|
|
|
|
|
|
+ ->value('match_id');
|
|
|
if(empty($match_id)){
|
|
if(empty($match_id)){
|
|
|
//查询赛事是否存在
|
|
//查询赛事是否存在
|
|
|
$id = lm($model['model_match'],'Sports')
|
|
$id = lm($model['model_match'],'Sports')
|
|
|
- ->select('id')
|
|
|
|
|
->where(['home_team'=>$data['home_team'],'guest_team'=>$data['guest_team'],'match_date'=>$data['match_date'],'match_time'=>$data['match_time']])
|
|
->where(['home_team'=>$data['home_team'],'guest_team'=>$data['guest_team'],'match_date'=>$data['match_date'],'match_time'=>$data['match_time']])
|
|
|
- ->first()->id;
|
|
|
|
|
-
|
|
|
|
|
|
|
+ ->value('id');
|
|
|
|
|
+
|
|
|
|
|
+ //如果有上半场赛事id 获取上半场赛事是否存在
|
|
|
|
|
+ if(!empty($data['half_match_id'])){
|
|
|
|
|
+ $half_match_id = $match_id = lm($model['model_local_match'],'Sports')
|
|
|
|
|
+ ->where(['others_match_id'=>$data['half_match_id'],'source'=>$data['source']])
|
|
|
|
|
+ ->value('match_id');
|
|
|
|
|
+ if(empty($half_match_id)) Render([], '10024', lang('Tips','Sports')->get('half_match_error'));
|
|
|
|
|
+ }
|
|
|
//写入赛事
|
|
//写入赛事
|
|
|
if(empty($id)){
|
|
if(empty($id)){
|
|
|
|
|
+ //如果赛事没有开始日期,则为冠军盘口赛事
|
|
|
|
|
+ if(empty($data['match_date'])){
|
|
|
|
|
+ //冠军盘口赛事获取所属联赛结束时间
|
|
|
|
|
+ $last_time = lm($model['model_league'],'Sports')
|
|
|
|
|
+ ->where(['id'=>$lg_id])
|
|
|
|
|
+ ->value('last_time');
|
|
|
|
|
+
|
|
|
|
|
+ if(empty($last_time)) 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 = [
|
|
$set_match = [
|
|
|
'ctime'=>$this->newTime,
|
|
'ctime'=>$this->newTime,
|
|
|
'utime'=>$this->newTime,
|
|
'utime'=>$this->newTime,
|
|
|
'expire_time'=>date('Y-m-d H:m:i',time()+60),
|
|
'expire_time'=>date('Y-m-d H:m:i',time()+60),
|
|
|
- 'home_team'=>$data['home_team'],
|
|
|
|
|
- 'guest_team'=>$data['guest_team'],
|
|
|
|
|
|
|
+ 'home_team'=>$data['home_team']?:'',
|
|
|
|
|
+ 'guest_team'=>$data['guest_team']?:'no_team',
|
|
|
'lg_id'=>$lg_id,
|
|
'lg_id'=>$lg_id,
|
|
|
'status'=>$data['status'],
|
|
'status'=>$data['status'],
|
|
|
- 'match_date'=>$data['match_date'],
|
|
|
|
|
- 'match_time'=>$data['match_time'],
|
|
|
|
|
- 'tag'=>$data['tag'],
|
|
|
|
|
- 'is_rollball'=>$data['is_rollball'],
|
|
|
|
|
- 'is_today'=>$data['is_today'],
|
|
|
|
|
- 'is_morningplate'=>$data['is_morningplate'],
|
|
|
|
|
- 'is_stringscene'=>$data['is_stringscene'],
|
|
|
|
|
- 'us_time'=>$data['us_time'],
|
|
|
|
|
|
|
+ 'match_date'=>$data['match_date']?:'',
|
|
|
|
|
+ 'match_time'=>$data['match_time']?:'',
|
|
|
|
|
+ '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']?:'',
|
|
|
|
|
+ 'half_match_id'=>$half_match_id?:0,
|
|
|
];
|
|
];
|
|
|
-
|
|
|
|
|
|
|
+ //写入赛事 返回id
|
|
|
$id = lm($model['model_match'],'Sports')->insertGetId($set_match);
|
|
$id = lm($model['model_match'],'Sports')->insertGetId($set_match);
|
|
|
if($id < 1) Render([], '10012', lang('Tips','Sports')->get('insert_error'));
|
|
if($id < 1) Render([], '10012', lang('Tips','Sports')->get('insert_error'));
|
|
|
}
|
|
}
|
|
@@ -228,38 +300,6 @@ class WriteSports extends Controller{
|
|
|
Render([], '1', lang('Tips','Sports')->get('success'));
|
|
Render([], '1', lang('Tips','Sports')->get('success'));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- //写入赛事数据 弃用
|
|
|
|
|
- public function __competition($opt = []){
|
|
|
|
|
- $game_code = $opt['game_code'];
|
|
|
|
|
- //根据球类代码获取相关model
|
|
|
|
|
- $model = $this->commonFunction->getModels($game_code,1);
|
|
|
|
|
- $data = $opt['data'];
|
|
|
|
|
-// foreach ($opt['data'] as $k => $v){
|
|
|
|
|
- //验证赛事所属联赛
|
|
|
|
|
- if(!empty($data['lg_id'])){
|
|
|
|
|
- $lg = lm($model['model_league'],'Sports')
|
|
|
|
|
- ->where(['lg_id'=>$data['lg_id']])
|
|
|
|
|
- ->count();
|
|
|
|
|
- if($lg < 1) Render([], '10015', lang('Tips','Sports')->get('league_error'));
|
|
|
|
|
- }
|
|
|
|
|
- $post = lm($model['model_match'],'Sports')
|
|
|
|
|
- ->where(['match_id'=>$data['match_id']])
|
|
|
|
|
- ->count();
|
|
|
|
|
- //更新操作
|
|
|
|
|
- if($post > 0){
|
|
|
|
|
- $ret = lm($model['model_match'],'Sports')
|
|
|
|
|
- -> where(['match_id'=>$data['match_id']])
|
|
|
|
|
- -> update($data);
|
|
|
|
|
- if($ret < 1) Render([], '10011', lang('Tips','Sports')->get('update_error'));
|
|
|
|
|
- }else{
|
|
|
|
|
- //写入操作
|
|
|
|
|
- $ret = lm($model['model_match'],'Sports')->insert($data);
|
|
|
|
|
- if($ret != true) Render([], '10012', lang('Tips','Sports')->get('insert_error'));
|
|
|
|
|
- }
|
|
|
|
|
-// }
|
|
|
|
|
- Render([], '1', lang('Tips','Sports')->get('success'));
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
//写入赔率数据
|
|
//写入赔率数据
|
|
|
public function odds($opt){
|
|
public function odds($opt){
|
|
|
$game_code = $opt['game_code'];
|
|
$game_code = $opt['game_code'];
|