|
@@ -17,6 +17,7 @@ import org.dromara.common.message.kafka.constant.KafkaTopicConstants;
|
|
|
import org.dromara.common.satoken.utils.LoginHelper;
|
|
import org.dromara.common.satoken.utils.LoginHelper;
|
|
|
import org.dromara.system.api.model.LoginUser;
|
|
import org.dromara.system.api.model.LoginUser;
|
|
|
import org.springframework.stereotype.Component;
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
+import org.dromara.backstage.api.domain.bo.MessageBo;
|
|
|
|
|
|
|
|
import java.lang.reflect.Field;
|
|
import java.lang.reflect.Field;
|
|
|
import java.util.HashMap;
|
|
import java.util.HashMap;
|
|
@@ -57,12 +58,12 @@ public class SyncDataToLocalAspect {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /*private void sendSyncMessage(JoinPoint joinPoint, SyncDataToLocal controllerSyncData2Local) {
|
|
|
|
|
|
|
+ private void sendSyncMessage(JoinPoint joinPoint, SyncDataToLocal controllerSyncData2Local) {
|
|
|
try {
|
|
try {
|
|
|
- KafkaMessage<Object> data = new KafkaMessage<>();
|
|
|
|
|
- KafkaHeader header = data.getHeader();
|
|
|
|
|
- header.setTimestamp(System.currentTimeMillis());
|
|
|
|
|
- header.setEventId(UUID.randomUUID().toString());
|
|
|
|
|
|
|
+ MessageBo<Object> data = new MessageBo<>();
|
|
|
|
|
+ MessageBo.KafkaHeader header = data.getHeader();
|
|
|
|
|
+// header.setTimestamp(System.currentTimeMillis());
|
|
|
|
|
+// header.setEventId(UUID.randomUUID().toString());
|
|
|
header.setEventType(controllerSyncData2Local.eventType());
|
|
header.setEventType(controllerSyncData2Local.eventType());
|
|
|
header.setSender(controllerSyncData2Local.sender());
|
|
header.setSender(controllerSyncData2Local.sender());
|
|
|
String sender = header.getSender();
|
|
String sender = header.getSender();
|
|
@@ -72,18 +73,26 @@ public class SyncDataToLocalAspect {
|
|
|
}
|
|
}
|
|
|
String tenantId = header.getTenantId();
|
|
String tenantId = header.getTenantId();
|
|
|
if(StringUtils.isBlank(tenantId)){
|
|
if(StringUtils.isBlank(tenantId)){
|
|
|
- header.setTenantId(LoginHelper.getTenantId());
|
|
|
|
|
|
|
+ tenantId = LoginHelper.getTenantId();
|
|
|
|
|
+ header.setTenantId(tenantId);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
Object[] args = joinPoint.getArgs();
|
|
Object[] args = joinPoint.getArgs();
|
|
|
int length = args.length;
|
|
int length = args.length;
|
|
|
if(length == 1){
|
|
if(length == 1){
|
|
|
- if(args[0] instanceof TenantEntity r){
|
|
|
|
|
- r.setTenantId(header.getTenantId());
|
|
|
|
|
- data.setBody(r);
|
|
|
|
|
- }else{
|
|
|
|
|
- data.setBody(args[0]);
|
|
|
|
|
|
|
+ Field tenantIdFiled = null;
|
|
|
|
|
+ //利用反射 判断是否有 tenantId属性,如果有则设置
|
|
|
|
|
+ try {
|
|
|
|
|
+ tenantIdFiled = ReflectUtil.getField(args[0].getClass(), "tenantId");
|
|
|
|
|
+ }catch (Exception e){
|
|
|
|
|
+ log.error("参数对象没有tenantId属性!");
|
|
|
}
|
|
}
|
|
|
|
|
+// Field tenantIdFiled = args[0].getClass().getDeclaredField("tenantId");
|
|
|
|
|
+ if(tenantIdFiled != null){
|
|
|
|
|
+ tenantIdFiled.setAccessible(true);
|
|
|
|
|
+ tenantIdFiled.set(args[0],tenantId);
|
|
|
|
|
+ }
|
|
|
|
|
+ data.setBody(args[0]);
|
|
|
}else if(length >1){
|
|
}else if(length >1){
|
|
|
CodeSignature signature = (CodeSignature) joinPoint.getSignature();
|
|
CodeSignature signature = (CodeSignature) joinPoint.getSignature();
|
|
|
String[] paramNames = signature.getParameterNames();
|
|
String[] paramNames = signature.getParameterNames();
|
|
@@ -98,13 +107,13 @@ public class SyncDataToLocalAspect {
|
|
|
}
|
|
}
|
|
|
LoginUser loginUser = LoginHelper.getLoginUser();
|
|
LoginUser loginUser = LoginHelper.getLoginUser();
|
|
|
|
|
|
|
|
- kafkaProducer.sendKafkaMessage(KafkaTopicConstants.SYNC_DATA_TOPIC, loginUser.getUserId(),data);
|
|
|
|
|
|
|
+ kafkaProducer.sendAndInsert(KafkaTopicConstants.SYNC_DATA_TOPIC, loginUser.getUserId(),data);
|
|
|
}catch (Exception e){
|
|
}catch (Exception e){
|
|
|
log.error("同步数据消息未发送:发送消息异常!", e);
|
|
log.error("同步数据消息未发送:发送消息异常!", e);
|
|
|
}
|
|
}
|
|
|
- }*/
|
|
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- private void sendSyncMessage(JoinPoint joinPoint, SyncDataToLocal dataToLocal) {
|
|
|
|
|
|
|
+ /* private void sendSyncMessage(JoinPoint joinPoint, SyncDataToLocal dataToLocal) {
|
|
|
try {
|
|
try {
|
|
|
String tenantId = LoginHelper.getTenantId();
|
|
String tenantId = LoginHelper.getTenantId();
|
|
|
Object data = null;
|
|
Object data = null;
|
|
@@ -140,7 +149,7 @@ public class SyncDataToLocalAspect {
|
|
|
}catch (Exception e){
|
|
}catch (Exception e){
|
|
|
log.error("同步数据消息未发送:发送消息异常!", e);
|
|
log.error("同步数据消息未发送:发送消息异常!", e);
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
|
|
+ }*/
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
}
|