From daa9d8eba1f2b36d7b094d9079948b081008059d Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Tue, 09 Apr 2024 17:37:12 +0800
Subject: [PATCH] 公告删除同步

---
 src/main/java/org/springblade/modules/article/controller/ArticleController.java |   36 +++++++++++++++++++++++++++++++++---
 1 files changed, 33 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/springblade/modules/article/controller/ArticleController.java b/src/main/java/org/springblade/modules/article/controller/ArticleController.java
index e26cfdb..4a3d43c 100644
--- a/src/main/java/org/springblade/modules/article/controller/ArticleController.java
+++ b/src/main/java/org/springblade/modules/article/controller/ArticleController.java
@@ -11,6 +11,8 @@
 import org.springblade.core.mp.support.Query;
 import org.springblade.core.tool.api.R;
 import org.springblade.core.tool.utils.Func;
+import org.springblade.es.service.ElasticsearchDocumentService;
+import org.springblade.es.vo.EsParam;
 import org.springblade.modules.article.entity.Article;
 import org.springblade.modules.article.service.ArticleService;
 import org.springblade.modules.article.vo.ArticleVO;
@@ -31,6 +33,7 @@
 public class ArticleController {
 
 	private final ArticleService articleService;
+	private final ElasticsearchDocumentService elasticsearchDocumentService;
 
 	/**
 	 * 查询资讯分页信息
@@ -165,14 +168,30 @@
 	@PostMapping("/submit")
 	@ApiOperationSupport(order = 6)
 	@ApiOperation(value = "新增或修改资讯信息", notes = "传入article")
-	public R submit(@RequestBody ArticleVO article) {
+	public R submit(@RequestBody Article article) {
+		boolean flag = false;
 		if (null == article.getId()) {
+			flag = true;
 			if (null == article.getCreateTime()) {
 				article.setCreateTime(new Date());
 			}
 		}
 		article.setUpdateTime(new Date());
-		return R.status(articleService.saveOrUpdate(article));
+		boolean saveOrUpdate = articleService.saveOrUpdate(article);
+		if (saveOrUpdate){
+			EsParam esParam = new EsParam();
+			esParam.setIndexName("test");
+			esParam.setTableName("jczz_article");
+			if (flag) {
+				// 更新到es库
+				elasticsearchDocumentService.addArticle(esParam, article);
+			}else {
+				esParam.setTableId(article.getId().toString());
+				// 更新
+				elasticsearchDocumentService.update(esParam,article);
+			}
+		}
+		return R.status(saveOrUpdate);
 	}
 
 
@@ -185,7 +204,18 @@
 	@ApiOperationSupport(order = 8)
 	@ApiOperation(value = "删除", notes = "传入ids")
 	public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
-		return R.status(articleService.removeByIds(Func.toLongList(ids)));
+		List<Long> longs = Func.toLongList(ids);
+		boolean removeByIds = articleService.removeByIds(longs);
+		if (removeByIds){
+			for (Long id : longs) {
+				EsParam esParam = new EsParam();
+				esParam.setIndexName("test");
+				esParam.setTableName("jczz_article");
+				esParam.setTableId(id.toString());
+				elasticsearchDocumentService.removeByQuery(esParam);
+			}
+		}
+		return R.status(removeByIds);
 	}
 
 	/**

--
Gitblit v1.9.3