From 2ac77e7cc9da8bc2c7ddd1d03ce2c629d6c64355 Mon Sep 17 00:00:00 2001 From: "liu.zixi" Date: Sat, 13 Dec 2025 15:40:06 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E3=80=90FCJDFDXTXS-87=E3=80=91=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=E7=BD=AE=E9=A1=B6=E6=97=B6=E5=AF=B9es=E7=9A=84?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../course/service/impl/CoursePageServiceImpl.java | 11 +++++++++-- .../module/course/service/impl/PublishCourseUtil.java | 9 +++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CoursePageServiceImpl.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CoursePageServiceImpl.java index 93368371..99d5b14c 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CoursePageServiceImpl.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/CoursePageServiceImpl.java @@ -158,6 +158,7 @@ public class CoursePageServiceImpl implements ICoursePageService { public ServiceResponse top(String courseId, boolean top) { // 1. 查询课程数据 Course course = courseDao.get(courseId); + Map fieldMap = new HashMap<>(); if (top) { // 2. 执行置顶操作 // 2.1 目前课程是否已置顶 @@ -172,10 +173,14 @@ public class CoursePageServiceImpl implements ICoursePageService { return ServiceResponse.failure("最多只能置顶10个课程"); } // 2.3 设置置顶 + LocalDateTime now = LocalDateTime.now(); courseDao.updateMultiFieldById(courseId, UpdateBuilder.create("isTop", top), - UpdateBuilder.create("topTime", LocalDateTime.now()), + UpdateBuilder.create("topTime", now), UpdateBuilder.create("sortWeight", 0)); + fieldMap.put("isTop", 1); + fieldMap.put("topTime", now); + fieldMap.put("sortWeight", 0); } else { // 3. 取消置顶 // 3.1 课程是否已置顶 @@ -189,12 +194,14 @@ public class CoursePageServiceImpl implements ICoursePageService { UpdateBuilder.create("isTop", top), UpdateBuilder.create("topTime", null), UpdateBuilder.create("sortWeight", 9999)); + fieldMap.put("isTop", 0); + fieldMap.put("sortWeight", 9999); } // ES同步 if (this.fullTextSearch != null) { Object fullId = courseDao.findField("fullTextId", FieldFilters.eq("id", courseId)); if (fullId != null) { - publishUtil.updateFieldByDocId((String) fullId, "isTop", top ? 1 : 0); + publishUtil.updateFieldByDocId((String) fullId, fieldMap); } } return ServiceResponse.success(true); diff --git a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/PublishCourseUtil.java b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/PublishCourseUtil.java index bed3b979..0ac1e863 100644 --- a/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/PublishCourseUtil.java +++ b/servers/boe-server-all/src/main/java/com/xboe/module/course/service/impl/PublishCourseUtil.java @@ -2,6 +2,7 @@ package com.xboe.module.course.service.impl; import java.util.ArrayList; import java.util.List; +import java.util.Map; import javax.annotation.Resource; @@ -122,6 +123,14 @@ public class PublishCourseUtil { log.error("更新全文索引字段错误",e); } } + + public void updateFieldByDocId(String docId, Map fieldMap) { + try { + fullTextSearch.updateFields(ICourseFullTextSearch.DEFAULT_INDEX_NAME, fieldMap, docId); + }catch(Exception e) { + log.error("更新全文索引字段错误",e); + } + } public void removeByDocId(String docId){ if(fullTextSearch==null) {