修改苹果cms二次更新优先级
修改苹果cms连载、备注、完结的二次更新逻辑,这些二次更新内容都以播放器qq、qiyi、youku、mgtv为准,在没有这几个播放器的情况下,再以其他播放器为准,一旦视频数据播放器中加入了以上播放链接,就以以上播放链接为准。
打开文件/common/model/Collect.php,把下方开始和结束的部分代码插入到文件第765行,插入完成可以对比以下上下文
elseif($param['opt'] == 1){
$des = lang('model/collect/not_check_update');
}
else {
unset($v['vod_time_add']);
// ================== 开始:自定义高优先级保护逻辑 ==================
// 1. 定义权威播放器(白名单)
$priority_players = ['qq', 'qiyi', 'youku', 'mgtv'];
// 2. 检查数据库现有数据中,是否包含权威播放器
$db_has_priority = false;
if (!empty($info['vod_play_from'])) {
$db_current_plays = explode('$$$', $info['vod_play_from']);
foreach ($db_current_plays as $p) {
if (in_array($p, $priority_players)) {
$db_has_priority = true;
break;
}
}
}
// 3. 检查当前正在采集的数据,是否属于权威播放器
$incoming_is_priority = false;
if (!empty($v['vod_play_from'])) {
$incoming_plays = explode('$$$', $v['vod_play_from']);
foreach ($incoming_plays as $p) {
if (in_array($p, $priority_players)) {
$incoming_is_priority = true;
break;
}
}
}
// 4. 执行保护逻辑:
// 如果数据库里已有权威播放器,且当前采集进来的不是权威来源
// 强制将新数据的 连载数、备注、完结状态 设为与数据库一致
// 这样后续的代码对比时会发现两者相等,从而跳过更新
if ($db_has_priority && !$incoming_is_priority) {
$v['vod_serial'] = $info['vod_serial']; // 连载数保持原样
$v['vod_remarks'] = $info['vod_remarks']; // 备注保持原样
$v['vod_isend'] = $info['vod_isend']; // 完结状态保持原样
// $v['vod_total'] = $info['vod_total']; // [可选] 总集数保持原样
}
// ================== 结束:自定义高优先级保护逻辑 ==================
$update = [];
$ec=false;


