diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index 5090716..8765f68 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -27,7 +27,7 @@
-
+
@@ -35,6 +35,7 @@
+
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
index becad6c..d74dd49 100755
--- a/.idea/encodings.xml
+++ b/.idea/encodings.xml
@@ -37,6 +37,10 @@
+
+
+
+
diff --git a/han-note-data-align/pom.xml b/han-note-data-align/pom.xml
index 920259c..bccec91 100644
--- a/han-note-data-align/pom.xml
+++ b/han-note-data-align/pom.xml
@@ -96,6 +96,11 @@
rocketmq-spring-boot-starter
+
+ com.hanserwei
+ han-note-search-api
+
+
diff --git a/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/HannoteDataAlignApplication.java b/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/HannoteDataAlignApplication.java
index 95fc4cb..809448b 100644
--- a/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/HannoteDataAlignApplication.java
+++ b/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/HannoteDataAlignApplication.java
@@ -3,9 +3,11 @@ package com.hanserwei.hannote.data.align;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.cloud.openfeign.EnableFeignClients;
@SpringBootApplication
@MapperScan("com.hanserwei.hannote.data.align.domain.mapper")
+@EnableFeignClients(basePackages = "com.hanserwei.hannote")
public class HannoteDataAlignApplication {
public static void main(String[] args) {
SpringApplication.run(HannoteDataAlignApplication.class, args);
diff --git a/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/job/FansCountShardingXxlJob.java b/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/job/FansCountShardingXxlJob.java
index abd3553..e8df9fa 100644
--- a/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/job/FansCountShardingXxlJob.java
+++ b/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/job/FansCountShardingXxlJob.java
@@ -6,6 +6,7 @@ import com.hanserwei.hannote.data.align.constant.TableConstants;
import com.hanserwei.hannote.data.align.domain.mapper.DeleteRecordMapper;
import com.hanserwei.hannote.data.align.domain.mapper.SelectRecordMapper;
import com.hanserwei.hannote.data.align.domain.mapper.UpdateRecordMapper;
+import com.hanserwei.hannote.data.align.rpc.SearchRpcService;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import jakarta.annotation.Resource;
@@ -29,6 +30,8 @@ public class FansCountShardingXxlJob {
private DeleteRecordMapper deleteRecordMapper;
@Resource
private RedisTemplate redisTemplate;
+ @Resource
+ private SearchRpcService searchRpcService;
/**
* 分片广播任务
@@ -80,6 +83,8 @@ public class FansCountShardingXxlJob {
redisTemplate.opsForHash().put(redisKey, RedisKeyConstants.FIELD_FANS_TOTAL, fansTotal);
}
}
+ // 远程 RPC, 调用搜索服务,重新构建索引
+ searchRpcService.rebuildUserDocument(userId);
});
// 删除t_data_align_fans_count_temp_日期_分片序号中的记录
diff --git a/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/job/NoteCollectCountShardingXxlJob.java b/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/job/NoteCollectCountShardingXxlJob.java
index c42496e..86acea2 100644
--- a/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/job/NoteCollectCountShardingXxlJob.java
+++ b/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/job/NoteCollectCountShardingXxlJob.java
@@ -6,6 +6,7 @@ import com.hanserwei.hannote.data.align.constant.TableConstants;
import com.hanserwei.hannote.data.align.domain.mapper.DeleteRecordMapper;
import com.hanserwei.hannote.data.align.domain.mapper.SelectRecordMapper;
import com.hanserwei.hannote.data.align.domain.mapper.UpdateRecordMapper;
+import com.hanserwei.hannote.data.align.rpc.SearchRpcService;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import jakarta.annotation.Resource;
@@ -33,6 +34,9 @@ public class NoteCollectCountShardingXxlJob {
@Resource
private RedisTemplate redisTemplate;
+ @Resource
+ private SearchRpcService searchRpcService;
+
@XxlJob("noteCollectCountShardingJobHandler")
public void noteCollectCountShardingJobHandler() throws Exception {
// 获取分片参数
@@ -81,6 +85,8 @@ public class NoteCollectCountShardingXxlJob {
redisTemplate.opsForHash().put(redisKey, RedisKeyConstants.FIELD_COLLECT_TOTAL, likeTotal);
}
}
+ // 远程 RPC, 调用搜索服务,重新构建文档
+ searchRpcService.rebuildNoteDocument(noteId);
});
// 4. 批量物理删除这一批次记录
diff --git a/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/job/NoteLikeCountShardingXxlJob.java b/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/job/NoteLikeCountShardingXxlJob.java
index 1b96d9a..78909df 100644
--- a/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/job/NoteLikeCountShardingXxlJob.java
+++ b/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/job/NoteLikeCountShardingXxlJob.java
@@ -6,6 +6,7 @@ import com.hanserwei.hannote.data.align.constant.TableConstants;
import com.hanserwei.hannote.data.align.domain.mapper.DeleteRecordMapper;
import com.hanserwei.hannote.data.align.domain.mapper.SelectRecordMapper;
import com.hanserwei.hannote.data.align.domain.mapper.UpdateRecordMapper;
+import com.hanserwei.hannote.data.align.rpc.SearchRpcService;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import jakarta.annotation.Resource;
@@ -33,6 +34,9 @@ public class NoteLikeCountShardingXxlJob {
@Resource
private DeleteRecordMapper deleteRecordMapper;
+ @Resource
+ private SearchRpcService searchRpcService;
+
@XxlJob("noteLikeCountShardingJobHandler")
public void noteLikeCountShardingJobHandler() throws Exception {
// 获取分片参数
@@ -83,6 +87,9 @@ public class NoteLikeCountShardingXxlJob {
redisTemplate.opsForHash().put(redisKey, RedisKeyConstants.FIELD_LIKE_TOTAL, likeTotal);
}
}
+
+ // 远程 RPC, 调用搜索服务,重新构建文档
+ searchRpcService.rebuildNoteDocument(noteId);
});
// 4. 批量物理删除这一批次记录
deleteRecordMapper.batchDeleteDataAlignNoteLikeCountTempTable(tableNameSuffix, noteIds);
diff --git a/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/job/NotePublishCountShardingXxlJob.java b/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/job/NotePublishCountShardingXxlJob.java
index 0cd1699..dd855be 100644
--- a/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/job/NotePublishCountShardingXxlJob.java
+++ b/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/job/NotePublishCountShardingXxlJob.java
@@ -6,6 +6,7 @@ import com.hanserwei.hannote.data.align.constant.TableConstants;
import com.hanserwei.hannote.data.align.domain.mapper.DeleteRecordMapper;
import com.hanserwei.hannote.data.align.domain.mapper.SelectRecordMapper;
import com.hanserwei.hannote.data.align.domain.mapper.UpdateRecordMapper;
+import com.hanserwei.hannote.data.align.rpc.SearchRpcService;
import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import jakarta.annotation.Resource;
@@ -29,6 +30,8 @@ public class NotePublishCountShardingXxlJob {
private DeleteRecordMapper deleteRecordMapper;
@Resource
private RedisTemplate redisTemplate;
+ @Resource
+ private SearchRpcService searchRpcService;
@XxlJob("notePublishCountShardingJobHandler")
public void notePublishCountShardingJobHandler() throws Exception {
@@ -72,6 +75,8 @@ public class NotePublishCountShardingXxlJob {
redisTemplate.opsForHash().put(redisKey, RedisKeyConstants.FIELD_NOTE_TOTAL, notePublishTotal);
}
}
+ // 远程 RPC, 调用搜索服务,重新构建索引
+ searchRpcService.rebuildUserDocument(userId);
});
// 删除 t_data_align_note_publish_count_temp_日期_分片序号
diff --git a/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/rpc/SearchRpcService.java b/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/rpc/SearchRpcService.java
new file mode 100644
index 0000000..8860a6a
--- /dev/null
+++ b/han-note-data-align/src/main/java/com/hanserwei/hannote/data/align/rpc/SearchRpcService.java
@@ -0,0 +1,41 @@
+package com.hanserwei.hannote.data.align.rpc;
+
+import com.hanserwei.hannote.search.api.SearchFeignApi;
+import com.hanserwei.hannote.search.dto.RebuildNoteDocumentReqDTO;
+import com.hanserwei.hannote.search.dto.RebuildUserDocumentReqDTO;
+import jakarta.annotation.Resource;
+import org.springframework.stereotype.Component;
+
+@Component
+public class SearchRpcService {
+
+ @Resource
+ private SearchFeignApi searchFeignApi;
+
+ /**
+ * 调用重建笔记文档接口
+ *
+ * @param noteId 笔记ID
+ */
+ public void rebuildNoteDocument(Long noteId) {
+ RebuildNoteDocumentReqDTO rebuildNoteDocumentReqDTO = RebuildNoteDocumentReqDTO.builder()
+ .id(noteId)
+ .build();
+
+ searchFeignApi.rebuildNoteDocument(rebuildNoteDocumentReqDTO);
+ }
+
+ /**
+ * 调用重建用户文档接口
+ *
+ * @param userId 用户ID
+ */
+ public void rebuildUserDocument(Long userId) {
+ RebuildUserDocumentReqDTO rebuildUserDocumentReqDTO = RebuildUserDocumentReqDTO.builder()
+ .id(userId)
+ .build();
+
+ searchFeignApi.rebuildUserDocument(rebuildUserDocumentReqDTO);
+ }
+
+}
\ No newline at end of file
diff --git a/han-note-search/han-note-search-api/pom.xml b/han-note-search/han-note-search-api/pom.xml
new file mode 100644
index 0000000..3a402de
--- /dev/null
+++ b/han-note-search/han-note-search-api/pom.xml
@@ -0,0 +1,38 @@
+
+ 4.0.0
+
+ com.hanserwei
+ han-note-search
+ ${revision}
+
+
+
+ jar
+
+ han-note-search-api
+ ${project.artifactId}
+ RPC层, 供其他服务调用
+
+
+ UTF-8
+
+
+
+
+ com.hanserwei
+ hanserwei-common
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-openfeign
+
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-loadbalancer
+
+
+
diff --git a/han-note-search/han-note-search-api/src/main/java/com/hanserwei/hannote/search/api/SearchFeignApi.java b/han-note-search/han-note-search-api/src/main/java/com/hanserwei/hannote/search/api/SearchFeignApi.java
new file mode 100644
index 0000000..6b68c2d
--- /dev/null
+++ b/han-note-search/han-note-search-api/src/main/java/com/hanserwei/hannote/search/api/SearchFeignApi.java
@@ -0,0 +1,35 @@
+package com.hanserwei.hannote.search.api;
+
+import com.hanserwei.framework.common.response.Response;
+import com.hanserwei.hannote.search.constant.ApiConstants;
+import com.hanserwei.hannote.search.dto.RebuildNoteDocumentReqDTO;
+import com.hanserwei.hannote.search.dto.RebuildUserDocumentReqDTO;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@FeignClient(name = ApiConstants.SERVICE_NAME)
+public interface SearchFeignApi {
+
+ String PREFIX = "/search";
+
+ /**
+ * 重建笔记文档
+ *
+ * @param rebuildNoteDocumentReqDTO 重建笔记文档请求参数对象,包含重建所需的相关信息
+ * @return 返回重建操作的结果响应对象
+ */
+ @PostMapping(value = PREFIX + "/note/document/rebuild")
+ Response> rebuildNoteDocument(@RequestBody RebuildNoteDocumentReqDTO rebuildNoteDocumentReqDTO);
+
+
+ /**
+ * 重建用户文档
+ *
+ * @param rebuildUserDocumentReqDTO 重建用户文档请求参数对象,包含重建所需的相关信息
+ * @return 返回重建操作的结果响应对象
+ */
+ @PostMapping(value = PREFIX + "/user/document/rebuild")
+ Response> rebuildUserDocument(@RequestBody RebuildUserDocumentReqDTO rebuildUserDocumentReqDTO);
+
+}
\ No newline at end of file
diff --git a/han-note-search/han-note-search-api/src/main/java/com/hanserwei/hannote/search/constant/ApiConstants.java b/han-note-search/han-note-search-api/src/main/java/com/hanserwei/hannote/search/constant/ApiConstants.java
new file mode 100644
index 0000000..cf5d07e
--- /dev/null
+++ b/han-note-search/han-note-search-api/src/main/java/com/hanserwei/hannote/search/constant/ApiConstants.java
@@ -0,0 +1,9 @@
+package com.hanserwei.hannote.search.constant;
+
+public interface ApiConstants {
+
+ /**
+ * 服务名称
+ */
+ String SERVICE_NAME = "han-note-search";
+}
\ No newline at end of file
diff --git a/han-note-search/han-note-search-api/src/main/java/com/hanserwei/hannote/search/dto/RebuildNoteDocumentReqDTO.java b/han-note-search/han-note-search-api/src/main/java/com/hanserwei/hannote/search/dto/RebuildNoteDocumentReqDTO.java
new file mode 100644
index 0000000..ca8bfec
--- /dev/null
+++ b/han-note-search/han-note-search-api/src/main/java/com/hanserwei/hannote/search/dto/RebuildNoteDocumentReqDTO.java
@@ -0,0 +1,18 @@
+package com.hanserwei.hannote.search.dto;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class RebuildNoteDocumentReqDTO {
+
+ @NotNull(message = "笔记 ID 不能为空")
+ private Long id;
+
+}
\ No newline at end of file
diff --git a/han-note-search/han-note-search-api/src/main/java/com/hanserwei/hannote/search/dto/RebuildUserDocumentReqDTO.java b/han-note-search/han-note-search-api/src/main/java/com/hanserwei/hannote/search/dto/RebuildUserDocumentReqDTO.java
new file mode 100644
index 0000000..721d478
--- /dev/null
+++ b/han-note-search/han-note-search-api/src/main/java/com/hanserwei/hannote/search/dto/RebuildUserDocumentReqDTO.java
@@ -0,0 +1,18 @@
+package com.hanserwei.hannote.search.dto;
+
+import jakarta.validation.constraints.NotNull;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+public class RebuildUserDocumentReqDTO {
+
+ @NotNull(message = "用户 ID 不能为空")
+ private Long id;
+
+}
\ No newline at end of file
diff --git a/han-note-search/han-note-search-biz/pom.xml b/han-note-search/han-note-search-biz/pom.xml
new file mode 100644
index 0000000..98a29c9
--- /dev/null
+++ b/han-note-search/han-note-search-biz/pom.xml
@@ -0,0 +1,108 @@
+
+ 4.0.0
+
+
+ com.hanserwei
+ han-note-search
+ ${revision}
+
+
+
+ jar
+ han-note-search-biz
+ ${project.artifactId}
+ 搜索服务
+
+
+
+ com.hanserwei
+ hanserwei-common
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
+
+ com.hanserwei
+ hanserwei-spring-boot-starter-biz-operationlog
+
+
+
+
+ com.hanserwei
+ hanserwei-spring-boot-starter-jackson
+
+
+
+ org.springframework.cloud
+ spring-cloud-starter-bootstrap
+
+
+
+
+ com.alibaba.cloud
+ spring-cloud-starter-alibaba-nacos-discovery
+
+
+
+
+ co.elastic.clients
+ elasticsearch-java
+
+
+ org.elasticsearch.client
+ elasticsearch-rest-client
+
+
+
+ com.alibaba.otter
+ canal.client
+
+
+ com.alibaba.otter
+ canal.common
+
+
+ com.alibaba.otter
+ canal.protocol
+
+
+ com.baomidou
+ mybatis-plus-spring-boot3-starter
+
+
+ com.mysql
+ mysql-connector-j
+
+
+
+ com.alibaba
+ druid-spring-boot-3-starter
+
+
+ com.hanserwei
+ han-note-search-api
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+
+
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/HannoteSearchApplication.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/HannoteSearchApplication.java
similarity index 80%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/HannoteSearchApplication.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/HannoteSearchApplication.java
index fa547fe..23d7ee0 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/HannoteSearchApplication.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/HannoteSearchApplication.java
@@ -1,4 +1,4 @@
-package com.hanserwei.hannote.search;
+package com.hanserwei.hannote.search.biz;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
@@ -7,7 +7,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
@SpringBootApplication
@EnableScheduling
-@MapperScan("com.hanserwei.hannote.search.domain.mapper")
+@MapperScan("com.hanserwei.hannote.search.biz.domain.mapper")
public class HannoteSearchApplication {
public static void main(String[] args) {
SpringApplication.run(HannoteSearchApplication.class, args);
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/canal/CanalClient.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/canal/CanalClient.java
similarity index 97%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/canal/CanalClient.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/canal/CanalClient.java
index 360aa85..c82c1c3 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/canal/CanalClient.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/canal/CanalClient.java
@@ -1,4 +1,4 @@
-package com.hanserwei.hannote.search.canal;
+package com.hanserwei.hannote.search.biz.canal;
import com.alibaba.otter.canal.client.CanalConnector;
import com.alibaba.otter.canal.client.CanalConnectors;
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/canal/CanalProperties.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/canal/CanalProperties.java
similarity index 93%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/canal/CanalProperties.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/canal/CanalProperties.java
index 4d2b0bf..b8ed17f 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/canal/CanalProperties.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/canal/CanalProperties.java
@@ -1,4 +1,4 @@
-package com.hanserwei.hannote.search.canal;
+package com.hanserwei.hannote.search.biz.canal;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/canal/CanalSchedule.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/canal/CanalSchedule.java
similarity index 97%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/canal/CanalSchedule.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/canal/CanalSchedule.java
index be75d25..c1424d1 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/canal/CanalSchedule.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/canal/CanalSchedule.java
@@ -1,4 +1,4 @@
-package com.hanserwei.hannote.search.canal;
+package com.hanserwei.hannote.search.biz.canal;
import co.elastic.clients.elasticsearch.ElasticsearchClient;
import co.elastic.clients.elasticsearch.core.BulkRequest;
@@ -9,11 +9,11 @@ import com.alibaba.otter.canal.protocol.CanalEntry;
import com.alibaba.otter.canal.protocol.Message;
import com.google.common.collect.Maps;
import com.hanserwei.framework.common.enums.StatusEnum;
-import com.hanserwei.hannote.search.domain.mapper.SelectMapper;
-import com.hanserwei.hannote.search.enums.NoteStatusEnum;
-import com.hanserwei.hannote.search.enums.NoteVisibleEnum;
-import com.hanserwei.hannote.search.index.NoteIndex;
-import com.hanserwei.hannote.search.index.UserIndex;
+import com.hanserwei.hannote.search.biz.domain.mapper.SelectMapper;
+import com.hanserwei.hannote.search.biz.enums.NoteStatusEnum;
+import com.hanserwei.hannote.search.biz.enums.NoteVisibleEnum;
+import com.hanserwei.hannote.search.biz.index.NoteIndex;
+import com.hanserwei.hannote.search.biz.index.UserIndex;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/config/ElasticsearchConfig.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/config/ElasticsearchConfig.java
similarity index 96%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/config/ElasticsearchConfig.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/config/ElasticsearchConfig.java
index 0e84779..704def5 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/config/ElasticsearchConfig.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/config/ElasticsearchConfig.java
@@ -1,4 +1,4 @@
-package com.hanserwei.hannote.search.config;
+package com.hanserwei.hannote.search.biz.config;
import co.elastic.clients.elasticsearch.ElasticsearchClient;
import co.elastic.clients.json.jackson.JacksonJsonpMapper;
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/controller/ExtDictController.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/controller/ExtDictController.java
similarity index 85%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/controller/ExtDictController.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/controller/ExtDictController.java
index 9dfdc1e..0e705b0 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/controller/ExtDictController.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/controller/ExtDictController.java
@@ -1,7 +1,7 @@
-package com.hanserwei.hannote.search.controller;
+package com.hanserwei.hannote.search.biz.controller;
import com.hanserwei.framework.biz.operationlog.aspect.ApiOperationLog;
-import com.hanserwei.hannote.search.service.ExtDictService;
+import com.hanserwei.hannote.search.biz.service.ExtDictService;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.ResponseEntity;
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/controller/NoteController.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/controller/NoteController.java
similarity index 53%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/controller/NoteController.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/controller/NoteController.java
index d8e94bb..ae90603 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/controller/NoteController.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/controller/NoteController.java
@@ -1,10 +1,12 @@
-package com.hanserwei.hannote.search.controller;
+package com.hanserwei.hannote.search.biz.controller;
import com.hanserwei.framework.biz.operationlog.aspect.ApiOperationLog;
import com.hanserwei.framework.common.response.PageResponse;
-import com.hanserwei.hannote.search.model.vo.SearchNoteReqVO;
-import com.hanserwei.hannote.search.model.vo.SearchNoteRspVO;
-import com.hanserwei.hannote.search.service.NoteService;
+import com.hanserwei.framework.common.response.Response;
+import com.hanserwei.hannote.search.biz.model.vo.SearchNoteReqVO;
+import com.hanserwei.hannote.search.biz.model.vo.SearchNoteRspVO;
+import com.hanserwei.hannote.search.biz.service.NoteService;
+import com.hanserwei.hannote.search.dto.RebuildNoteDocumentReqDTO;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
@@ -27,4 +29,10 @@ public class NoteController {
return noteService.searchNote(searchNoteReqVO);
}
+ // ===================================== 对其他服务提供的接口 =====================================
+ @PostMapping("/note/document/rebuild")
+ @ApiOperationLog(description = "用户文档重建")
+ public Response rebuildDocument(@Validated @RequestBody RebuildNoteDocumentReqDTO rebuildNoteDocumentReqDTO) {
+ return noteService.rebuildDocument(rebuildNoteDocumentReqDTO);
+ }
}
\ No newline at end of file
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/controller/UserController.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/controller/UserController.java
similarity index 53%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/controller/UserController.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/controller/UserController.java
index 7b9dfb0..dd3e36c 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/controller/UserController.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/controller/UserController.java
@@ -1,10 +1,12 @@
-package com.hanserwei.hannote.search.controller;
+package com.hanserwei.hannote.search.biz.controller;
import com.hanserwei.framework.biz.operationlog.aspect.ApiOperationLog;
import com.hanserwei.framework.common.response.PageResponse;
-import com.hanserwei.hannote.search.model.vo.SearchUserReqVO;
-import com.hanserwei.hannote.search.model.vo.SearchUserRspVO;
-import com.hanserwei.hannote.search.service.UserService;
+import com.hanserwei.framework.common.response.Response;
+import com.hanserwei.hannote.search.biz.model.vo.SearchUserReqVO;
+import com.hanserwei.hannote.search.biz.model.vo.SearchUserRspVO;
+import com.hanserwei.hannote.search.biz.service.UserService;
+import com.hanserwei.hannote.search.dto.RebuildUserDocumentReqDTO;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
@@ -27,4 +29,11 @@ public class UserController {
return userService.searchUser(searchUserReqVO);
}
+ // ===================================== 对其他服务提供的接口 =====================================
+ @PostMapping("/user/document/rebuild")
+ @ApiOperationLog(description = "用户文档重建")
+ public Response rebuildDocument(@Validated @RequestBody RebuildUserDocumentReqDTO rebuildUserDocumentReqDTO) {
+ return userService.rebuildDocument(rebuildUserDocumentReqDTO);
+ }
+
}
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/domain/mapper/SelectMapper.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/domain/mapper/SelectMapper.java
similarity index 92%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/domain/mapper/SelectMapper.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/domain/mapper/SelectMapper.java
index c9428b7..c9c46b4 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/domain/mapper/SelectMapper.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/domain/mapper/SelectMapper.java
@@ -1,4 +1,4 @@
-package com.hanserwei.hannote.search.domain.mapper;
+package com.hanserwei.hannote.search.biz.domain.mapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/enums/NotePublishTimeRangeEnum.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/enums/NotePublishTimeRangeEnum.java
similarity index 94%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/enums/NotePublishTimeRangeEnum.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/enums/NotePublishTimeRangeEnum.java
index dc241e6..9a9ab9c 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/enums/NotePublishTimeRangeEnum.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/enums/NotePublishTimeRangeEnum.java
@@ -1,4 +1,4 @@
-package com.hanserwei.hannote.search.enums;
+package com.hanserwei.hannote.search.biz.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/enums/NoteSortTypeEnum.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/enums/NoteSortTypeEnum.java
similarity index 94%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/enums/NoteSortTypeEnum.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/enums/NoteSortTypeEnum.java
index a346459..0a40e23 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/enums/NoteSortTypeEnum.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/enums/NoteSortTypeEnum.java
@@ -1,4 +1,4 @@
-package com.hanserwei.hannote.search.enums;
+package com.hanserwei.hannote.search.biz.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/enums/NoteStatusEnum.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/enums/NoteStatusEnum.java
similarity index 85%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/enums/NoteStatusEnum.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/enums/NoteStatusEnum.java
index 76a0861..a98b0fb 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/enums/NoteStatusEnum.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/enums/NoteStatusEnum.java
@@ -1,4 +1,4 @@
-package com.hanserwei.hannote.search.enums;
+package com.hanserwei.hannote.search.biz.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/enums/NoteVisibleEnum.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/enums/NoteVisibleEnum.java
similarity index 82%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/enums/NoteVisibleEnum.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/enums/NoteVisibleEnum.java
index 2442370..94177ab 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/enums/NoteVisibleEnum.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/enums/NoteVisibleEnum.java
@@ -1,4 +1,4 @@
-package com.hanserwei.hannote.search.enums;
+package com.hanserwei.hannote.search.biz.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/enums/ResponseCodeEnum.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/enums/ResponseCodeEnum.java
similarity index 92%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/enums/ResponseCodeEnum.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/enums/ResponseCodeEnum.java
index 2e1b65a..270e827 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/enums/ResponseCodeEnum.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/enums/ResponseCodeEnum.java
@@ -1,4 +1,4 @@
-package com.hanserwei.hannote.search.enums;
+package com.hanserwei.hannote.search.biz.enums;
import com.hanserwei.framework.common.exception.BaseExceptionInterface;
import lombok.AllArgsConstructor;
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/exception/GlobalExceptionHandler.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/exception/GlobalExceptionHandler.java
similarity index 96%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/exception/GlobalExceptionHandler.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/exception/GlobalExceptionHandler.java
index 2f2b83e..ff89f7b 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/exception/GlobalExceptionHandler.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/exception/GlobalExceptionHandler.java
@@ -1,8 +1,8 @@
-package com.hanserwei.hannote.search.exception;
+package com.hanserwei.hannote.search.biz.exception;
import com.hanserwei.framework.common.exception.ApiException;
import com.hanserwei.framework.common.response.Response;
-import com.hanserwei.hannote.search.enums.ResponseCodeEnum;
+import com.hanserwei.hannote.search.biz.enums.ResponseCodeEnum;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.BindingResult;
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/index/NoteIndex.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/index/NoteIndex.java
similarity index 96%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/index/NoteIndex.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/index/NoteIndex.java
index 7f3d7b9..f8cac82 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/index/NoteIndex.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/index/NoteIndex.java
@@ -1,4 +1,4 @@
-package com.hanserwei.hannote.search.index;
+package com.hanserwei.hannote.search.biz.index;
public class NoteIndex {
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/index/UserIndex.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/index/UserIndex.java
similarity index 93%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/index/UserIndex.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/index/UserIndex.java
index e106dd1..2216a07 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/index/UserIndex.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/index/UserIndex.java
@@ -1,4 +1,4 @@
-package com.hanserwei.hannote.search.index;
+package com.hanserwei.hannote.search.biz.index;
public class UserIndex {
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/model/vo/SearchNoteReqVO.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/model/vo/SearchNoteReqVO.java
similarity index 94%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/model/vo/SearchNoteReqVO.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/model/vo/SearchNoteReqVO.java
index bc7d5bd..985e444 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/model/vo/SearchNoteReqVO.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/model/vo/SearchNoteReqVO.java
@@ -1,4 +1,4 @@
-package com.hanserwei.hannote.search.model.vo;
+package com.hanserwei.hannote.search.biz.model.vo;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/model/vo/SearchNoteRspVO.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/model/vo/SearchNoteRspVO.java
similarity index 95%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/model/vo/SearchNoteRspVO.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/model/vo/SearchNoteRspVO.java
index ba9a640..d732b4a 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/model/vo/SearchNoteRspVO.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/model/vo/SearchNoteRspVO.java
@@ -1,4 +1,4 @@
-package com.hanserwei.hannote.search.model.vo;
+package com.hanserwei.hannote.search.biz.model.vo;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/model/vo/SearchUserReqVO.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/model/vo/SearchUserReqVO.java
similarity index 90%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/model/vo/SearchUserReqVO.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/model/vo/SearchUserReqVO.java
index e6ec4cd..198d890 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/model/vo/SearchUserReqVO.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/model/vo/SearchUserReqVO.java
@@ -1,4 +1,4 @@
-package com.hanserwei.hannote.search.model.vo;
+package com.hanserwei.hannote.search.biz.model.vo;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/model/vo/SearchUserRspVO.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/model/vo/SearchUserRspVO.java
similarity index 95%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/model/vo/SearchUserRspVO.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/model/vo/SearchUserRspVO.java
index 841ad4e..f1c654c 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/model/vo/SearchUserRspVO.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/model/vo/SearchUserRspVO.java
@@ -1,4 +1,4 @@
-package com.hanserwei.hannote.search.model.vo;
+package com.hanserwei.hannote.search.biz.model.vo;
import com.fasterxml.jackson.annotation.JsonAlias;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/service/ExtDictService.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/service/ExtDictService.java
similarity index 81%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/service/ExtDictService.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/service/ExtDictService.java
index 64255a8..820fd67 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/service/ExtDictService.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/service/ExtDictService.java
@@ -1,4 +1,4 @@
-package com.hanserwei.hannote.search.service;
+package com.hanserwei.hannote.search.biz.service;
import org.springframework.http.ResponseEntity;
diff --git a/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/service/NoteService.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/service/NoteService.java
new file mode 100644
index 0000000..6250240
--- /dev/null
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/service/NoteService.java
@@ -0,0 +1,26 @@
+package com.hanserwei.hannote.search.biz.service;
+
+import com.hanserwei.framework.common.response.PageResponse;
+import com.hanserwei.framework.common.response.Response;
+import com.hanserwei.hannote.search.biz.model.vo.SearchNoteReqVO;
+import com.hanserwei.hannote.search.biz.model.vo.SearchNoteRspVO;
+import com.hanserwei.hannote.search.dto.RebuildNoteDocumentReqDTO;
+
+public interface NoteService {
+
+ /**
+ * 搜索笔记
+ *
+ * @param searchNoteReqVO 搜索笔记请求
+ * @return 搜索笔记响应
+ */
+ PageResponse searchNote(SearchNoteReqVO searchNoteReqVO);
+
+ /**
+ * 重建笔记文档
+ *
+ * @param rebuildNoteDocumentReqDTO 重建笔记文档请求
+ * @return 响应
+ */
+ Response rebuildDocument(RebuildNoteDocumentReqDTO rebuildNoteDocumentReqDTO);
+}
diff --git a/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/service/UserService.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/service/UserService.java
new file mode 100644
index 0000000..1267ee7
--- /dev/null
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/service/UserService.java
@@ -0,0 +1,26 @@
+package com.hanserwei.hannote.search.biz.service;
+
+import com.hanserwei.framework.common.response.PageResponse;
+import com.hanserwei.framework.common.response.Response;
+import com.hanserwei.hannote.search.biz.model.vo.SearchUserReqVO;
+import com.hanserwei.hannote.search.biz.model.vo.SearchUserRspVO;
+import com.hanserwei.hannote.search.dto.RebuildUserDocumentReqDTO;
+
+public interface UserService {
+
+ /**
+ * 搜索用户
+ *
+ * @param searchUserReqVO 搜索用户请求
+ * @return 搜索用户响应
+ */
+ PageResponse searchUser(SearchUserReqVO searchUserReqVO);
+
+ /**
+ * 重建用户文档
+ *
+ * @param rebuildUserDocumentReqDTO 重建用户文档请求
+ * @return 响应
+ */
+ Response rebuildDocument(RebuildUserDocumentReqDTO rebuildUserDocumentReqDTO);
+}
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/service/impl/ExtDictServiceImpl.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/service/impl/ExtDictServiceImpl.java
similarity index 93%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/service/impl/ExtDictServiceImpl.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/service/impl/ExtDictServiceImpl.java
index 041210b..8563c65 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/service/impl/ExtDictServiceImpl.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/service/impl/ExtDictServiceImpl.java
@@ -1,6 +1,6 @@
-package com.hanserwei.hannote.search.service.impl;
+package com.hanserwei.hannote.search.biz.service.impl;
-import com.hanserwei.hannote.search.service.ExtDictService;
+import com.hanserwei.hannote.search.biz.service.ExtDictService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpHeaders;
diff --git a/han-note-search/src/main/java/com/hanserwei/hannote/search/service/impl/NoteServiceImpl.java b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/service/impl/NoteServiceImpl.java
similarity index 87%
rename from han-note-search/src/main/java/com/hanserwei/hannote/search/service/impl/NoteServiceImpl.java
rename to han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/service/impl/NoteServiceImpl.java
index 62077ba..d0c5abe 100644
--- a/han-note-search/src/main/java/com/hanserwei/hannote/search/service/impl/NoteServiceImpl.java
+++ b/han-note-search/han-note-search-biz/src/main/java/com/hanserwei/hannote/search/biz/service/impl/NoteServiceImpl.java
@@ -1,10 +1,11 @@
-package com.hanserwei.hannote.search.service.impl;
+package com.hanserwei.hannote.search.biz.service.impl;
import cn.hutool.core.collection.CollUtil;
import co.elastic.clients.elasticsearch.ElasticsearchClient;
import co.elastic.clients.elasticsearch._types.SortOptions;
import co.elastic.clients.elasticsearch._types.SortOrder;
import co.elastic.clients.elasticsearch._types.query_dsl.*;
+import co.elastic.clients.elasticsearch.core.IndexRequest;
import co.elastic.clients.elasticsearch.core.SearchRequest;
import co.elastic.clients.elasticsearch.core.SearchResponse;
import co.elastic.clients.elasticsearch.core.search.Highlight;
@@ -13,14 +14,17 @@ import co.elastic.clients.elasticsearch.core.search.Hit;
import co.elastic.clients.util.NamedValue;
import com.hanserwei.framework.common.constant.DateConstants;
import com.hanserwei.framework.common.response.PageResponse;
+import com.hanserwei.framework.common.response.Response;
import com.hanserwei.framework.common.utils.DateUtils;
import com.hanserwei.framework.common.utils.NumberUtils;
-import com.hanserwei.hannote.search.enums.NotePublishTimeRangeEnum;
-import com.hanserwei.hannote.search.enums.NoteSortTypeEnum;
-import com.hanserwei.hannote.search.index.NoteIndex;
-import com.hanserwei.hannote.search.model.vo.SearchNoteReqVO;
-import com.hanserwei.hannote.search.model.vo.SearchNoteRspVO;
-import com.hanserwei.hannote.search.service.NoteService;
+import com.hanserwei.hannote.search.biz.domain.mapper.SelectMapper;
+import com.hanserwei.hannote.search.biz.enums.NotePublishTimeRangeEnum;
+import com.hanserwei.hannote.search.biz.enums.NoteSortTypeEnum;
+import com.hanserwei.hannote.search.biz.index.NoteIndex;
+import com.hanserwei.hannote.search.biz.model.vo.SearchNoteReqVO;
+import com.hanserwei.hannote.search.biz.model.vo.SearchNoteRspVO;
+import com.hanserwei.hannote.search.biz.service.NoteService;
+import com.hanserwei.hannote.search.dto.RebuildNoteDocumentReqDTO;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -39,6 +43,8 @@ public class NoteServiceImpl implements NoteService {
@Resource
private ElasticsearchClient client;
+ @Resource
+ private SelectMapper selectMapper;
@Override
public PageResponse searchNote(SearchNoteReqVO searchNoteReqVO) {
@@ -295,4 +301,30 @@ public class NoteServiceImpl implements NoteService {
return PageResponse.success(searchNoteRspVOS, pageNo, total);
}
+ @Override
+ public Response rebuildDocument(RebuildNoteDocumentReqDTO rebuildNoteDocumentReqDTO) {
+ Long noteId = rebuildNoteDocumentReqDTO.getId();
+
+ // 从数据库查询 Elasticsearch 索引数据
+ List