From 764d883b5ea3bdc06abbec548b6df0511e567978 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Tue, 03 Sep 2024 09:46:05 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/binlog' into binlog
---
src/main/java/org/springblade/common/interceptor/DataSyncInterceptor.java | 46 ++++++++++++++++++++++++++++++----------------
1 files changed, 30 insertions(+), 16 deletions(-)
diff --git a/src/main/java/org/springblade/common/interceptor/DataSyncInterceptor.java b/src/main/java/org/springblade/common/interceptor/DataSyncInterceptor.java
index 41393d9..a8588b5 100644
--- a/src/main/java/org/springblade/common/interceptor/DataSyncInterceptor.java
+++ b/src/main/java/org/springblade/common/interceptor/DataSyncInterceptor.java
@@ -6,6 +6,8 @@
import org.apache.ibatis.mapping.MappedStatement;
import org.apache.ibatis.plugin.*;
import org.apache.logging.log4j.util.Strings;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.springblade.common.constant.EsTableConstant;
import org.springblade.common.utils.SQLParseUtils;
import org.springblade.es.service.ElasticsearchDocumentService;
@@ -13,17 +15,13 @@
import org.springblade.modules.article.entity.Article;
import org.springblade.modules.house.entity.HouseEntity;
import org.springblade.modules.house.entity.HouseholdEntity;
-import org.springblade.modules.house.vo.HouseVO;
-import org.springblade.modules.house.vo.HouseholdVO;
import org.springblade.modules.place.entity.PlaceEntity;
-import org.springblade.modules.place.vo.PlaceVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import java.util.List;
-import java.util.Map;
import java.util.Properties;
@Component
@@ -32,6 +30,7 @@
})
public class DataSyncInterceptor implements Interceptor {
+ private static final Logger logger = LoggerFactory.getLogger(DataSyncInterceptor.class);
@Lazy
@Autowired
private ElasticsearchDocumentService elasticsearchDocumentService;
@@ -113,10 +112,14 @@
if (sqlType.equals("UPDATE")) {
//update 方法需要特殊处理
if (tableName.equals("jczz_article")) {
- Article entity = (Article) ((MapperMethod.ParamMap) parameter).get("param1");
- if (entity != null && entity.getId() != null) {
- esParam.setTableId(entity.getId().toString());
- elasticsearchDocumentService.update(esParam, entity, EsTableConstant.articleList);
+ try {
+ Article entity = (Article) ((MapperMethod.ParamMap) parameter).get("param1");
+ if (entity != null && entity.getId() != null) {
+ esParam.setTableId(entity.getId().toString());
+ elasticsearchDocumentService.update(esParam, entity, EsTableConstant.articleList);
+ }
+ } catch (Exception e) {
+ logger.error("jczz_article 更新失败!", e);
}
}
if (tableName.equals("jczz_place")) {
@@ -157,11 +160,20 @@
HouseholdEntity householdEntity = new HouseholdEntity();
HouseholdEntity entity = new HouseholdEntity();
if (parameter instanceof MapperMethod.ParamMap) {
- entity = (HouseholdEntity) ((MapperMethod.ParamMap) parameter).get("param1");
- if (entity != null && entity.getId() != null) {
- setHouseholdInfo(householdEntity, entity);
- esParam.setTableId(entity.getId().toString());
- elasticsearchDocumentService.update(esParam, entity, EsTableConstant.householdList);
+ try {
+ entity = (HouseholdEntity) ((MapperMethod.ParamMap) parameter).get("param1");
+ if (entity != null && entity.getId() != null) {
+ setHouseholdInfo(householdEntity, entity);
+ esParam.setTableId(entity.getId().toString());
+ elasticsearchDocumentService.update(esParam, entity, EsTableConstant.householdList);
+ }
+ } catch (Exception e) {
+ entity = (HouseholdEntity) ((MapperMethod.ParamMap) parameter).get("et");
+ if (entity != null && entity.getId() != null) {
+ setHouseholdInfo(householdEntity, entity);
+ esParam.setTableId(entity.getId().toString());
+ elasticsearchDocumentService.update(esParam, entity, EsTableConstant.householdList);
+ }
}
} else {
entity = (HouseholdEntity) parameter;
@@ -173,9 +185,11 @@
}
// 删除处理
if (sqlType.equals("DELETE")) {
- List<Long> list = (List<Long>) ((MapperMethod.ParamMap) parameter).get("param1");
- esParam.setTableId(list.get(0).toString());
- elasticsearchDocumentService.removeByQuery(esParam);
+ if (parameter instanceof MapperMethod.ParamMap) {
+ List<Long> list = (List<Long>) ((MapperMethod.ParamMap) parameter).get("param1");
+ esParam.setTableId(list.get(0).toString());
+ elasticsearchDocumentService.removeByQuery(esParam);
+ }
}
}
--
Gitblit v1.9.3