diff --git a/kafka-manager-common/pom.xml b/kafka-manager-common/pom.xml
index 67fbcdbd..6a8ff0cb 100644
--- a/kafka-manager-common/pom.xml
+++ b/kafka-manager-common/pom.xml
@@ -104,5 +104,10 @@
javax.servlet
javax.servlet-api
+
+
+ junit
+ junit
+
\ No newline at end of file
diff --git a/kafka-manager-common/src/test/java/com/xiaojukeji/kafka/manager/common/utils/JsonUtilsTest.java b/kafka-manager-common/src/test/java/com/xiaojukeji/kafka/manager/common/utils/JsonUtilsTest.java
new file mode 100644
index 00000000..1d338015
--- /dev/null
+++ b/kafka-manager-common/src/test/java/com/xiaojukeji/kafka/manager/common/utils/JsonUtilsTest.java
@@ -0,0 +1,18 @@
+package com.xiaojukeji.kafka.manager.common.utils;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class JsonUtilsTest {
+ @Test
+ public void testMapToJsonString() {
+ Map map = new HashMap<>();
+ map.put("key", "value");
+ map.put("int", 1);
+ String expectRes = "{\"key\":\"value\",\"int\":1}";
+ Assert.assertEquals(expectRes, JsonUtils.toJSONString(map));
+ }
+}
diff --git a/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/impl/TopicManagerServiceImpl.java b/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/impl/TopicManagerServiceImpl.java
index a2d5aa92..6ee9a499 100644
--- a/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/impl/TopicManagerServiceImpl.java
+++ b/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/impl/TopicManagerServiceImpl.java
@@ -1,6 +1,8 @@
package com.xiaojukeji.kafka.manager.service.service.impl;
import com.xiaojukeji.kafka.manager.common.bizenum.KafkaClientEnum;
+import com.xiaojukeji.kafka.manager.common.bizenum.ModuleEnum;
+import com.xiaojukeji.kafka.manager.common.bizenum.OperateEnum;
import com.xiaojukeji.kafka.manager.common.bizenum.TopicAuthorityEnum;
import com.xiaojukeji.kafka.manager.common.constant.KafkaConstant;
import com.xiaojukeji.kafka.manager.common.constant.KafkaMetricsCollections;
@@ -81,6 +83,9 @@ public class TopicManagerServiceImpl implements TopicManagerService {
@Autowired
private RegionService regionService;
+ @Autowired
+ private OperateRecordService operateRecordService;
+
@Override
public List listAll() {
try {
@@ -341,6 +346,12 @@ public class TopicManagerServiceImpl implements TopicManagerService {
if (ValidateUtils.isNull(topicDO)) {
return ResultStatus.TOPIC_NOT_EXIST;
}
+
+ Map content = new HashMap<>(2);
+ content.put("clusterId", clusterId);
+ content.put("topicName", topicName);
+ recordOperation(content, topicName, operator);
+
topicDO.setDescription(description);
if (topicDao.updateByName(topicDO) > 0) {
return ResultStatus.SUCCESS;
@@ -364,6 +375,12 @@ public class TopicManagerServiceImpl implements TopicManagerService {
return ResultStatus.APP_NOT_EXIST;
}
+ Map content = new HashMap<>(4);
+ content.put("clusterId", clusterId);
+ content.put("topicName", topicName);
+ content.put("appId", appId);
+ recordOperation(content, topicName, operator);
+
TopicDO topicDO = topicDao.getByTopicName(clusterId, topicName);
if (ValidateUtils.isNull(topicDO)) {
// 不存在, 则需要插入
@@ -394,6 +411,16 @@ public class TopicManagerServiceImpl implements TopicManagerService {
return ResultStatus.MYSQL_ERROR;
}
+ private void recordOperation(Map content, String topicName, String operator) {
+ OperateRecordDO operateRecordDO = new OperateRecordDO();
+ operateRecordDO.setModuleId(ModuleEnum.TOPIC.getCode());
+ operateRecordDO.setOperateId(OperateEnum.EDIT.getCode());
+ operateRecordDO.setResource(topicName);
+ operateRecordDO.setContent(JsonUtils.toJSONString(content));
+ operateRecordDO.setOperator(operator);
+ operateRecordService.insert(operateRecordDO);
+ }
+
@Override
public int deleteByTopicName(Long clusterId, String topicName) {
try {