周末网课 1.1.1 版本进度不同步问题解决方案
在周末网课 1.1 版本中,出现了进度不同步的问题。经过排查,发现该问题源于 cron.php
文件中的接口逻辑。默认情况下,该接口仅拉取订单状态为“进行中”的订单。然而,29 网课对接过来的订单状态丰富多样,包括待处理、已暂停、待考试等。一旦订单处于非“进行中”状态,接口便不会获取需要同步的订单进而导致进度不同步的问题。
解决方案
步骤一:修改 cron.php
文件
-
定位文件:找到周末网课模板的根目录目录下找到
cron.php
文件,并使用文本编辑器将其打开。 -
修改代码在
cron.php
文件中,搜索代码中的and status='进行中'
,将其替换为status != '已完成'
。需要注意的是,文件中有两处这样的代码,都需要进行替换。以下是修改示例:
// 修改前示例
$a = $DB->query("select * from qingka_wangke_order where dockstatus=1 and status='进行中' order by oid desc");
// 修改后示例
$a = $DB->query("select * from qingka_wangke_order where dockstatus=1 and status != '已完成' ");
步骤二:运行监控任务
完成代码修改后需要运行监控任务以使修改生效。在浏览器中访问以下 URL:
http://你的域名/cron.php?act=update
将上述 URL 中的“你的域名”替换为实际的域名。访问该 URL 后,系统将执行订单同步操作,此时你会发现订单已经成功同步。
通过以上步骤,即可解决周末网课 1.1.1 版本中因订单状态限制导致的进度不同步问题。