大佬,buy.php 减库存失败后,生成静态文件的是哪行代码我看不出来
来源:8-9 提高数据处理速度-代码改造(二)
慕瓜9281148
2017-12-20
// 8 扣除商品剩余数量
$left = $goods_model->changeLeftNumCached($goods_id, 0-$goods_num);
$ok = false;
if ($left >= 0) {
$ok = $goods_model->changeLeftNum($goods_id, 0-$goods_num);
} else {
// 扣除商品库存失败
$goods_model->changeStatusCached($goods_id, 0);
$result = array('error_no' => '108', 'error_msg' => '商品剩余数量不足');
show_result($result);
}
public function changeStatusCached($id, $status) {
$redis_obj = \common\Datasource::getRedis('instance1');
$key = 'st_g_' . $id;
return $redis_obj->set($key, $status);
}
这里我看只是扣减失败后将数据更新到了redis, 生成静态文件是怎么生成的?
1回答
-
还真是少了一行生成文件的代码,放在buy.php的168行,也就是“扣除商品库存失败”,在 show_result 之前增加上生成这个js文件。
file_put_contents(ROOT_PATH . '/web/astatus/' . $active_id . '_' . $goods_id . '.js', '{"error_no":"202","error_msg":"\u6d3b\u52a8\u5546\u54c1\u5df2\u4e0b\u67b6\u6216\u8005\u5df2\u552e\u5b8c"}');
012017-12-21
相似问题