소스 검색

Merge remote-tracking branch 'remotes/origin/developer' into developerC

Aslee 3 년 전
부모
커밋
b457c32cdd

+ 13 - 0
src/main/java/com/caimei365/commodity/controller/SearchIndexApi.java

@@ -105,6 +105,19 @@ public class SearchIndexApi {
         return searchIndexService.updateProductIndexById(updateIndexDto.getProductId());
     }
 
+    /**
+     * 根据多个商品Id更新
+     */
+    @ApiOperation("根据多个商品Id更新")
+    @PostMapping("/update/products")
+    public ResponseJson updateProductsIndex(String productIds) {
+        String[] productIdArr = productIds.split(",");
+        for (String productId : productIdArr) {
+            searchIndexService.updateProductIndexById(Integer.parseInt(productId));
+        }
+        return ResponseJson.success();
+    }
+
     /**
      * 根据供应商Id更新
      *

+ 9 - 4
src/main/java/com/caimei365/commodity/service/impl/SearchIndexServiceImpl.java

@@ -954,20 +954,25 @@ public class SearchIndexServiceImpl implements SearchIndexService {
             PageHelper.startPage(i, 50);
             // 获取失效商品IDs
             List<Integer> invalidIds = searchMapper.findArticleInvalidIds();
-            // 删除文档只需要设置需删除文档主键值即可
-            Map<String, Object> deleteDoc = Maps.newLinkedHashMap();
+            JSONArray docsJsonArr = new JSONArray();
             for (Integer invalidId : invalidIds) {
+                // 删除文档只需要设置需删除文档主键值即可
+                Map<String, Object> deleteDoc = Maps.newLinkedHashMap();
                 // 根据ID(主键)删除文档
                 deleteDoc.put("a_id", invalidId);
                 Integer mainId = searchQueryService.getIdByDocId("article", invalidId);
                 if (mainId > -1) {
                     deleteDoc.put("id", mainId);
                 }
+                //此处设置删除文档处理
+                JSONObject deleteJson = new JSONObject();
+                deleteJson.put(DocumentConstants.DOC_KEY_CMD, Command.DELETE.toString());
+                deleteJson.put(DocumentConstants.DOC_KEY_FIELDS, deleteDoc);
+                docsJsonArr.put(deleteJson);
             }
             try {
-                String deleteJsonStr = setDeleteDocument(deleteDoc);
                 // 推送到阿里云
-                String deleteResult = searchOpenService.pushDocument(deleteJsonStr, "search_article");
+                String deleteResult = searchOpenService.pushDocument(docsJsonArr.toString(), "search_article");
                 log.info("删除文档:" + deleteResult);
             } catch (OpenSearchClientException | OpenSearchException | JSONException e) {
                 log.warn("删除文档异常:" + e);

+ 6 - 0
src/main/java/com/caimei365/commodity/utils/AppletsLinkUtil.java

@@ -150,6 +150,10 @@ public class AppletsLinkUtil {
      * 28认证通推广页
      */
     public static final Pattern pattern44 = Pattern.compile("/attestation.html");
+    /**
+     * 29领券中心
+     */
+    public static final Pattern pattern45 = Pattern.compile("/user/coupon-collection.html");
 
     /**
      * 根据链接判断链接类型
@@ -214,6 +218,8 @@ public class AppletsLinkUtil {
                 return 27;
             } else if (pattern44.matcher(link).find()) {
                 return 28;
+            } else if (pattern45.matcher(link).find()) {
+                return 29;
             } else {
                 return -1;
             }