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) {