|
@@ -890,10 +890,10 @@ class DataLogic
|
|
|
->get()->toArray();
|
|
->get()->toArray();
|
|
|
if (empty($local_match)) throw new \Exception(Response::generate('', Response::MATCHID_NULL));
|
|
if (empty($local_match)) throw new \Exception(Response::generate('', Response::MATCHID_NULL));
|
|
|
//更新状态字段
|
|
//更新状态字段
|
|
|
- if($game_code == 'zq'){
|
|
|
|
|
|
|
+ if ($game_code == 'zq') {
|
|
|
foreach ($local_match as $k => $v) {
|
|
foreach ($local_match as $k => $v) {
|
|
|
- foreach($data['data'] as $kk =>$vv){
|
|
|
|
|
- if($v['others_match_id'] == $vv['match_id']){
|
|
|
|
|
|
|
+ foreach ($data['data'] as $kk => $vv) {
|
|
|
|
|
+ if ($v['others_match_id'] == $vv['match_id']) {
|
|
|
$set_status = [
|
|
$set_status = [
|
|
|
'status' => $vv['status'],
|
|
'status' => $vv['status'],
|
|
|
'is_rollball' => $vv['is_rollball'],
|
|
'is_rollball' => $vv['is_rollball'],
|
|
@@ -909,10 +909,10 @@ class DataLogic
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- }else{
|
|
|
|
|
|
|
+ } else {
|
|
|
foreach ($local_match as $k => $v) {
|
|
foreach ($local_match as $k => $v) {
|
|
|
- foreach($data['data'] as $kk =>$vv){
|
|
|
|
|
- if($v['others_match_id'] == $vv['match_id']){
|
|
|
|
|
|
|
+ foreach ($data['data'] as $kk => $vv) {
|
|
|
|
|
+ if ($v['others_match_id'] == $vv['match_id']) {
|
|
|
$set_status = [
|
|
$set_status = [
|
|
|
'status' => $vv['status'],
|
|
'status' => $vv['status'],
|
|
|
'is_rollball' => $vv['is_rollball'],
|
|
'is_rollball' => $vv['is_rollball'],
|
|
@@ -946,7 +946,7 @@ class DataLogic
|
|
|
*写 冠军联赛 赔率 数据
|
|
*写 冠军联赛 赔率 数据
|
|
|
*每个请求 包含 N个联赛 下 N条赔率
|
|
*每个请求 包含 N个联赛 下 N条赔率
|
|
|
*/
|
|
*/
|
|
|
- public function setOddsCH($data)
|
|
|
|
|
|
|
+ public function setOddsCH_v1($data)
|
|
|
{
|
|
{
|
|
|
|
|
|
|
|
try {
|
|
try {
|
|
@@ -1090,6 +1090,165 @@ class DataLogic
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /*
|
|
|
|
|
+ *写 冠军联赛 赔率 数据
|
|
|
|
|
+ *每个请求 包含 1个联赛 下 N条赔率
|
|
|
|
|
+ *追加赔率过滤
|
|
|
|
|
+ */
|
|
|
|
|
+ public function setOddsCH($data)
|
|
|
|
|
+ {
|
|
|
|
|
+ try {
|
|
|
|
|
+ //开启事务
|
|
|
|
|
+ DB::beginTransaction();
|
|
|
|
|
+ $obt = $data['data'];
|
|
|
|
|
+
|
|
|
|
|
+ //请求 数据 为空
|
|
|
|
|
+ if (empty($obt)) throw new \Exception(Response::generate('请求数据为空,', Response::ABNORMAL));
|
|
|
|
|
+ $getData = $this->getAddData($obt);
|
|
|
|
|
+ //不是 冠军 赔率 数据
|
|
|
|
|
+ if ($getData['title'] != 'odds_ch') throw new \Exception(Response::generate('不是冠军赔率数据,', Response::ABNORMAL));
|
|
|
|
|
+
|
|
|
|
|
+ /*
|
|
|
|
|
+ //写请求数据 日志记录
|
|
|
|
|
+ if($this->isRecord){
|
|
|
|
|
+ $setSportsRecord = St_set_sports_recordModel::setSportsRecord($getData['title'],$obt,$getData);
|
|
|
|
|
+ if($setSportsRecord < 1) throw new \Exception(Response::generate('',Response::SPORTS_RECORD_ERR));
|
|
|
|
|
+ }
|
|
|
|
|
+ */
|
|
|
|
|
+
|
|
|
|
|
+ //获取球类代码
|
|
|
|
|
+ $game_code = $getData['game_code'];
|
|
|
|
|
+ //获取数据源
|
|
|
|
|
+ $source = $getData['source'];
|
|
|
|
|
+ //获取球类名称
|
|
|
|
|
+ $gameName = gameModel::getGameName($game_code);
|
|
|
|
|
+ //获取数据源联赛ID
|
|
|
|
|
+ $s_lg_id = $getData['lg_id'];
|
|
|
|
|
+ //获取源数据联赛UUID
|
|
|
|
|
+ $uuid = $getData['uuid'];
|
|
|
|
|
+ //获取 model
|
|
|
|
|
+ $models = commonFunction::getModels($game_code, 1);
|
|
|
|
|
+
|
|
|
|
|
+ //获取 赔率数据
|
|
|
|
|
+ $oddsData = $getData['data'];
|
|
|
|
|
+
|
|
|
|
|
+ //验证本次请求所属联赛/赛事是否存在 返回本地联赛/赛事ID
|
|
|
|
|
+ $lg_id = $this->leagueVerify($models, $uuid, $source, $gameName);
|
|
|
|
|
+
|
|
|
|
|
+ //===追加处理赔率过滤===
|
|
|
|
|
+ //获取当前联赛 在本地的所有赔率
|
|
|
|
|
+ $l_odds_data = $models['model_odds']::select('odds_only')->where(['lg_id' => $lg_id, 'type' => 1])->get()->toArray();
|
|
|
|
|
+ //获取请求待写入数据
|
|
|
|
|
+ $setOddsData = [];
|
|
|
|
|
+ //获取本地待删除数据
|
|
|
|
|
+ $delOddsData = [];
|
|
|
|
|
+ //本地没有该赛事赔率,则直接全部写入
|
|
|
|
|
+ if (empty($l_odds_data)) {
|
|
|
|
|
+ $setOddsData = $oddsData;
|
|
|
|
|
+ } //本地有该赛事赔率,则分别获取需写入/删除的数据
|
|
|
|
|
+ else {
|
|
|
|
|
+ $newodds_t = $this->ArrayKeySet($oddsData, 'odds_only');
|
|
|
|
|
+ $oldodds_t = $this->ArrayKeySet($l_odds_data, 'odds_only');
|
|
|
|
|
+ foreach ($newodds_t as $key => $val) {
|
|
|
|
|
+ if (isset($oldodds_t[$key])) {
|
|
|
|
|
+ unset($newodds_t[$key]);
|
|
|
|
|
+ unset($oldodds_t[$key]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ $oddsData = $newodds_t;
|
|
|
|
|
+ $l_odds_data = $oldodds_t;
|
|
|
|
|
+
|
|
|
|
|
+ sort($oddsData);
|
|
|
|
|
+ sort($l_odds_data);
|
|
|
|
|
+ //需写入请求数据
|
|
|
|
|
+ $setOddsData = $oddsData;
|
|
|
|
|
+ //需删除本地数据
|
|
|
|
|
+ $delOddsData = $l_odds_data;
|
|
|
|
|
+ }
|
|
|
|
|
+ //===end===
|
|
|
|
|
+
|
|
|
|
|
+ //删除本地不在请求中的数据
|
|
|
|
|
+ if (!empty($delOddsData)) {
|
|
|
|
|
+ //所有需删除数据odds_only
|
|
|
|
|
+ $odds_onlys = [];
|
|
|
|
|
+ foreach ($delOddsData as $k => $v) {
|
|
|
|
|
+ $odds_onlys[] = $v['odds_only'];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ $del = $models['model_odds']::whereIn('odds_only', $odds_onlys)->delete();
|
|
|
|
|
+ if ($del != count($odds_onlys)) throw new \Exception(Response::generate($gameName, Response::DEL_ODDS_ERR));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //写入请求中本地不存在的数据
|
|
|
|
|
+ if (!empty($setOddsData)) {
|
|
|
|
|
+ foreach ($setOddsData as $k => $v) {
|
|
|
|
|
+ //组装赔率记录数据
|
|
|
|
|
+ $set_odds_r[] = [
|
|
|
|
|
+ 'match_id' => 0,
|
|
|
|
|
+ 'others_match_id' => $v['match_id'] ?: 0,
|
|
|
|
|
+ 'odds_code' => $v['odds_code'] ?: '',
|
|
|
|
|
+ 'status' => $v['status'] ?: 0,
|
|
|
|
|
+ 'sort' => $v['sort'] ?: 0,
|
|
|
|
|
+ 'p_code' => $v['p_code'] ?: '',
|
|
|
|
|
+ 'odds' => $v['odds'] ?: 0,
|
|
|
|
|
+ 'condition' => $v['condition'],
|
|
|
|
|
+ 'odds_only' => $v['odds_only'] ?: '',
|
|
|
|
|
+ 'source' => $v['source'] ?: '',
|
|
|
|
|
+ 'type' => $v['type'] ?: 1,
|
|
|
|
|
+ 'team' => $v['team'] ?: '',
|
|
|
|
|
+ 'lg_id' => $lg_id,
|
|
|
|
|
+ 'others_lg_id' => $v['lg_id'],
|
|
|
|
|
+ 'ctime' => date('Y-m-d H:i:s'),
|
|
|
|
|
+ 'utime' => date('Y-m-d H:i:s'),
|
|
|
|
|
+ ];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ foreach ($oddsData as $k => $v) {
|
|
|
|
|
+ //组装赔率数据
|
|
|
|
|
+ $set_odds[] = [
|
|
|
|
|
+ 'match_id' => 0,
|
|
|
|
|
+ 'others_match_id' => $v['match_id'] ?: 0,
|
|
|
|
|
+ 'odds_code' => $v['odds_code'] ?: '',
|
|
|
|
|
+ 'status' => $v['status'] ?: 0,
|
|
|
|
|
+ 'sort' => $v['sort'] ?: 0,
|
|
|
|
|
+ 'p_code' => $v['p_code'] ?: '',
|
|
|
|
|
+ 'odds' => $v['odds'] ?: 0,
|
|
|
|
|
+ 'condition' => $v['condition'],
|
|
|
|
|
+ 'odds_only' => $v['odds_only'] ?: '',
|
|
|
|
|
+ 'source' => $v['source'] ?: '',
|
|
|
|
|
+ 'type' => $v['type'] ?: 1,
|
|
|
|
|
+ 'team' => $v['team'] ?: '',
|
|
|
|
|
+ 'lg_id' => $lg_id,
|
|
|
|
|
+ 'others_lg_id' => $v['lg_id'],
|
|
|
|
|
+ 'ctime' => date('Y-m-d H:i:s'),
|
|
|
|
|
+ 'utime' => date('Y-m-d H:i:s'),
|
|
|
|
|
+ 'sole' => $v['sole'],
|
|
|
|
|
+ 'expire_time' => date('Y-m-d H:i:s', time() + 60)
|
|
|
|
|
+ ];
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ //写赔率记录数据
|
|
|
|
|
+ $ret = $models['model_odds_record']::insert($set_odds_r);
|
|
|
|
|
+ if ($ret != true) throw new \Exception(Response::generate($gameName . '赔率记录;', Response::ADD_ODDS_R_ERROR));
|
|
|
|
|
+ //写赔率 数据
|
|
|
|
|
+ $ret = $models['model_odds']::insert($set_odds);
|
|
|
|
|
+ if ($ret != true) throw new \Exception(Response::generate($gameName . '赔率;', Response::ADD_ODDS_ERROR));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ $this->writeLog($data, Response::success());
|
|
|
|
|
+ //提交事务
|
|
|
|
|
+ DB::commit();
|
|
|
|
|
+ return Response::success();
|
|
|
|
|
+ } catch (\Exception $e) {
|
|
|
|
|
+ //回滚事务
|
|
|
|
|
+ DB::rollBack();
|
|
|
|
|
+ $this->writeLog($data, ['file' => $e->getFile(), 'line' => $e->getLine(), 'msg' => $e->getMessage()]);
|
|
|
|
|
+ return $e->getMessage();
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
/*
|
|
/*
|
|
|
* 写入直播 数据
|
|
* 写入直播 数据
|
|
|
*/
|
|
*/
|