ソースを参照

fix(merchant): 修复推荐商品混入逻辑

- 修改了推荐商品混入条件,仅在用户已登录且没有主动搜索时执行
- 添加了关键词检测逻辑,避免在有搜索关键词时混入推荐商品
- 保持每页商品数量不变的随机插入机制
shichen 2 ヶ月 前
コミット
f3e22864c1
共有1 個のファイルを変更した3 個の追加2 個の削除を含む
  1. 3 2
      app/controller/api/store/merchant/Merchant.php

+ 3 - 2
app/controller/api/store/merchant/Merchant.php

@@ -169,9 +169,10 @@ class Merchant extends BaseController
169 169
         // ===== sort 随机打乱结束 =====
170 170
 
171 171
         // ===== 混入推荐商品逻辑(每页3-5个,跨页不重复,随机插入) =====
172
-        // 用户已登录时,将搜索关键词匹配的商品随机混入列表,保持每页商品数量不变
172
+        // 用户已登录且没有主动搜索时,将搜索关键词匹配的商品随机混入列表,保持每页商品数量不变
173 173
         // 跨页去重方案:一次性查询所有匹配商品形成"推荐池",按页码切片取不同子集
174
-        if (!is_null($this->userInfo) && !empty($result['list'])) {
174
+        $hasKeyword = !empty($params['keyword'] ?? '') || !empty($this->request->param('keyword', ''));
175
+        if (!is_null($this->userInfo) && !empty($result['list']) && !$hasKeyword) {
175 176
             try {
176 177
                 // 1. 获取用户最近的搜索关键词(去重)
177 178
                 $searchKeywords = Db::name('user_visit')