diff --git a/carrera-console/carrera-boot/pom.xml b/carrera-console/carrera-boot/pom.xml
new file mode 100644
index 0000000..bd6719a
--- /dev/null
+++ b/carrera-console/carrera-boot/pom.xml
@@ -0,0 +1,244 @@
+
+
+
+ org.springframework.boot
+ spring-boot-starter-parent
+ 2.1.5.RELEASE
+
+
+ 4.0.0
+
+ com.xiaojukeji.ddmq
+ carrera-boot
+ 1.0-SNAPSHOT
+
+
+ UTF-8
+ zh_CN
+ 1.8
+ 3.6.1
+
+ 1.0.31
+ 8.0.16
+ 4.2.5
+
+ 1.7.25
+ 1.2.3
+
+
+
+
+ org.projectlombok
+ lombok
+
+
+ com.alibaba
+ druid
+ ${druid-version}
+
+
+
+
+ org.mybatis.spring.boot
+ mybatis-spring-boot-starter
+ 2.1.2
+
+
+
+ mysql
+ mysql-connector-java
+ ${mysql-connector-version}
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter
+
+
+ org.springframework.boot
+ spring-boot-starter-aop
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-jdbc
+
+
+
+ javax.transaction
+ jta
+ 1.1
+
+
+ com.atomikos
+ atomikos-util
+ 4.0.2
+
+
+ com.atomikos
+ transactions
+ 4.0.2
+
+
+ com.atomikos
+ transactions-jta
+ 4.0.2
+
+
+ com.atomikos
+ transactions-jdbc
+ 4.0.2
+
+
+ com.atomikos
+ transactions-api
+ 4.0.2
+
+
+
+ org.aspectj
+ aspectjrt
+ 1.8.10
+
+
+ org.aspectj
+ aspectjweaver
+ 1.8.10
+
+
+
+ org.apache.commons
+ commons-lang3
+ 3.4
+
+
+ commons-beanutils
+ commons-beanutils
+ 1.9.2
+
+
+
+ com.xiaojukeji.ddmq
+ carrera-common
+ 1.0.0-SNAPSHOT
+
+
+ org.apache.logging.log4j
+ log4j-api
+
+
+ org.apache.logging.log4j
+ log4j-core
+
+
+ org.apache.logging.log4j
+ log4j-slf4j-impl
+
+
+
+
+
+ commons-fileupload
+ commons-fileupload
+ 1.3.3
+
+
+ org.yaml
+ snakeyaml
+
+
+ com.google.guava
+ guava
+ 21.0
+
+
+ org.apache.commons
+ commons-collections4
+ 4.1
+
+
+ org.hibernate
+ hibernate-validator
+ 5.0.2.Final
+
+
+ com.alibaba
+ fastjson
+ 1.2.36
+
+
+
+
+
+ org.slf4j
+ slf4j-api
+ ${slf4j.version}
+
+
+
+
+ ch.qos.logback
+ logback-classic
+ ${logback.version}
+
+
+ ch.qos.logback
+ logback-core
+ ${logback.version}
+
+
+
+ org.slf4j
+ log4j-over-slf4j
+ ${slf4j.version}
+ runtime
+
+
+
+
+ org.slf4j
+ jcl-over-slf4j
+ ${slf4j.version}
+ runtime
+
+
+
+
+ org.slf4j
+ jul-to-slf4j
+ ${slf4j.version}
+ runtime
+
+
+
+
+ org.bgee.log4jdbc-log4j2
+ log4jdbc-log4j2-jdbc4
+ 1.15
+ runtime
+
+
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-maven-plugin
+
+
+
+ repackage
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/ConsoleApplication.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/ConsoleApplication.java
new file mode 100644
index 0000000..8da6ea9
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/ConsoleApplication.java
@@ -0,0 +1,52 @@
+package com.didi.carrera.console;
+
+import lombok.extern.slf4j.Slf4j;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.core.env.Environment;
+import org.springframework.util.StringUtils;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+
+@Slf4j
+@SpringBootApplication
+@MapperScan("com.didi.carrera.console.dao.mapper")
+public class ConsoleApplication {
+ public static void main(String[] args) {
+ SpringApplication app = new SpringApplication(ConsoleApplication.class);
+ Environment env = app.run(args).getEnvironment();
+ log(env);
+ }
+
+ /**
+ * 格式化运行成功后输出项目地址
+ *
+ * @param env
+ */
+ private static void log(Environment env) {
+ String name = env.getProperty("spring.application.name");
+ String port = env.getProperty("server.port");
+ String path = env.getProperty("server.servlet.context-path");
+ String ssl = env.getProperty("server.ssl.enabled");
+ String http = "true".equals(ssl) ? "https" : "http";
+ String address = null;
+ try {
+ address = InetAddress.getLocalHost().getHostAddress();
+ } catch (UnknownHostException e) {
+ address = "127.0.0.1";
+ e.printStackTrace();
+ }
+ name = StringUtils.isEmpty(name) ? "" : name;
+ port = StringUtils.isEmpty(port) ? "8080" : port;
+ path = StringUtils.isEmpty(path) ? "" : path;
+ log.info(
+ "\n----------------------------------------------------------\n\t"
+ + "Application '{}' is running! Access URLs:\n\t"
+ + "Local: \t\t{}://localhost:{}{}\n\t"
+ + "External: \t{}://{}:{}{}"
+ + "\n----------------------------------------------------------",
+ name, http, port, path, http, address, port, path);
+ }
+}
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/common/offset/RocketMQProduceOffsetFetcher.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/common/offset/RocketMQProduceOffsetFetcher.java
new file mode 100644
index 0000000..6bff2a3
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/common/offset/RocketMQProduceOffsetFetcher.java
@@ -0,0 +1,76 @@
+package com.didi.carrera.console.common.offset;
+
+import com.google.common.collect.Maps;
+import org.apache.commons.collections4.CollectionUtils;
+import org.apache.rocketmq.client.exception.MQClientException;
+import org.apache.rocketmq.common.admin.ConsumeStats;
+import org.apache.rocketmq.common.message.MessageQueue;
+import org.apache.rocketmq.common.protocol.body.AllMaxOffset;
+import org.apache.rocketmq.common.protocol.body.ClusterInfo;
+import org.apache.rocketmq.common.protocol.route.BrokerData;
+import org.apache.rocketmq.tools.admin.DefaultMQAdminExt;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+
+
+public class RocketMQProduceOffsetFetcher {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(RocketMQProduceOffsetFetcher.class);
+
+ private DefaultMQAdminExt defaultMQAdminExt;
+
+ public RocketMQProduceOffsetFetcher(String namesvrAddr) {
+ this.defaultMQAdminExt = new DefaultMQAdminExt();
+ defaultMQAdminExt.setNamesrvAddr(namesvrAddr);
+ defaultMQAdminExt.setInstanceName("admin-" + System.currentTimeMillis());
+ }
+
+ public void start() throws MQClientException {
+ defaultMQAdminExt.start();
+ }
+
+ public void shutdown() {
+ defaultMQAdminExt.shutdown();
+ }
+
+ public Collection getBrokers() {
+ try {
+ ClusterInfo clusterInfo = defaultMQAdminExt.examineBrokerClusterInfo();
+ Map brokerAddrTable = clusterInfo.getBrokerAddrTable();
+ return brokerAddrTable.values();
+ } catch (Exception e) {
+ LOGGER.error("GetBrokers Exception", e);
+ }
+ return Collections.emptyList();
+ }
+
+ public Map getMaxOffset(Collection brokers) {
+ HashMap offsetTable = Maps.newHashMap();
+ if (CollectionUtils.isNotEmpty(brokers)) {
+ for (BrokerData broker : brokers) {
+ try {
+ AllMaxOffset allMaxOffset = defaultMQAdminExt.getAllMaxOffset(broker.selectBrokerAddr());
+ for (Map.Entry> entry : allMaxOffset.getOffsetTable().entrySet()) {
+ for (Map.Entry entry1 : entry.getValue().entrySet()) {
+ MessageQueue mq = new MessageQueue(entry.getKey(), broker.getBrokerName(), entry1.getKey());
+ offsetTable.put(mq, entry1.getValue());
+ }
+ }
+ } catch (Exception e) {
+ LOGGER.error("GetMaxOffset Exception", e);
+ }
+ }
+ }
+ return offsetTable;
+ }
+
+ public ConsumeStats getConsumeStats(String group, String topic) throws Exception {
+ return defaultMQAdminExt.examineConsumeStats(group, topic);
+ }
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/common/util/CacheLockUtils.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/common/util/CacheLockUtils.java
new file mode 100644
index 0000000..04f1a37
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/common/util/CacheLockUtils.java
@@ -0,0 +1,16 @@
+package com.didi.carrera.console.common.util;
+
+import java.util.concurrent.ConcurrentHashMap;
+
+
+public class CacheLockUtils {
+ private static final ConcurrentHashMap CACHE_LOCK = new ConcurrentHashMap<>();
+
+ public static boolean lock(String key) {
+ return CACHE_LOCK.putIfAbsent(key, 1) == null;
+ }
+
+ public static void unlock(String key) {
+ CACHE_LOCK.remove(key);
+ }
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/common/util/CodecsUtils.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/common/util/CodecsUtils.java
new file mode 100644
index 0000000..4910977
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/common/util/CodecsUtils.java
@@ -0,0 +1,73 @@
+package com.didi.carrera.console.common.util;
+
+
+public class CodecsUtils {
+ /**
+ * This method is used to judge whether byte[] is utf-8 encoding principle
+ * @param bytes
+ * @return true for bytes is utf-8 encoding principle
+ */
+ public static boolean isUtf8(byte[] bytes) {
+ int len = bytes.length;
+ for (int i = 0; i < len; ++i) {
+ if (((bytes[i] >>> 7) & 0x1) == 0) { // 0xxxxxxxx
+ continue;
+ } else if (((bytes[i] >>> 5) & 0x7) == 0x6) { // 110xxxxx
+ for (int j = 0; j < 1; ++j) {
+ if (isRegular(bytes[i+1])) {
+ i += 1;
+ } else {
+ return false;
+ }
+ }
+ continue;
+ } else if (((bytes[i] >>> 4) & 0xf) == 0xe) { // 1110xxxx
+ for (int j = 0; j < 2; ++j) {
+ if (isRegular(bytes[i+1])) {
+ i += 1;
+ } else {
+ return false;
+ }
+ }
+ continue;
+ } else if (((bytes[i] >>> 3) & 0x1f) == 0x1e) { // 11110xxx
+ for (int j = 0; j < 3; ++j) {
+ if (isRegular(bytes[i+1])) {
+ i += 1;
+ } else {
+ return false;
+ }
+ }
+ continue;
+ } else if (((bytes[i] >>> 2) & 0x3f) == 0x3e) { // 1110xxxx
+ for (int j = 0; j < 4; ++j) {
+ if (isRegular(bytes[i+1])) {
+ i += 1;
+ } else {
+ return false;
+ }
+ }
+ continue;
+ } else if (((bytes[i] >>> 1) & 0x7f) == 0x7e) { // 1110xxxx
+ for (int j = 0; j < 5; ++j) {
+ if (isRegular(bytes[i+1])) {
+ i += 1;
+ } else {
+ return false;
+ }
+ }
+ continue;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * This method supports isUtf8 method to judge whether byte b is 10xxxxxx
+ * @param b
+ * @return result of judgement
+ */
+ private static boolean isRegular(byte b) {
+ return ((b >>> 6) & 0x3) == 0x2;
+ }
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/common/util/FastJsonUtils.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/common/util/FastJsonUtils.java
new file mode 100644
index 0000000..d6b1ee5
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/common/util/FastJsonUtils.java
@@ -0,0 +1,26 @@
+package com.didi.carrera.console.common.util;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.TypeReference;
+import com.alibaba.fastjson.serializer.SerializerFeature;
+
+
+public class FastJsonUtils {
+
+ public static String toJsonString(Object obj) {
+ return JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat, SerializerFeature.WriteMapNullValue, SerializerFeature.DisableCircularReferenceDetect);
+ }
+
+ public static String toJson(Object obj) {
+ return JSON.toJSONString(obj);
+ }
+
+ public static T toObject(String json, Class cls) {
+ return JSON.parseObject(json, cls);
+ }
+
+ public static T toObject(String json, TypeReference typeReference) {
+ return JSON.parseObject(json, typeReference);
+ }
+
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/common/util/HostUtils.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/common/util/HostUtils.java
new file mode 100644
index 0000000..63e545f
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/common/util/HostUtils.java
@@ -0,0 +1,40 @@
+package com.didi.carrera.console.common.util;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.regex.Pattern;
+
+
+public class HostUtils {
+ private static final Logger logger = LoggerFactory.getLogger(HostUtils.class);
+
+ public static final Pattern IP_PATTERN = Pattern.compile("^[\\d.:]+$");
+
+ public static String getIp(String host) {
+ if (IP_PATTERN.matcher(host).matches()) {
+ return host;
+ }
+
+ try {
+ InetAddress address = InetAddress.getByName(host);
+ return address.getHostAddress();
+ } catch (UnknownHostException e) {
+ logger.error("get ip exception", e);
+ return host;
+ }
+ }
+
+ public static String getIpPortFromHost(String host, int defaultPort) {
+ String[] hostArr = host.split(":");
+ String hostIp = getIp(hostArr[0]);
+ if (hostArr.length == 2) {
+ hostIp = hostIp + ":" + hostArr[1];
+ } else {
+ hostIp = hostIp + ":" + defaultPort;
+ }
+ return hostIp;
+ }
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/common/util/LogUtils.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/common/util/LogUtils.java
new file mode 100644
index 0000000..73816cb
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/common/util/LogUtils.java
@@ -0,0 +1,14 @@
+package com.didi.carrera.console.common.util;
+
+import java.util.Random;
+
+
+public class LogUtils {
+
+ private static final Random random = new Random();
+
+ public static String genLogid() {
+ Long logid = (System.currentTimeMillis() << 22) + random.nextInt(1 << 23);
+ return logid.toString();
+ }
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/config/ApplicationStartedLintener.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/config/ApplicationStartedLintener.java
new file mode 100644
index 0000000..10b1938
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/config/ApplicationStartedLintener.java
@@ -0,0 +1,28 @@
+package com.didi.carrera.console.config;
+
+import com.didi.carrera.console.service.ZKV4ConfigService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.context.event.ApplicationReadyEvent;
+import org.springframework.context.event.EventListener;
+import org.springframework.stereotype.Component;
+
+@Component
+@Slf4j
+public class ApplicationStartedLintener {
+ @Autowired
+ private ZKV4ConfigService zkv4ConfigService;
+
+
+ @EventListener(ApplicationReadyEvent.class)
+ public void onApplicationStartedListener() {
+ log.info("应用启动成功,开始注册zk");
+ try {
+ zkv4ConfigService.initZkPath();
+ zkv4ConfigService.initAllZk();
+ log.info("zk注册成功");
+ } catch (Exception e) {
+ log.error("zk注册失败", e);
+ }
+ }
+}
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/config/ConsoleConfig.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/config/ConsoleConfig.java
new file mode 100644
index 0000000..425a711
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/config/ConsoleConfig.java
@@ -0,0 +1,60 @@
+package com.didi.carrera.console.config;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+@Component
+public class ConsoleConfig {
+ @Value("${console.carrera.zookeeper}")
+ private String zookeeper;
+ @Value("${console.env}")
+ private String env;
+ @Value("#{'${console.admin.user}'.split(',')}")
+ private List carreraAdminUser;
+ @Value("#{'${console.admin.password}'.split(',')}")
+ private List carreraAdminPassword;
+
+ public String getZookeeper() {
+ return zookeeper;
+ }
+
+ public void setZookeeper(String zookeeper) {
+ this.zookeeper = zookeeper;
+ }
+
+ public String getEnv() {
+ return env;
+ }
+
+ public void setEnv(String env) {
+ this.env = env;
+ }
+
+ public List getCarreraAdminUser() {
+ return carreraAdminUser;
+ }
+
+ public void setCarreraAdminUser(List carreraAdminUser) {
+ this.carreraAdminUser = carreraAdminUser;
+ }
+
+ public List getCarreraAdminPassword() {
+ return carreraAdminPassword;
+ }
+
+ public void setCarreraAdminPassword(List carreraAdminPassword) {
+ this.carreraAdminPassword = carreraAdminPassword;
+ }
+
+ @Override
+ public String toString() {
+ return "ConsoleConfig{" +
+ "zookeeper='" + zookeeper + '\'' +
+ ", env='" + env + '\'' +
+ ", carreraAdminUser=" + carreraAdminUser +
+ ", carreraAdminPassword=" + carreraAdminPassword +
+ '}';
+ }
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/config/SpringBeanConfig.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/config/SpringBeanConfig.java
new file mode 100644
index 0000000..3763a07
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/config/SpringBeanConfig.java
@@ -0,0 +1,77 @@
+package com.didi.carrera.console.config;
+
+import com.atomikos.icatch.jta.UserTransactionImp;
+import com.atomikos.icatch.jta.UserTransactionManager;
+import com.didi.carrera.console.web.controller.LoginInterceptor;
+import com.xiaojukeji.carrera.biz.ZkService;
+import com.xiaojukeji.carrera.biz.ZkServiceImpl;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+import org.springframework.transaction.annotation.EnableTransactionManagement;
+import org.springframework.transaction.jta.JtaTransactionManager;
+import org.springframework.transaction.jta.TransactionFactory;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+import javax.transaction.SystemException;
+import javax.transaction.TransactionManager;
+import javax.transaction.UserTransaction;
+
+@Configuration
+@EnableTransactionManagement
+@Slf4j
+public class SpringBeanConfig implements WebMvcConfigurer {
+
+ @Value("${console.carrera.zookeeper}")
+ private String zkHost;
+
+ @Bean
+ public ZkService getZkService() {
+ try {
+ return new ZkServiceImpl(zkHost, true);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ @Bean
+ @Primary
+ public TransactionManager atomikosTransactionManager() {
+ UserTransactionManager userTransactionManager = new UserTransactionManager();
+ userTransactionManager.setForceShutdown(false);
+ return userTransactionManager;
+ }
+
+ @Bean
+ @Primary
+ public UserTransaction atomikosUserTransaction() {
+ try {
+ UserTransactionImp userTransactionImp = new UserTransactionImp();
+ userTransactionImp.setTransactionTimeout(300);
+ return userTransactionImp;
+ } catch (SystemException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ @Bean
+ @Primary
+ public TransactionFactory jtaTransactionManager(TransactionManager atomikosTransactionManager, UserTransaction atomikosUserTransaction) {
+ JtaTransactionManager jtaTransactionManager = new JtaTransactionManager();
+ jtaTransactionManager.setTransactionManager(atomikosTransactionManager);
+ jtaTransactionManager.setUserTransaction(atomikosUserTransaction);
+ jtaTransactionManager.setAllowCustomIsolationLevels(true);
+ jtaTransactionManager.setDefaultTimeout(300);
+ return jtaTransactionManager;
+ }
+
+ @Override
+ public void addInterceptors(InterceptorRegistry registry) {
+ registry.addInterceptor(new LoginInterceptor()).addPathPatterns("/**");
+ }
+}
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/BaseMapper.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/BaseMapper.java
new file mode 100644
index 0000000..cbf0d6b
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/BaseMapper.java
@@ -0,0 +1,5 @@
+package com.didi.carrera.console.dao;
+
+
+public interface BaseMapper {
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/DaoUtil.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/DaoUtil.java
new file mode 100644
index 0000000..fc004cd
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/DaoUtil.java
@@ -0,0 +1,14 @@
+package com.didi.carrera.console.dao;
+
+import org.apache.commons.lang3.StringUtils;
+
+
+public class DaoUtil {
+
+ public static String getLikeField(String field) {
+ if(StringUtils.isEmpty(field)) {
+ return null;
+ }
+ return "%" + field + "%";
+ }
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/MybatisInterceptor.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/MybatisInterceptor.java
new file mode 100755
index 0000000..6fc479c
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/MybatisInterceptor.java
@@ -0,0 +1,150 @@
+package com.didi.carrera.console.dao;
+
+import org.apache.commons.lang3.time.DateFormatUtils;
+import org.apache.ibatis.executor.Executor;
+import org.apache.ibatis.mapping.BoundSql;
+import org.apache.ibatis.mapping.MappedStatement;
+import org.apache.ibatis.mapping.ParameterMapping;
+import org.apache.ibatis.plugin.Interceptor;
+import org.apache.ibatis.plugin.Intercepts;
+import org.apache.ibatis.plugin.Invocation;
+import org.apache.ibatis.plugin.Plugin;
+import org.apache.ibatis.plugin.Signature;
+import org.apache.ibatis.reflection.MetaObject;
+import org.apache.ibatis.session.Configuration;
+import org.apache.ibatis.session.ResultHandler;
+import org.apache.ibatis.session.RowBounds;
+import org.apache.ibatis.type.TypeHandlerRegistry;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Date;
+import java.util.List;
+import java.util.Properties;
+import java.util.regex.Matcher;
+
+@Intercepts({
+ @Signature(type = Executor.class, method = "update", args = {MappedStatement.class, Object.class}),
+ @Signature(type = Executor.class, method = "query", args = {MappedStatement.class, Object.class,
+ RowBounds.class, ResultHandler.class})})
+public class MybatisInterceptor implements Interceptor {
+
+
+ protected static final String SHOW_DETAILSQL_KEY = "showDetailSql";
+ protected static final String SHOW_COSTTIME_KEY = "showCostTime";
+ protected static final String SLOW_SQL_MS_KEY = "slowSqlMs";
+
+ protected static final String DATE_FORMAT = "yyyy-MM-dd HH:mm:ss";
+
+ protected Logger log = LoggerFactory.getLogger(MybatisInterceptor.class);
+
+ private boolean showDetailSql = true;
+ private boolean showCostTime = true;
+ private long slowSqlMs = 0;
+
+ public Object intercept(Invocation invocation) throws Throwable {
+ Object returnValue;
+ if (showDetailSql || showCostTime) {
+ MappedStatement mappedStatement = (MappedStatement) invocation.getArgs()[0];
+ Object parameter = null;
+ if (invocation.getArgs().length > 1) {
+ parameter = invocation.getArgs()[1];
+ }
+ String sqlId = mappedStatement.getId();
+ BoundSql boundSql = mappedStatement.getBoundSql(parameter);
+ Configuration configuration = mappedStatement.getConfiguration();
+
+ long start = System.currentTimeMillis();
+ returnValue = invocation.proceed();
+ long end = System.currentTimeMillis();
+ long time = (end - start);
+
+ String sql = getSql(configuration, boundSql, sqlId, time);
+ if (slowSqlMs != 0 && time > slowSqlMs) {
+ log.warn(sql);
+ } else {
+ log.info(sql);
+ }
+ } else {
+ returnValue = invocation.proceed();
+ }
+ return returnValue;
+ }
+
+ public String getSql(Configuration configuration, BoundSql boundSql, String sqlId, long time) {
+ StringBuilder str = new StringBuilder(100);
+ str.append(sqlId);
+ if (showDetailSql) {
+ str.append("||");
+ str.append(showSql(configuration, boundSql));
+ }
+ if (showCostTime) {
+ str.append("||cost=");
+ str.append(time);
+ str.append("ms");
+ }
+ return str.toString();
+ }
+
+ private String getParameterValue(Object obj) {
+ String value;
+ if (obj instanceof String) {
+ value = "'" + obj.toString() + "'";
+ } else if (obj instanceof Date) {
+ value = "'" + DateFormatUtils.format((Date) obj, DATE_FORMAT) + "'";
+ } else {
+ if (obj != null) {
+ value = obj.toString();
+ } else {
+ value = "";
+ }
+ }
+ return Matcher.quoteReplacement(value);
+ }
+
+ public String showSql(Configuration configuration, BoundSql boundSql) {
+ Object parameterObject = boundSql.getParameterObject();
+ List parameterMappings = boundSql.getParameterMappings();
+ // Remove unnecessary empty characters
+ String sql = boundSql.getSql().replaceAll("[\\s]+", " ");
+
+ if(parameterMappings.size() > 200) {
+ return sql;
+ }
+ if (parameterMappings.size() > 0 && parameterObject != null) {
+ TypeHandlerRegistry typeHandlerRegistry = configuration.getTypeHandlerRegistry();
+ if (typeHandlerRegistry.hasTypeHandler(parameterObject.getClass())) {
+ sql = sql.replaceFirst("\\?", getParameterValue(parameterObject));
+ } else {
+ MetaObject metaObject = configuration.newMetaObject(parameterObject);
+ for (ParameterMapping parameterMapping : parameterMappings) {
+ String propertyName = parameterMapping.getProperty();
+ if (metaObject.hasGetter(propertyName)) {
+ Object obj = metaObject.getValue(propertyName);
+ sql = sql.replaceFirst("\\?", getParameterValue(obj));
+ } else if (boundSql.hasAdditionalParameter(propertyName)) {
+ Object obj = boundSql.getAdditionalParameter(propertyName);
+ sql = sql.replaceFirst("\\?", getParameterValue(obj));
+ }
+ }
+ }
+ }
+ return sql;
+ }
+
+ public Object plugin(Object target) {
+ return Plugin.wrap(target, this);
+ }
+
+ public void setProperties(Properties properties) {
+ if (properties != null) {
+ String showDetailSql = properties.getProperty(SHOW_DETAILSQL_KEY, Boolean.TRUE.toString());
+ String showCostTime = properties.getProperty(SHOW_COSTTIME_KEY, Boolean.TRUE.toString());
+ String slowSqlMs = properties.getProperty(SLOW_SQL_MS_KEY, "0");
+ this.showDetailSql = Boolean.parseBoolean(showDetailSql);
+ this.showCostTime = Boolean.parseBoolean(showCostTime);
+ this.slowSqlMs = Long.parseLong(slowSqlMs);
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ClusterMqServerRelationType.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ClusterMqServerRelationType.java
new file mode 100644
index 0000000..55a144f
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ClusterMqServerRelationType.java
@@ -0,0 +1,42 @@
+package com.didi.carrera.console.dao.dict;
+
+
+public enum ClusterMqServerRelationType {
+ P_PROXY((byte)0, "pproxy"),
+ C_PROXY((byte)1, "cproxy");
+
+ private byte index;
+
+ private String name;
+
+ ClusterMqServerRelationType(byte index, String name) {
+ this.index = index;
+ this.name = name;
+ }
+
+ public byte getIndex() {
+ return this.index;
+ }
+
+ public void setIndex(byte index) {
+ this.index = index;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public static ClusterMqServerRelationType getByIndex(byte index) {
+ ClusterMqServerRelationType[] all = values();
+ for (ClusterMqServerRelationType type : all) {
+ if (type.getIndex() == index) {
+ return type;
+ }
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionAlarmType.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionAlarmType.java
new file mode 100644
index 0000000..f43a0d2
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionAlarmType.java
@@ -0,0 +1,46 @@
+package com.didi.carrera.console.dao.dict;
+
+import java.util.Arrays;
+import java.util.List;
+
+
+public enum ConsumeSubscriptionAlarmType {
+ EXTEND_GROUP_CONFIG((byte)0, "Same as group alarm configuration"),
+ SEPARATE_CONFIG((byte)1, "own alarm configuration");
+
+ private byte index;
+
+ private String name;
+
+ ConsumeSubscriptionAlarmType(byte index, String name) {
+ this.index = index;
+ this.name = name;
+ }
+
+ public byte getIndex() {
+ return this.index;
+ }
+
+ public void setIndex(byte index) {
+ this.index = index;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public static ConsumeSubscriptionAlarmType getByIndex(byte index) {
+ List all = Arrays.asList(values());
+ for (ConsumeSubscriptionAlarmType level : all) {
+ if (level.getIndex() == index) {
+ return level;
+ }
+ }
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionApiType.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionApiType.java
new file mode 100644
index 0000000..70494be
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionApiType.java
@@ -0,0 +1,46 @@
+package com.didi.carrera.console.dao.dict;
+
+import java.util.Arrays;
+import java.util.List;
+
+
+public enum ConsumeSubscriptionApiType {
+ HIGH_LEVEL((byte)1, "highlevel"),
+ LOW_LEVEL((byte)2, "lowlevel");
+
+ private byte index;
+
+ private String name;
+
+ ConsumeSubscriptionApiType(byte index, String name) {
+ this.index = index;
+ this.name = name;
+ }
+
+ public byte getIndex() {
+ return this.index;
+ }
+
+ public void setIndex(byte index) {
+ this.index = index;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public static ConsumeSubscriptionApiType getByIndex(byte index) {
+ List all = Arrays.asList(values());
+ for (ConsumeSubscriptionApiType level : all) {
+ if (level.getIndex() == index) {
+ return level;
+ }
+ }
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionBigDataType.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionBigDataType.java
new file mode 100644
index 0000000..9487d03
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionBigDataType.java
@@ -0,0 +1,46 @@
+package com.didi.carrera.console.dao.dict;
+
+import java.util.Arrays;
+import java.util.List;
+
+
+public enum ConsumeSubscriptionBigDataType {
+ HDFS((byte)0, "hdfs"),
+ HBASE((byte)1, "hbase"),
+ REDIS((byte)2, "redis");
+
+ private byte index;
+
+ private String name;
+
+ ConsumeSubscriptionBigDataType(byte index, String name) {
+ this.index = index;
+ this.name = name;
+ }
+
+ public byte getIndex() {
+ return index;
+ }
+
+ public void setIndex(byte index) {
+ this.index = index;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public static ConsumeSubscriptionBigDataType getByIndex(byte index) {
+ List all = Arrays.asList(values());
+ for (ConsumeSubscriptionBigDataType level : all) {
+ if (level.getIndex() == index) {
+ return level;
+ }
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionConsumeType.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionConsumeType.java
new file mode 100644
index 0000000..8845c36
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionConsumeType.java
@@ -0,0 +1,46 @@
+package com.didi.carrera.console.dao.dict;
+
+import java.util.Arrays;
+import java.util.List;
+
+
+public enum ConsumeSubscriptionConsumeType {
+ SDK((byte)1, "SDK"),
+ HTTP((byte)2, "HTTP"),
+ BIG_DATA((byte)3, "Write straightly to other component");
+
+ private byte index;
+
+ private String name;
+
+ ConsumeSubscriptionConsumeType(byte index, String name) {
+ this.index = index;
+ this.name = name;
+ }
+
+ public byte getIndex() {
+ return this.index;
+ }
+
+ public void setIndex(byte index) {
+ this.index = index;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public static ConsumeSubscriptionConsumeType getByIndex(byte index) {
+ List all = Arrays.asList(values());
+ for (ConsumeSubscriptionConsumeType level : all) {
+ if (level.getIndex() == index) {
+ return level;
+ }
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionHttpMethod.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionHttpMethod.java
new file mode 100644
index 0000000..f824db4
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionHttpMethod.java
@@ -0,0 +1,46 @@
+package com.didi.carrera.console.dao.dict;
+
+import java.util.Arrays;
+import java.util.List;
+
+
+public enum ConsumeSubscriptionHttpMethod {
+ POST((byte)0, "POST"),
+ GET((byte)1, "GET");
+
+ private byte index;
+
+ private String name;
+
+ ConsumeSubscriptionHttpMethod(byte index, String name) {
+ this.index = index;
+ this.name = name;
+ }
+
+ public byte getIndex() {
+ return this.index;
+ }
+
+ public void setIndex(byte index) {
+ this.index = index;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public static ConsumeSubscriptionHttpMethod getByIndex(byte index) {
+ List all = Arrays.asList(values());
+ for (ConsumeSubscriptionHttpMethod level : all) {
+ if (level.getIndex() == index) {
+ return level;
+ }
+ }
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionMsgPushType.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionMsgPushType.java
new file mode 100644
index 0000000..a639b19
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionMsgPushType.java
@@ -0,0 +1,47 @@
+package com.didi.carrera.console.dao.dict;
+
+import java.util.Arrays;
+import java.util.List;
+
+
+public enum ConsumeSubscriptionMsgPushType {
+
+ FORM_PARAMS((byte)1, "Post Body:params="),
+ FORM_PARAMS2((byte)2, "Post Body:flatten message's first layer to key=value");
+
+ private byte index;
+
+ private String name;
+
+ ConsumeSubscriptionMsgPushType(byte index, String name) {
+ this.index = index;
+ this.name = name;
+ }
+
+ public byte getIndex() {
+ return this.index;
+ }
+
+ public void setIndex(byte index) {
+ this.index = index;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public static ConsumeSubscriptionMsgPushType getByIndex(byte index) {
+ List all = Arrays.asList(values());
+ for (ConsumeSubscriptionMsgPushType level : all) {
+ if (level.getIndex() == index) {
+ return level;
+ }
+ }
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionMsgType.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionMsgType.java
new file mode 100644
index 0000000..c99374d
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionMsgType.java
@@ -0,0 +1,47 @@
+package com.didi.carrera.console.dao.dict;
+
+import java.util.Arrays;
+import java.util.List;
+
+
+public enum ConsumeSubscriptionMsgType {
+ JSON((byte)1, "JSON"),
+ TEXT((byte)2, "Text"),
+ BINARY((byte)3, "Binary");
+
+ private byte index;
+
+ private String name;
+
+ ConsumeSubscriptionMsgType(byte index, String name) {
+ this.index = index;
+ this.name = name;
+ }
+
+ public byte getIndex() {
+ return this.index;
+ }
+
+ public void setIndex(byte index) {
+ this.index = index;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public static ConsumeSubscriptionMsgType getByIndex(byte index) {
+ List all = Arrays.asList(values());
+ for (ConsumeSubscriptionMsgType level : all) {
+ if (level.getIndex() == index) {
+ return level;
+ }
+ }
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionPressureTraffic.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionPressureTraffic.java
new file mode 100644
index 0000000..85d176f
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/ConsumeSubscriptionPressureTraffic.java
@@ -0,0 +1,46 @@
+package com.didi.carrera.console.dao.dict;
+
+import java.util.Arrays;
+import java.util.List;
+
+
+public enum ConsumeSubscriptionPressureTraffic {
+ DISABLE((byte)0, "not consume pressure traffic"),
+ ENABLE((byte)1, "consume pressure traffic");
+
+ private byte index;
+
+ private String name;
+
+ ConsumeSubscriptionPressureTraffic(byte index, String name) {
+ this.index = index;
+ this.name = name;
+ }
+
+ public byte getIndex() {
+ return this.index;
+ }
+
+ public void setIndex(byte index) {
+ this.index = index;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public static ConsumeSubscriptionPressureTraffic getByIndex(byte index) {
+ List all = Arrays.asList(values());
+ for (ConsumeSubscriptionPressureTraffic level : all) {
+ if (level.getIndex() == index) {
+ return level;
+ }
+ }
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/IsDelete.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/IsDelete.java
new file mode 100644
index 0000000..93dc75a
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/IsDelete.java
@@ -0,0 +1,46 @@
+package com.didi.carrera.console.dao.dict;
+
+import java.util.Arrays;
+import java.util.List;
+
+
+public enum IsDelete {
+ NO((byte)0, "normal"),
+ YES((byte)1, "deleted");
+
+ private byte index;
+
+ private String name;
+
+ IsDelete(byte index, String name) {
+ this.index = index;
+ this.name = name;
+ }
+
+ public byte getIndex() {
+ return this.index;
+ }
+
+ public void setIndex(byte index) {
+ this.index = index;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public static IsDelete getByIndex(byte index) {
+ List all = Arrays.asList(values());
+ for (IsDelete level : all) {
+ if (level.getIndex() == index) {
+ return level;
+ }
+ }
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/IsEnable.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/IsEnable.java
new file mode 100644
index 0000000..2c477e0
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/IsEnable.java
@@ -0,0 +1,54 @@
+package com.didi.carrera.console.dao.dict;
+
+import java.util.Arrays;
+import java.util.List;
+
+
+public enum IsEnable {
+ ENABLE((byte)0, "enable"),
+ DISABLE((byte)1, "disable");
+
+ private byte index;
+
+ private String name;
+
+ IsEnable(byte index, String name) {
+ this.index = index;
+ this.name = name;
+ }
+
+ public byte getIndex() {
+ return this.index;
+ }
+
+ public void setIndex(byte index) {
+ this.index = index;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public static IsEnable getByIndex(byte index) {
+ List all = Arrays.asList(values());
+ for (IsEnable level : all) {
+ if (level.getIndex() == index) {
+ return level;
+ }
+ }
+ return null;
+ }
+
+ public static boolean isEnable(Byte index) {
+ if(index == null) {
+ return false;
+ }
+
+ return index == ENABLE.index;
+ }
+
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/MqServerType.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/MqServerType.java
new file mode 100644
index 0000000..4b55ea6
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/MqServerType.java
@@ -0,0 +1,45 @@
+package com.didi.carrera.console.dao.dict;
+
+import java.util.Arrays;
+import java.util.List;
+
+
+public enum MqServerType {
+ ROCKETMQ((byte)0, "rocketmq"),
+ KAFKA((byte)1, "kafka");
+
+ private byte index;
+
+ private String name;
+
+ MqServerType(byte index, String name) {
+ this.index = index;
+ this.name = name;
+ }
+
+ public byte getIndex() {
+ return this.index;
+ }
+
+ public void setIndex(byte index) {
+ this.index = index;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public static MqServerType getByIndex(byte index) {
+ List all = Arrays.asList(values());
+ for (MqServerType type : all) {
+ if (type.getIndex() == index) {
+ return type;
+ }
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/NodeType.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/NodeType.java
new file mode 100644
index 0000000..a754814
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/NodeType.java
@@ -0,0 +1,54 @@
+package com.didi.carrera.console.dao.dict;
+
+import java.util.Arrays;
+import java.util.List;
+
+
+public enum NodeType {
+
+ ROCKETMQ_BROKER_MASTER((byte)1, "rocketmq broker master"),
+
+ ROCKETMQ_NAMESERVER((byte)2, "rocketmq nameserver"),
+
+ PRODUCER_PROXY((byte)3, "producer proxy"),
+
+ CONSUMER_PROXY((byte)4, "consumer proxy"),
+
+ ROCKETMQ_BROKER_SLAVE((byte)9, "rocketmq broker slave");
+
+ private byte index;
+
+ private String name;
+
+ NodeType(byte index, String name) {
+ this.index = index;
+ this.name = name;
+ }
+
+ public byte getIndex() {
+ return this.index;
+ }
+
+ public void setIndex(byte index) {
+ this.index = index;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public static NodeType getByIndex(byte index) {
+ List all = Arrays.asList(values());
+ for (NodeType item : all) {
+ if (item.getIndex() == index) {
+ return item;
+ }
+ }
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/TopicCompressionType.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/TopicCompressionType.java
new file mode 100644
index 0000000..28751e3
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/TopicCompressionType.java
@@ -0,0 +1,46 @@
+package com.didi.carrera.console.dao.dict;
+
+import java.util.Arrays;
+import java.util.List;
+
+
+public enum TopicCompressionType {
+
+ RMQ_COMPRESSION((byte)0, "RMQ"),
+ SNAPPY_COMPRESSION((byte)1, "Snappy");
+
+ private byte index;
+
+ private String name;
+
+ TopicCompressionType(byte index, String name) {
+ this.index = index;
+ this.name = name;
+ }
+
+ public byte getIndex() {
+ return index;
+ }
+
+ public void setIndex(byte index) {
+ this.index = index;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public static TopicCompressionType getByIndex(byte index) {
+ List all = Arrays.asList(values());
+ for (TopicCompressionType level : all) {
+ if (level.getIndex() == index) {
+ return level;
+ }
+ }
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/TopicDelayTopic.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/TopicDelayTopic.java
new file mode 100644
index 0000000..4c3bd15
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/TopicDelayTopic.java
@@ -0,0 +1,46 @@
+package com.didi.carrera.console.dao.dict;
+
+import java.util.Arrays;
+import java.util.List;
+
+
+public enum TopicDelayTopic {
+ DELAY_TOPIC((byte)0, "delay topic"),
+ REAL_TIME_TOPIC((byte)1, "real-time topic");
+
+ private byte index;
+
+ private String name;
+
+ TopicDelayTopic(byte index, String name) {
+ this.index = index;
+ this.name = name;
+ }
+
+ public byte getIndex() {
+ return this.index;
+ }
+
+ public void setIndex(byte index) {
+ this.index = index;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public static TopicDelayTopic getByIndex(byte index) {
+ List all = Arrays.asList(values());
+ for (TopicDelayTopic level : all) {
+ if (level.getIndex() == index) {
+ return level;
+ }
+ }
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/TopicProduceMode.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/TopicProduceMode.java
new file mode 100644
index 0000000..b0c8f36
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/dict/TopicProduceMode.java
@@ -0,0 +1,62 @@
+package com.didi.carrera.console.dao.dict;
+
+import java.util.Arrays;
+import java.util.List;
+
+import com.xiaojukeji.carrera.config.v4.TopicConfig;
+
+
+public enum TopicProduceMode {
+ SAME_IDC((byte) 0, "同机房生产"),
+ OTHER((byte) 1, "自定义");
+
+ private byte index;
+
+ private String name;
+
+ TopicProduceMode(byte index, String name) {
+ this.index = index;
+ this.name = name;
+ }
+
+ public byte getIndex() {
+ return this.index;
+ }
+
+ public void setIndex(byte index) {
+ this.index = index;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public static TopicProduceMode getByIndex(byte index) {
+ List all = Arrays.asList(values());
+ for (TopicProduceMode level : all) {
+ if (level.getIndex() == index) {
+ return level;
+ }
+ }
+ return null;
+ }
+
+ public static TopicConfig.ProduceMode getZkMode(Byte index) {
+ if(index == null) {
+ return null;
+ }
+
+ if(index == SAME_IDC.index) {
+ return TopicConfig.ProduceMode.SAME_IDC;
+ } else if (index == OTHER.index) {
+ return TopicConfig.ProduceMode.OTHER;
+ }
+
+ return null;
+ }
+
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/ClusterMapper.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/ClusterMapper.java
new file mode 100644
index 0000000..ec189d6
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/ClusterMapper.java
@@ -0,0 +1,31 @@
+package com.didi.carrera.console.dao.mapper;
+
+import com.didi.carrera.console.dao.model.Cluster;
+import com.didi.carrera.console.dao.model.ClusterCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+
+public interface ClusterMapper {
+ long countByExample(ClusterCriteria example);
+
+ int deleteByExample(ClusterCriteria example);
+
+ int deleteByPrimaryKey(Long id);
+
+ int insert(Cluster record);
+
+ int insertSelective(Cluster record);
+
+ List selectByExample(ClusterCriteria example);
+
+ Cluster selectByPrimaryKey(Long id);
+
+ int updateByExampleSelective(@Param("record") Cluster record, @Param("example") ClusterCriteria example);
+
+ int updateByExample(@Param("record") Cluster record, @Param("example") ClusterCriteria example);
+
+ int updateByPrimaryKeySelective(Cluster record);
+
+ int updateByPrimaryKey(Cluster record);
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/ClusterMqserverRelationMapper.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/ClusterMqserverRelationMapper.java
new file mode 100644
index 0000000..1ecbd94
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/ClusterMqserverRelationMapper.java
@@ -0,0 +1,31 @@
+package com.didi.carrera.console.dao.mapper;
+
+import com.didi.carrera.console.dao.model.ClusterMqserverRelation;
+import com.didi.carrera.console.dao.model.ClusterMqserverRelationCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+
+public interface ClusterMqserverRelationMapper {
+ long countByExample(ClusterMqserverRelationCriteria example);
+
+ int deleteByExample(ClusterMqserverRelationCriteria example);
+
+ int deleteByPrimaryKey(Long id);
+
+ int insert(ClusterMqserverRelation record);
+
+ int insertSelective(ClusterMqserverRelation record);
+
+ List selectByExample(ClusterMqserverRelationCriteria example);
+
+ ClusterMqserverRelation selectByPrimaryKey(Long id);
+
+ int updateByExampleSelective(@Param("record") ClusterMqserverRelation record, @Param("example") ClusterMqserverRelationCriteria example);
+
+ int updateByExample(@Param("record") ClusterMqserverRelation record, @Param("example") ClusterMqserverRelationCriteria example);
+
+ int updateByPrimaryKeySelective(ClusterMqserverRelation record);
+
+ int updateByPrimaryKey(ClusterMqserverRelation record);
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/ConsumeGroupMapper.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/ConsumeGroupMapper.java
new file mode 100644
index 0000000..a3aeee2
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/ConsumeGroupMapper.java
@@ -0,0 +1,31 @@
+package com.didi.carrera.console.dao.mapper;
+
+import com.didi.carrera.console.dao.model.ConsumeGroup;
+import com.didi.carrera.console.dao.model.ConsumeGroupCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+
+public interface ConsumeGroupMapper {
+ long countByExample(ConsumeGroupCriteria example);
+
+ int deleteByExample(ConsumeGroupCriteria example);
+
+ int deleteByPrimaryKey(Long id);
+
+ int insert(ConsumeGroup record);
+
+ int insertSelective(ConsumeGroup record);
+
+ List selectByExample(ConsumeGroupCriteria example);
+
+ ConsumeGroup selectByPrimaryKey(Long id);
+
+ int updateByExampleSelective(@Param("record") ConsumeGroup record, @Param("example") ConsumeGroupCriteria example);
+
+ int updateByExample(@Param("record") ConsumeGroup record, @Param("example") ConsumeGroupCriteria example);
+
+ int updateByPrimaryKeySelective(ConsumeGroup record);
+
+ int updateByPrimaryKey(ConsumeGroup record);
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/ConsumeSubscriptionMapper.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/ConsumeSubscriptionMapper.java
new file mode 100644
index 0000000..88c93a7
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/ConsumeSubscriptionMapper.java
@@ -0,0 +1,37 @@
+package com.didi.carrera.console.dao.mapper;
+
+import com.didi.carrera.console.dao.model.ConsumeSubscription;
+import com.didi.carrera.console.dao.model.ConsumeSubscriptionCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+
+public interface ConsumeSubscriptionMapper {
+ long countByExample(ConsumeSubscriptionCriteria example);
+
+ int deleteByExample(ConsumeSubscriptionCriteria example);
+
+ int deleteByPrimaryKey(Long id);
+
+ int insert(ConsumeSubscription record);
+
+ int insertSelective(ConsumeSubscription record);
+
+ List selectByExampleWithBLOBs(ConsumeSubscriptionCriteria example);
+
+ List selectByExample(ConsumeSubscriptionCriteria example);
+
+ ConsumeSubscription selectByPrimaryKey(Long id);
+
+ int updateByExampleSelective(@Param("record") ConsumeSubscription record, @Param("example") ConsumeSubscriptionCriteria example);
+
+ int updateByExampleWithBLOBs(@Param("record") ConsumeSubscription record, @Param("example") ConsumeSubscriptionCriteria example);
+
+ int updateByExample(@Param("record") ConsumeSubscription record, @Param("example") ConsumeSubscriptionCriteria example);
+
+ int updateByPrimaryKeySelective(ConsumeSubscription record);
+
+ int updateByPrimaryKeyWithBLOBs(ConsumeSubscription record);
+
+ int updateByPrimaryKey(ConsumeSubscription record);
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/IdcMapper.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/IdcMapper.java
new file mode 100644
index 0000000..bcf0d88
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/IdcMapper.java
@@ -0,0 +1,31 @@
+package com.didi.carrera.console.dao.mapper;
+
+import com.didi.carrera.console.dao.model.Idc;
+import com.didi.carrera.console.dao.model.IdcCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+
+public interface IdcMapper {
+ long countByExample(IdcCriteria example);
+
+ int deleteByExample(IdcCriteria example);
+
+ int deleteByPrimaryKey(Long id);
+
+ int insert(Idc record);
+
+ int insertSelective(Idc record);
+
+ List selectByExample(IdcCriteria example);
+
+ Idc selectByPrimaryKey(Long id);
+
+ int updateByExampleSelective(@Param("record") Idc record, @Param("example") IdcCriteria example);
+
+ int updateByExample(@Param("record") Idc record, @Param("example") IdcCriteria example);
+
+ int updateByPrimaryKeySelective(Idc record);
+
+ int updateByPrimaryKey(Idc record);
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/MqServerMapper.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/MqServerMapper.java
new file mode 100644
index 0000000..dc45c15
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/MqServerMapper.java
@@ -0,0 +1,32 @@
+package com.didi.carrera.console.dao.mapper;
+
+import java.util.List;
+
+import com.didi.carrera.console.dao.model.MqServer;
+import com.didi.carrera.console.dao.model.MqServerCriteria;
+import org.apache.ibatis.annotations.Param;
+
+
+public interface MqServerMapper {
+ long countByExample(MqServerCriteria example);
+
+ int deleteByExample(MqServerCriteria example);
+
+ int deleteByPrimaryKey(Long id);
+
+ int insert(MqServer record);
+
+ int insertSelective(MqServer record);
+
+ List selectByExample(MqServerCriteria example);
+
+ MqServer selectByPrimaryKey(Long id);
+
+ int updateByExampleSelective(@Param("record") MqServer record, @Param("example") MqServerCriteria example);
+
+ int updateByExample(@Param("record") MqServer record, @Param("example") MqServerCriteria example);
+
+ int updateByPrimaryKeySelective(MqServer record);
+
+ int updateByPrimaryKey(MqServer record);
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/NodeMapper.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/NodeMapper.java
new file mode 100644
index 0000000..86bb727
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/NodeMapper.java
@@ -0,0 +1,31 @@
+package com.didi.carrera.console.dao.mapper;
+
+import com.didi.carrera.console.dao.model.Node;
+import com.didi.carrera.console.dao.model.NodeCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+
+public interface NodeMapper {
+ long countByExample(NodeCriteria example);
+
+ int deleteByExample(NodeCriteria example);
+
+ int deleteByPrimaryKey(Long id);
+
+ int insert(Node record);
+
+ int insertSelective(Node record);
+
+ List selectByExample(NodeCriteria example);
+
+ Node selectByPrimaryKey(Long id);
+
+ int updateByExampleSelective(@Param("record") Node record, @Param("example") NodeCriteria example);
+
+ int updateByExample(@Param("record") Node record, @Param("example") NodeCriteria example);
+
+ int updateByPrimaryKeySelective(Node record);
+
+ int updateByPrimaryKey(Node record);
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/TopicConfMapper.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/TopicConfMapper.java
new file mode 100644
index 0000000..7b8b6c6
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/TopicConfMapper.java
@@ -0,0 +1,31 @@
+package com.didi.carrera.console.dao.mapper;
+
+import com.didi.carrera.console.dao.model.TopicConf;
+import com.didi.carrera.console.dao.model.TopicConfCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+
+public interface TopicConfMapper {
+ long countByExample(TopicConfCriteria example);
+
+ int deleteByExample(TopicConfCriteria example);
+
+ int deleteByPrimaryKey(Long id);
+
+ int insert(TopicConf record);
+
+ int insertSelective(TopicConf record);
+
+ List selectByExample(TopicConfCriteria example);
+
+ TopicConf selectByPrimaryKey(Long id);
+
+ int updateByExampleSelective(@Param("record") TopicConf record, @Param("example") TopicConfCriteria example);
+
+ int updateByExample(@Param("record") TopicConf record, @Param("example") TopicConfCriteria example);
+
+ int updateByPrimaryKeySelective(TopicConf record);
+
+ int updateByPrimaryKey(TopicConf record);
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/TopicMapper.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/TopicMapper.java
new file mode 100644
index 0000000..35e629f
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/TopicMapper.java
@@ -0,0 +1,37 @@
+package com.didi.carrera.console.dao.mapper;
+
+import com.didi.carrera.console.dao.model.Topic;
+import com.didi.carrera.console.dao.model.TopicCriteria;
+import java.util.List;
+import org.apache.ibatis.annotations.Param;
+
+
+public interface TopicMapper {
+ long countByExample(TopicCriteria example);
+
+ int deleteByExample(TopicCriteria example);
+
+ int deleteByPrimaryKey(Long id);
+
+ int insert(Topic record);
+
+ int insertSelective(Topic record);
+
+ List selectByExampleWithBLOBs(TopicCriteria example);
+
+ List selectByExample(TopicCriteria example);
+
+ Topic selectByPrimaryKey(Long id);
+
+ int updateByExampleSelective(@Param("record") Topic record, @Param("example") TopicCriteria example);
+
+ int updateByExampleWithBLOBs(@Param("record") Topic record, @Param("example") TopicCriteria example);
+
+ int updateByExample(@Param("record") Topic record, @Param("example") TopicCriteria example);
+
+ int updateByPrimaryKeySelective(Topic record);
+
+ int updateByPrimaryKeyWithBLOBs(Topic record);
+
+ int updateByPrimaryKey(Topic record);
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/custom/ConsumeGroupCustomMapper.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/custom/ConsumeGroupCustomMapper.java
new file mode 100644
index 0000000..962c961
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/custom/ConsumeGroupCustomMapper.java
@@ -0,0 +1,121 @@
+package com.didi.carrera.console.dao.mapper.custom;
+
+import java.util.List;
+
+import com.didi.carrera.console.dao.BaseMapper;
+import com.didi.carrera.console.dao.model.ConsumeGroup;
+import org.apache.ibatis.annotations.Param;
+
+
+public interface ConsumeGroupCustomMapper extends BaseMapper {
+
+ List selectByCondition(@Param("contacters") String user, @Param("text") String text, @Param("limit") Integer index, @Param("size") Integer pageSize);
+
+ Integer selectCountByCondition(@Param("contacters") String user, @Param("text") String text);
+
+// @Insert(SCRIPT_START +
+// "insert into consume_group\n" +
+// " \n" +
+// " \n" +
+// " id,\n" +
+// " \n" +
+// " \n" +
+// " group_name,\n" +
+// " \n" +
+// " \n" +
+// " department,\n" +
+// " \n" +
+// " \n" +
+// " service,\n" +
+// " \n" +
+// " \n" +
+// " contacters,\n" +
+// " \n" +
+// " \n" +
+// " alarm_is_enable,\n" +
+// " \n" +
+// " \n" +
+// " alarm_group,\n" +
+// " \n" +
+// " \n" +
+// " alarm_level,\n" +
+// " \n" +
+// " \n" +
+// " alarm_msg_lag,\n" +
+// " \n" +
+// " \n" +
+// " alarm_delay_time,\n" +
+// " \n" +
+// " \n" +
+// " extra_params,\n" +
+// " \n" +
+// " \n" +
+// " config,\n" +
+// " \n" +
+// " \n" +
+// " remark,\n" +
+// " \n" +
+// " \n" +
+// " is_delete,\n" +
+// " \n" +
+// " \n" +
+// " create_time,\n" +
+// " \n" +
+// " \n" +
+// " modify_time,\n" +
+// " \n" +
+// " \n" +
+// " \n" +
+// " \n" +
+// " #{id,jdbcType=BIGINT},\n" +
+// " \n" +
+// " \n" +
+// " #{groupName,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{department,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{service,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{contacters,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{alarmIsEnable,jdbcType=TINYINT},\n" +
+// " \n" +
+// " \n" +
+// " #{alarmGroup,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{alarmLevel,jdbcType=TINYINT},\n" +
+// " \n" +
+// " \n" +
+// " #{alarmMsgLag,jdbcType=INTEGER},\n" +
+// " \n" +
+// " \n" +
+// " #{alarmDelayTime,jdbcType=INTEGER},\n" +
+// " \n" +
+// " \n" +
+// " #{extraParams,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{config,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{remark,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{isDelete,jdbcType=TINYINT},\n" +
+// " \n" +
+// " \n" +
+// " #{createTime,jdbcType=TIMESTAMP},\n" +
+// " \n" +
+// " \n" +
+// " #{modifyTime,jdbcType=TIMESTAMP},\n" +
+// " \n" +
+// " " +
+// SCRIPT_END)
+// int insertSelectiveWithPrimaryKey(ConsumeGroup consumeGroup);
+
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/custom/ConsumeSubscriptionCustomMapper.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/custom/ConsumeSubscriptionCustomMapper.java
new file mode 100644
index 0000000..7992d23
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/custom/ConsumeSubscriptionCustomMapper.java
@@ -0,0 +1,278 @@
+package com.didi.carrera.console.dao.mapper.custom;
+
+import java.util.List;
+
+import com.didi.carrera.console.dao.BaseMapper;
+import com.didi.carrera.console.dao.model.ConsumeSubscription;
+import com.didi.carrera.console.dao.model.custom.CustomConsumeSubscription;
+import com.didi.carrera.console.dao.model.custom.CustomSubscriptionStateCount;
+import org.apache.ibatis.annotations.Param;
+
+
+public interface ConsumeSubscriptionCustomMapper extends BaseMapper {
+
+ List selectByTopicIdClusterId(@Param("topicId") Long topicId, @Param("clusterId") Long clusterId);
+
+ List selectStateCountByGroupId(List list);
+
+ List selectByCondition(@Param("contacters") String user, @Param("groupId") Long groupId, @Param("clusterId") Long clusterId, @Param("consumeType") Integer consumeType, @Param("state") Integer state, @Param("text") String text, @Param("limit") Integer index, @Param("size") Integer pageSize);
+
+ Integer selectCountByCondition(@Param("contacters") String user, @Param("groupId") Long groupId, @Param("clusterId") Long clusterId, @Param("consumeType") Integer consumeType, @Param("state") Integer state, @Param("text") String text);
+
+
+// @Insert(SCRIPT_START +
+// "insert into consume_subscription\n" +
+// " \n" +
+// " \n" +
+// " id,\n" +
+// " \n" +
+// " \n" +
+// " group_id,\n" +
+// " \n" +
+// " \n" +
+// " group_name,\n" +
+// " \n" +
+// " \n" +
+// " topic_id,\n" +
+// " \n" +
+// " \n" +
+// " topic_name,\n" +
+// " \n" +
+// " \n" +
+// " cluster_id,\n" +
+// " \n" +
+// " \n" +
+// " cluster_name,\n" +
+// " \n" +
+// " \n" +
+// " pressure_traffic,\n" +
+// " \n" +
+// " \n" +
+// " max_tps,\n" +
+// " \n" +
+// " \n" +
+// " alarm_type,\n" +
+// " \n" +
+// " \n" +
+// " alarm_is_enable,\n" +
+// " \n" +
+// " \n" +
+// " alarm_level,\n" +
+// " \n" +
+// " \n" +
+// " alarm_msg_lag,\n" +
+// " \n" +
+// " \n" +
+// " alarm_delay_time,\n" +
+// " \n" +
+// " \n" +
+// " api_type,\n" +
+// " \n" +
+// " \n" +
+// " consume_timeout,\n" +
+// " \n" +
+// " \n" +
+// " error_retry_times,\n" +
+// " \n" +
+// " \n" +
+// " retry_intervals,\n" +
+// " \n" +
+// " \n" +
+// " msg_type,\n" +
+// " \n" +
+// " \n" +
+// " enable_groovy,\n" +
+// " \n" +
+// " \n" +
+// " enable_transit,\n" +
+// " \n" +
+// " \n" +
+// " transit,\n" +
+// " \n" +
+// " \n" +
+// " enable_order,\n" +
+// " \n" +
+// " \n" +
+// " order_key,\n" +
+// " \n" +
+// " \n" +
+// " consume_type,\n" +
+// " \n" +
+// " \n" +
+// " urls,\n" +
+// " \n" +
+// " \n" +
+// " http_method,\n" +
+// " \n" +
+// " \n" +
+// " http_headers,\n" +
+// " \n" +
+// " \n" +
+// " http_query_params,\n" +
+// " \n" +
+// " \n" +
+// " msg_push_type,\n" +
+// " \n" +
+// " \n" +
+// " http_token,\n" +
+// " \n" +
+// " \n" +
+// " push_max_concurrency,\n" +
+// " \n" +
+// " \n" +
+// " actions,\n" +
+// " \n" +
+// " \n" +
+// " config,\n" +
+// " \n" +
+// " \n" +
+// " state,\n" +
+// " \n" +
+// " \n" +
+// " extra_params,\n" +
+// " \n" +
+// " \n" +
+// " remark,\n" +
+// " \n" +
+// " \n" +
+// " is_delete,\n" +
+// " \n" +
+// " \n" +
+// " create_time,\n" +
+// " \n" +
+// " \n" +
+// " modify_time,\n" +
+// " \n" +
+// " \n" +
+// " groovy,\n" +
+// " \n" +
+// " \n" +
+// " \n" +
+// " \n" +
+// " #{id,jdbcType=BIGINT},\n" +
+// " \n" +
+// " \n" +
+// " #{groupId,jdbcType=BIGINT},\n" +
+// " \n" +
+// " \n" +
+// " #{groupName,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{topicId,jdbcType=BIGINT},\n" +
+// " \n" +
+// " \n" +
+// " #{topicName,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{clusterId,jdbcType=BIGINT},\n" +
+// " \n" +
+// " \n" +
+// " #{clusterName,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{pressureTraffic,jdbcType=TINYINT},\n" +
+// " \n" +
+// " \n" +
+// " #{maxTps,jdbcType=INTEGER},\n" +
+// " \n" +
+// " \n" +
+// " #{alarmType,jdbcType=TINYINT},\n" +
+// " \n" +
+// " \n" +
+// " #{alarmIsEnable,jdbcType=TINYINT},\n" +
+// " \n" +
+// " \n" +
+// " #{alarmLevel,jdbcType=TINYINT},\n" +
+// " \n" +
+// " \n" +
+// " #{alarmMsgLag,jdbcType=INTEGER},\n" +
+// " \n" +
+// " \n" +
+// " #{alarmDelayTime,jdbcType=INTEGER},\n" +
+// " \n" +
+// " \n" +
+// " #{apiType,jdbcType=TINYINT},\n" +
+// " \n" +
+// " \n" +
+// " #{consumeTimeout,jdbcType=INTEGER},\n" +
+// " \n" +
+// " \n" +
+// " #{errorRetryTimes,jdbcType=INTEGER},\n" +
+// " \n" +
+// " \n" +
+// " #{retryIntervals,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{msgType,jdbcType=TINYINT},\n" +
+// " \n" +
+// " \n" +
+// " #{enableGroovy,jdbcType=TINYINT},\n" +
+// " \n" +
+// " \n" +
+// " #{enableTransit,jdbcType=TINYINT},\n" +
+// " \n" +
+// " \n" +
+// " #{transit,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{enableOrder,jdbcType=TINYINT},\n" +
+// " \n" +
+// " \n" +
+// " #{orderKey,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{consumeType,jdbcType=TINYINT},\n" +
+// " \n" +
+// " \n" +
+// " #{urls,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{httpMethod,jdbcType=TINYINT},\n" +
+// " \n" +
+// " \n" +
+// " #{httpHeaders,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{httpQueryParams,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{msgPushType,jdbcType=TINYINT},\n" +
+// " \n" +
+// " \n" +
+// " #{httpToken,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{pushMaxConcurrency,jdbcType=INTEGER},\n" +
+// " \n" +
+// " \n" +
+// " #{actions,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{config,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{state,jdbcType=TINYINT},\n" +
+// " \n" +
+// " \n" +
+// " #{extraParams,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{remark,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{isDelete,jdbcType=TINYINT},\n" +
+// " \n" +
+// " \n" +
+// " #{createTime,jdbcType=TIMESTAMP},\n" +
+// " \n" +
+// " \n" +
+// " #{modifyTime,jdbcType=TIMESTAMP},\n" +
+// " \n" +
+// " \n" +
+// " #{groovy,jdbcType=LONGVARCHAR},\n" +
+// " \n" +
+// " " +
+// SCRIPT_END)
+// int insertSelectiveWithPrimaryKey(ConsumeSubscription consumeSubscription);
+
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/custom/TopicConfCustomMapper.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/custom/TopicConfCustomMapper.java
new file mode 100644
index 0000000..6702bee
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/custom/TopicConfCustomMapper.java
@@ -0,0 +1,11 @@
+package com.didi.carrera.console.dao.mapper.custom;
+
+import java.util.List;
+
+import com.didi.carrera.console.dao.model.custom.CustomTopicConf;
+
+
+public interface TopicConfCustomMapper {
+
+ List selectByTopicId(List list);
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/custom/TopicCustomMapper.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/custom/TopicCustomMapper.java
new file mode 100644
index 0000000..f190f7e
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/mapper/custom/TopicCustomMapper.java
@@ -0,0 +1,114 @@
+package com.didi.carrera.console.dao.mapper.custom;
+
+import java.util.List;
+
+import com.didi.carrera.console.dao.BaseMapper;
+import com.didi.carrera.console.dao.model.Topic;
+import org.apache.ibatis.annotations.Param;
+
+
+public interface TopicCustomMapper extends BaseMapper {
+
+ List selectByCondition(@Param("clusterId") Long clusterId, @Param("contacters") String user, @Param("text") String text, @Param("limit") Integer curPage, @Param("size") Integer pageSize);
+
+ Integer selectCountByCondition(@Param("clusterId") Long clusterId, @Param("contacters") String user, @Param("text") String text);
+
+// @Insert(SCRIPT_START +
+// "insert into topic\n" +
+// " \n" +
+// " \n" +
+// " id,\n" +
+// " \n" +
+// " \n" +
+// " topic_name,\n" +
+// " \n" +
+// " \n" +
+// " department,\n" +
+// " \n" +
+// " \n" +
+// " service,\n" +
+// " \n" +
+// " \n" +
+// " contacters,\n" +
+// " \n" +
+// " \n" +
+// " alarm_group,\n" +
+// " \n" +
+// " \n" +
+// " delay_topic,\n" +
+// " \n" +
+// " \n" +
+// " state,\n" +
+// " \n" +
+// " \n" +
+// " config,\n" +
+// " \n" +
+// " \n" +
+// " description,\n" +
+// " \n" +
+// " \n" +
+// " extra_params,\n" +
+// " \n" +
+// " \n" +
+// " is_delete,\n" +
+// " \n" +
+// " \n" +
+// " create_time,\n" +
+// " \n" +
+// " \n" +
+// " modify_time,\n" +
+// " \n" +
+// " \n" +
+// " topic_schema,\n" +
+// " \n" +
+// " \n" +
+// " \n" +
+// " \n" +
+// " #{id,jdbcType=BIGINT},\n" +
+// " \n" +
+// " \n" +
+// " #{topicName,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{department,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{service,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{contacters,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{alarmGroup,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{delayTopic,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{state,jdbcType=TINYINT},\n" +
+// " \n" +
+// " \n" +
+// " #{config,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{description,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{extraParams,jdbcType=VARCHAR},\n" +
+// " \n" +
+// " \n" +
+// " #{isDelete,jdbcType=TINYINT},\n" +
+// " \n" +
+// " \n" +
+// " #{createTime,jdbcType=TIMESTAMP},\n" +
+// " \n" +
+// " \n" +
+// " #{modifyTime,jdbcType=TIMESTAMP},\n" +
+// " \n" +
+// " \n" +
+// " #{topicSchema,jdbcType=LONGVARCHAR},\n" +
+// " \n" +
+// " " +
+// SCRIPT_END)
+// int insertSelectiveWithPrimaryKey(Topic topic);
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/model/Cluster.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/model/Cluster.java
new file mode 100644
index 0000000..af84e8b
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/model/Cluster.java
@@ -0,0 +1,202 @@
+package com.didi.carrera.console.dao.model;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+public class Cluster implements Serializable {
+ /**
+ * 自增id
+ * default = null
+ * length = 20
+ */
+ private Long id;
+
+ /**
+ * 集群名称
+ * default =
+ * length = 256
+ */
+ private String name;
+
+ /**
+ * 描述信息
+ * default =
+ * length = 1024
+ */
+ private String description;
+
+ /**
+ * idc table primarykey
+ * default = 0
+ * length = 19
+ */
+ private Long idcId;
+
+ /**
+ * 集群所属机房
+ * default = gz01
+ * length = 256
+ */
+ private String idc;
+
+ /**
+ * 备注
+ * default =
+ * length = 1024
+ */
+ private String remark;
+
+ /**
+ * 是否删除 0:未删除 1:删除
+ * default = 0
+ * length = 3
+ */
+ private Byte isDelete;
+
+ /**
+ * 创建时间
+ * default = 1970-01-01 00:00:00
+ * length = 19
+ */
+ private Date createTime;
+
+ /**
+ * 修改时间
+ * default = CURRENT_TIMESTAMP
+ * length = 19
+ */
+ private Date modifyTime;
+
+ private static final long serialVersionUID = 1L;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name == null ? null : name.trim();
+ }
+
+ public String getDescription() {
+ return description;
+ }
+
+ public void setDescription(String description) {
+ this.description = description == null ? null : description.trim();
+ }
+
+ public Long getIdcId() {
+ return idcId;
+ }
+
+ public void setIdcId(Long idcId) {
+ this.idcId = idcId;
+ }
+
+ public String getIdc() {
+ return idc;
+ }
+
+ public void setIdc(String idc) {
+ this.idc = idc == null ? null : idc.trim();
+ }
+
+ public String getRemark() {
+ return remark;
+ }
+
+ public void setRemark(String remark) {
+ this.remark = remark == null ? null : remark.trim();
+ }
+
+ public Byte getIsDelete() {
+ return isDelete;
+ }
+
+ public void setIsDelete(Byte isDelete) {
+ this.isDelete = isDelete;
+ }
+
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ public Date getModifyTime() {
+ return modifyTime;
+ }
+
+ public void setModifyTime(Date modifyTime) {
+ this.modifyTime = modifyTime;
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (this == that) {
+ return true;
+ }
+ if (that == null) {
+ return false;
+ }
+ if (getClass() != that.getClass()) {
+ return false;
+ }
+ Cluster other = (Cluster) that;
+ return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+ && (this.getName() == null ? other.getName() == null : this.getName().equals(other.getName()))
+ && (this.getDescription() == null ? other.getDescription() == null : this.getDescription().equals(other.getDescription()))
+ && (this.getIdcId() == null ? other.getIdcId() == null : this.getIdcId().equals(other.getIdcId()))
+ && (this.getIdc() == null ? other.getIdc() == null : this.getIdc().equals(other.getIdc()))
+ && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()))
+ && (this.getIsDelete() == null ? other.getIsDelete() == null : this.getIsDelete().equals(other.getIsDelete()))
+ && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+ && (this.getModifyTime() == null ? other.getModifyTime() == null : this.getModifyTime().equals(other.getModifyTime()));
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+ result = prime * result + ((getName() == null) ? 0 : getName().hashCode());
+ result = prime * result + ((getDescription() == null) ? 0 : getDescription().hashCode());
+ result = prime * result + ((getIdcId() == null) ? 0 : getIdcId().hashCode());
+ result = prime * result + ((getIdc() == null) ? 0 : getIdc().hashCode());
+ result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
+ result = prime * result + ((getIsDelete() == null) ? 0 : getIsDelete().hashCode());
+ result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+ result = prime * result + ((getModifyTime() == null) ? 0 : getModifyTime().hashCode());
+ return result;
+ }
+
+ @Override
+ public String toString() {
+ String sb = getClass().getSimpleName() +
+ " [" +
+ "Hash = " + hashCode() +
+ ", id=" + id +
+ ", name=" + name +
+ ", description=" + description +
+ ", idcId=" + idcId +
+ ", idc=" + idc +
+ ", remark=" + remark +
+ ", isDelete=" + isDelete +
+ ", createTime=" + createTime +
+ ", modifyTime=" + modifyTime +
+ ", serialVersionUID=" + serialVersionUID +
+ "]";
+ return sb;
+ }
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/model/ClusterCriteria.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/model/ClusterCriteria.java
new file mode 100644
index 0000000..c87c8d4
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/model/ClusterCriteria.java
@@ -0,0 +1,801 @@
+package com.didi.carrera.console.dao.model;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+
+public class ClusterCriteria {
+ protected String orderByClause;
+
+ protected boolean distinct;
+
+ protected List oredCriteria;
+
+ protected Integer start;
+
+ protected Integer end;
+
+ public ClusterCriteria() {
+ oredCriteria = new ArrayList<>();
+ }
+
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ protected Criteria createCriteriaInternal() {
+ return new Criteria();
+ }
+
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ public void setStart(Integer start) {
+ this.start=start;
+ }
+
+ public Integer getStart() {
+ return start;
+ }
+
+ public void setEnd(Integer end) {
+ this.end=end;
+ }
+
+ public Integer getEnd() {
+ return end;
+ }
+
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList<>();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andIdIsNull() {
+ addCriterion("id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIsNotNull() {
+ addCriterion("id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdEqualTo(Long value) {
+ addCriterion("id =", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotEqualTo(Long value) {
+ addCriterion("id <>", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThan(Long value) {
+ addCriterion("id >", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("id >=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThan(Long value) {
+ addCriterion("id <", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThanOrEqualTo(Long value) {
+ addCriterion("id <=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIn(List values) {
+ addCriterion("id in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotIn(List values) {
+ addCriterion("id not in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdBetween(Long value1, Long value2) {
+ addCriterion("id between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotBetween(Long value1, Long value2) {
+ addCriterion("id not between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameIsNull() {
+ addCriterion("name is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameIsNotNull() {
+ addCriterion("name is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameEqualTo(String value) {
+ addCriterion("name =", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotEqualTo(String value) {
+ addCriterion("name <>", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameGreaterThan(String value) {
+ addCriterion("name >", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameGreaterThanOrEqualTo(String value) {
+ addCriterion("name >=", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameLessThan(String value) {
+ addCriterion("name <", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameLessThanOrEqualTo(String value) {
+ addCriterion("name <=", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameLike(String value) {
+ addCriterion("name like", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotLike(String value) {
+ addCriterion("name not like", value, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameIn(List values) {
+ addCriterion("name in", values, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotIn(List values) {
+ addCriterion("name not in", values, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameBetween(String value1, String value2) {
+ addCriterion("name between", value1, value2, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andNameNotBetween(String value1, String value2) {
+ addCriterion("name not between", value1, value2, "name");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionIsNull() {
+ addCriterion("description is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionIsNotNull() {
+ addCriterion("description is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionEqualTo(String value) {
+ addCriterion("description =", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionNotEqualTo(String value) {
+ addCriterion("description <>", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionGreaterThan(String value) {
+ addCriterion("description >", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionGreaterThanOrEqualTo(String value) {
+ addCriterion("description >=", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionLessThan(String value) {
+ addCriterion("description <", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionLessThanOrEqualTo(String value) {
+ addCriterion("description <=", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionLike(String value) {
+ addCriterion("description like", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionNotLike(String value) {
+ addCriterion("description not like", value, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionIn(List values) {
+ addCriterion("description in", values, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionNotIn(List values) {
+ addCriterion("description not in", values, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionBetween(String value1, String value2) {
+ addCriterion("description between", value1, value2, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andDescriptionNotBetween(String value1, String value2) {
+ addCriterion("description not between", value1, value2, "description");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcIdIsNull() {
+ addCriterion("idc_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcIdIsNotNull() {
+ addCriterion("idc_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcIdEqualTo(Long value) {
+ addCriterion("idc_id =", value, "idcId");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcIdNotEqualTo(Long value) {
+ addCriterion("idc_id <>", value, "idcId");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcIdGreaterThan(Long value) {
+ addCriterion("idc_id >", value, "idcId");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("idc_id >=", value, "idcId");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcIdLessThan(Long value) {
+ addCriterion("idc_id <", value, "idcId");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcIdLessThanOrEqualTo(Long value) {
+ addCriterion("idc_id <=", value, "idcId");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcIdIn(List values) {
+ addCriterion("idc_id in", values, "idcId");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcIdNotIn(List values) {
+ addCriterion("idc_id not in", values, "idcId");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcIdBetween(Long value1, Long value2) {
+ addCriterion("idc_id between", value1, value2, "idcId");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcIdNotBetween(Long value1, Long value2) {
+ addCriterion("idc_id not between", value1, value2, "idcId");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcIsNull() {
+ addCriterion("idc is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcIsNotNull() {
+ addCriterion("idc is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcEqualTo(String value) {
+ addCriterion("idc =", value, "idc");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcNotEqualTo(String value) {
+ addCriterion("idc <>", value, "idc");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcGreaterThan(String value) {
+ addCriterion("idc >", value, "idc");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcGreaterThanOrEqualTo(String value) {
+ addCriterion("idc >=", value, "idc");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcLessThan(String value) {
+ addCriterion("idc <", value, "idc");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcLessThanOrEqualTo(String value) {
+ addCriterion("idc <=", value, "idc");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcLike(String value) {
+ addCriterion("idc like", value, "idc");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcNotLike(String value) {
+ addCriterion("idc not like", value, "idc");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcIn(List values) {
+ addCriterion("idc in", values, "idc");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcNotIn(List values) {
+ addCriterion("idc not in", values, "idc");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcBetween(String value1, String value2) {
+ addCriterion("idc between", value1, value2, "idc");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdcNotBetween(String value1, String value2) {
+ addCriterion("idc not between", value1, value2, "idc");
+ return (Criteria) this;
+ }
+
+ public Criteria andRemarkIsNull() {
+ addCriterion("remark is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andRemarkIsNotNull() {
+ addCriterion("remark is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andRemarkEqualTo(String value) {
+ addCriterion("remark =", value, "remark");
+ return (Criteria) this;
+ }
+
+ public Criteria andRemarkNotEqualTo(String value) {
+ addCriterion("remark <>", value, "remark");
+ return (Criteria) this;
+ }
+
+ public Criteria andRemarkGreaterThan(String value) {
+ addCriterion("remark >", value, "remark");
+ return (Criteria) this;
+ }
+
+ public Criteria andRemarkGreaterThanOrEqualTo(String value) {
+ addCriterion("remark >=", value, "remark");
+ return (Criteria) this;
+ }
+
+ public Criteria andRemarkLessThan(String value) {
+ addCriterion("remark <", value, "remark");
+ return (Criteria) this;
+ }
+
+ public Criteria andRemarkLessThanOrEqualTo(String value) {
+ addCriterion("remark <=", value, "remark");
+ return (Criteria) this;
+ }
+
+ public Criteria andRemarkLike(String value) {
+ addCriterion("remark like", value, "remark");
+ return (Criteria) this;
+ }
+
+ public Criteria andRemarkNotLike(String value) {
+ addCriterion("remark not like", value, "remark");
+ return (Criteria) this;
+ }
+
+ public Criteria andRemarkIn(List values) {
+ addCriterion("remark in", values, "remark");
+ return (Criteria) this;
+ }
+
+ public Criteria andRemarkNotIn(List values) {
+ addCriterion("remark not in", values, "remark");
+ return (Criteria) this;
+ }
+
+ public Criteria andRemarkBetween(String value1, String value2) {
+ addCriterion("remark between", value1, value2, "remark");
+ return (Criteria) this;
+ }
+
+ public Criteria andRemarkNotBetween(String value1, String value2) {
+ addCriterion("remark not between", value1, value2, "remark");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteIsNull() {
+ addCriterion("is_delete is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteIsNotNull() {
+ addCriterion("is_delete is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteEqualTo(Byte value) {
+ addCriterion("is_delete =", value, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteNotEqualTo(Byte value) {
+ addCriterion("is_delete <>", value, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteGreaterThan(Byte value) {
+ addCriterion("is_delete >", value, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteGreaterThanOrEqualTo(Byte value) {
+ addCriterion("is_delete >=", value, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteLessThan(Byte value) {
+ addCriterion("is_delete <", value, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteLessThanOrEqualTo(Byte value) {
+ addCriterion("is_delete <=", value, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteIn(List values) {
+ addCriterion("is_delete in", values, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteNotIn(List values) {
+ addCriterion("is_delete not in", values, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteBetween(Byte value1, Byte value2) {
+ addCriterion("is_delete between", value1, value2, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteNotBetween(Byte value1, Byte value2) {
+ addCriterion("is_delete not between", value1, value2, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeIsNull() {
+ addCriterion("create_time is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeIsNotNull() {
+ addCriterion("create_time is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeEqualTo(Date value) {
+ addCriterion("create_time =", value, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeNotEqualTo(Date value) {
+ addCriterion("create_time <>", value, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeGreaterThan(Date value) {
+ addCriterion("create_time >", value, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
+ addCriterion("create_time >=", value, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeLessThan(Date value) {
+ addCriterion("create_time <", value, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
+ addCriterion("create_time <=", value, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeIn(List values) {
+ addCriterion("create_time in", values, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeNotIn(List values) {
+ addCriterion("create_time not in", values, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeBetween(Date value1, Date value2) {
+ addCriterion("create_time between", value1, value2, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
+ addCriterion("create_time not between", value1, value2, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeIsNull() {
+ addCriterion("modify_time is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeIsNotNull() {
+ addCriterion("modify_time is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeEqualTo(Date value) {
+ addCriterion("modify_time =", value, "modifyTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeNotEqualTo(Date value) {
+ addCriterion("modify_time <>", value, "modifyTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeGreaterThan(Date value) {
+ addCriterion("modify_time >", value, "modifyTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeGreaterThanOrEqualTo(Date value) {
+ addCriterion("modify_time >=", value, "modifyTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeLessThan(Date value) {
+ addCriterion("modify_time <", value, "modifyTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeLessThanOrEqualTo(Date value) {
+ addCriterion("modify_time <=", value, "modifyTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeIn(List values) {
+ addCriterion("modify_time in", values, "modifyTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeNotIn(List values) {
+ addCriterion("modify_time not in", values, "modifyTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeBetween(Date value1, Date value2) {
+ addCriterion("modify_time between", value1, value2, "modifyTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeNotBetween(Date value1, Date value2) {
+ addCriterion("modify_time not between", value1, value2, "modifyTime");
+ return (Criteria) this;
+ }
+ }
+
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/model/ClusterMqserverRelation.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/model/ClusterMqserverRelation.java
new file mode 100644
index 0000000..a091d18
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/model/ClusterMqserverRelation.java
@@ -0,0 +1,220 @@
+package com.didi.carrera.console.dao.model;
+
+import java.io.Serializable;
+import java.util.Date;
+
+
+public class ClusterMqserverRelation implements Serializable {
+ /**
+ * 自增id
+ * default = null
+ * length = 20
+ */
+ private Long id;
+
+ /**
+ * 集群id
+ * default = 0
+ * length = 19
+ */
+ private Long clusterId;
+
+ /**
+ * 集群名称
+ * default =
+ * length = 256
+ */
+ private String clusterName;
+
+ /**
+ * mqserver id
+ * default = 0
+ * length = 19
+ */
+ private Long mqServerId;
+
+ /**
+ * mqserver名称
+ * default =
+ * length = 256
+ */
+ private String mqServerName;
+
+ /**
+ * 集群配置
+ * default =
+ * length = 2048
+ */
+ private String proxyConf;
+
+ /**
+ * 集群和mqserver关联类型,0:pproxy 1:cproxy
+ * default = 0
+ * length = 3
+ */
+ private Byte type;
+
+ /**
+ * 是否删除 0:未删除 1:删除
+ * default = 0
+ * length = 3
+ */
+ private Byte isDelete;
+
+ /**
+ * 创建时间
+ * default = 1970-01-01 00:00:00
+ * length = 19
+ */
+ private Date createTime;
+
+ /**
+ * 修改时间
+ * default = CURRENT_TIMESTAMP
+ * length = 19
+ */
+ private Date modifyTime;
+
+ private static final long serialVersionUID = 1L;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public Long getClusterId() {
+ return clusterId;
+ }
+
+ public void setClusterId(Long clusterId) {
+ this.clusterId = clusterId;
+ }
+
+ public String getClusterName() {
+ return clusterName;
+ }
+
+ public void setClusterName(String clusterName) {
+ this.clusterName = clusterName == null ? null : clusterName.trim();
+ }
+
+ public Long getMqServerId() {
+ return mqServerId;
+ }
+
+ public void setMqServerId(Long mqServerId) {
+ this.mqServerId = mqServerId;
+ }
+
+ public String getMqServerName() {
+ return mqServerName;
+ }
+
+ public void setMqServerName(String mqServerName) {
+ this.mqServerName = mqServerName == null ? null : mqServerName.trim();
+ }
+
+ public String getProxyConf() {
+ return proxyConf;
+ }
+
+ public void setProxyConf(String proxyConf) {
+ this.proxyConf = proxyConf == null ? null : proxyConf.trim();
+ }
+
+ public Byte getType() {
+ return type;
+ }
+
+ public void setType(Byte type) {
+ this.type = type;
+ }
+
+ public Byte getIsDelete() {
+ return isDelete;
+ }
+
+ public void setIsDelete(Byte isDelete) {
+ this.isDelete = isDelete;
+ }
+
+ public Date getCreateTime() {
+ return createTime;
+ }
+
+ public void setCreateTime(Date createTime) {
+ this.createTime = createTime;
+ }
+
+ public Date getModifyTime() {
+ return modifyTime;
+ }
+
+ public void setModifyTime(Date modifyTime) {
+ this.modifyTime = modifyTime;
+ }
+
+ @Override
+ public boolean equals(Object that) {
+ if (this == that) {
+ return true;
+ }
+ if (that == null) {
+ return false;
+ }
+ if (getClass() != that.getClass()) {
+ return false;
+ }
+ ClusterMqserverRelation other = (ClusterMqserverRelation) that;
+ return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
+ && (this.getClusterId() == null ? other.getClusterId() == null : this.getClusterId().equals(other.getClusterId()))
+ && (this.getClusterName() == null ? other.getClusterName() == null : this.getClusterName().equals(other.getClusterName()))
+ && (this.getMqServerId() == null ? other.getMqServerId() == null : this.getMqServerId().equals(other.getMqServerId()))
+ && (this.getMqServerName() == null ? other.getMqServerName() == null : this.getMqServerName().equals(other.getMqServerName()))
+ && (this.getProxyConf() == null ? other.getProxyConf() == null : this.getProxyConf().equals(other.getProxyConf()))
+ && (this.getType() == null ? other.getType() == null : this.getType().equals(other.getType()))
+ && (this.getIsDelete() == null ? other.getIsDelete() == null : this.getIsDelete().equals(other.getIsDelete()))
+ && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
+ && (this.getModifyTime() == null ? other.getModifyTime() == null : this.getModifyTime().equals(other.getModifyTime()));
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
+ result = prime * result + ((getClusterId() == null) ? 0 : getClusterId().hashCode());
+ result = prime * result + ((getClusterName() == null) ? 0 : getClusterName().hashCode());
+ result = prime * result + ((getMqServerId() == null) ? 0 : getMqServerId().hashCode());
+ result = prime * result + ((getMqServerName() == null) ? 0 : getMqServerName().hashCode());
+ result = prime * result + ((getProxyConf() == null) ? 0 : getProxyConf().hashCode());
+ result = prime * result + ((getType() == null) ? 0 : getType().hashCode());
+ result = prime * result + ((getIsDelete() == null) ? 0 : getIsDelete().hashCode());
+ result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
+ result = prime * result + ((getModifyTime() == null) ? 0 : getModifyTime().hashCode());
+ return result;
+ }
+
+ @Override
+ public String toString() {
+ String sb = getClass().getSimpleName() +
+ " [" +
+ "Hash = " + hashCode() +
+ ", id=" + id +
+ ", clusterId=" + clusterId +
+ ", clusterName=" + clusterName +
+ ", mqServerId=" + mqServerId +
+ ", mqServerName=" + mqServerName +
+ ", proxyConf=" + proxyConf +
+ ", type=" + type +
+ ", isDelete=" + isDelete +
+ ", createTime=" + createTime +
+ ", modifyTime=" + modifyTime +
+ ", serialVersionUID=" + serialVersionUID +
+ "]";
+ return sb;
+ }
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/model/ClusterMqserverRelationCriteria.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/model/ClusterMqserverRelationCriteria.java
new file mode 100644
index 0000000..23ee911
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/model/ClusterMqserverRelationCriteria.java
@@ -0,0 +1,851 @@
+package com.didi.carrera.console.dao.model;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+
+public class ClusterMqserverRelationCriteria {
+ protected String orderByClause;
+
+ protected boolean distinct;
+
+ protected List oredCriteria;
+
+ protected Integer start;
+
+ protected Integer end;
+
+ public ClusterMqserverRelationCriteria() {
+ oredCriteria = new ArrayList<>();
+ }
+
+ public void setOrderByClause(String orderByClause) {
+ this.orderByClause = orderByClause;
+ }
+
+ public String getOrderByClause() {
+ return orderByClause;
+ }
+
+ public void setDistinct(boolean distinct) {
+ this.distinct = distinct;
+ }
+
+ public boolean isDistinct() {
+ return distinct;
+ }
+
+ public List getOredCriteria() {
+ return oredCriteria;
+ }
+
+ public void or(Criteria criteria) {
+ oredCriteria.add(criteria);
+ }
+
+ public Criteria or() {
+ Criteria criteria = createCriteriaInternal();
+ oredCriteria.add(criteria);
+ return criteria;
+ }
+
+ public Criteria createCriteria() {
+ Criteria criteria = createCriteriaInternal();
+ if (oredCriteria.size() == 0) {
+ oredCriteria.add(criteria);
+ }
+ return criteria;
+ }
+
+ protected Criteria createCriteriaInternal() {
+ return new Criteria();
+ }
+
+ public void clear() {
+ oredCriteria.clear();
+ orderByClause = null;
+ distinct = false;
+ }
+
+ public void setStart(Integer start) {
+ this.start=start;
+ }
+
+ public Integer getStart() {
+ return start;
+ }
+
+ public void setEnd(Integer end) {
+ this.end=end;
+ }
+
+ public Integer getEnd() {
+ return end;
+ }
+
+ protected abstract static class GeneratedCriteria {
+ protected List criteria;
+
+ protected GeneratedCriteria() {
+ super();
+ criteria = new ArrayList<>();
+ }
+
+ public boolean isValid() {
+ return criteria.size() > 0;
+ }
+
+ public List getAllCriteria() {
+ return criteria;
+ }
+
+ public List getCriteria() {
+ return criteria;
+ }
+
+ protected void addCriterion(String condition) {
+ if (condition == null) {
+ throw new RuntimeException("Value for condition cannot be null");
+ }
+ criteria.add(new Criterion(condition));
+ }
+
+ protected void addCriterion(String condition, Object value, String property) {
+ if (value == null) {
+ throw new RuntimeException("Value for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value));
+ }
+
+ protected void addCriterion(String condition, Object value1, Object value2, String property) {
+ if (value1 == null || value2 == null) {
+ throw new RuntimeException("Between values for " + property + " cannot be null");
+ }
+ criteria.add(new Criterion(condition, value1, value2));
+ }
+
+ public Criteria andIdIsNull() {
+ addCriterion("id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIsNotNull() {
+ addCriterion("id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdEqualTo(Long value) {
+ addCriterion("id =", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotEqualTo(Long value) {
+ addCriterion("id <>", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThan(Long value) {
+ addCriterion("id >", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("id >=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThan(Long value) {
+ addCriterion("id <", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdLessThanOrEqualTo(Long value) {
+ addCriterion("id <=", value, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdIn(List values) {
+ addCriterion("id in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotIn(List values) {
+ addCriterion("id not in", values, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdBetween(Long value1, Long value2) {
+ addCriterion("id between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andIdNotBetween(Long value1, Long value2) {
+ addCriterion("id not between", value1, value2, "id");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterIdIsNull() {
+ addCriterion("cluster_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterIdIsNotNull() {
+ addCriterion("cluster_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterIdEqualTo(Long value) {
+ addCriterion("cluster_id =", value, "clusterId");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterIdNotEqualTo(Long value) {
+ addCriterion("cluster_id <>", value, "clusterId");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterIdGreaterThan(Long value) {
+ addCriterion("cluster_id >", value, "clusterId");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("cluster_id >=", value, "clusterId");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterIdLessThan(Long value) {
+ addCriterion("cluster_id <", value, "clusterId");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterIdLessThanOrEqualTo(Long value) {
+ addCriterion("cluster_id <=", value, "clusterId");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterIdIn(List values) {
+ addCriterion("cluster_id in", values, "clusterId");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterIdNotIn(List values) {
+ addCriterion("cluster_id not in", values, "clusterId");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterIdBetween(Long value1, Long value2) {
+ addCriterion("cluster_id between", value1, value2, "clusterId");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterIdNotBetween(Long value1, Long value2) {
+ addCriterion("cluster_id not between", value1, value2, "clusterId");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterNameIsNull() {
+ addCriterion("cluster_name is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterNameIsNotNull() {
+ addCriterion("cluster_name is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterNameEqualTo(String value) {
+ addCriterion("cluster_name =", value, "clusterName");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterNameNotEqualTo(String value) {
+ addCriterion("cluster_name <>", value, "clusterName");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterNameGreaterThan(String value) {
+ addCriterion("cluster_name >", value, "clusterName");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterNameGreaterThanOrEqualTo(String value) {
+ addCriterion("cluster_name >=", value, "clusterName");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterNameLessThan(String value) {
+ addCriterion("cluster_name <", value, "clusterName");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterNameLessThanOrEqualTo(String value) {
+ addCriterion("cluster_name <=", value, "clusterName");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterNameLike(String value) {
+ addCriterion("cluster_name like", value, "clusterName");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterNameNotLike(String value) {
+ addCriterion("cluster_name not like", value, "clusterName");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterNameIn(List values) {
+ addCriterion("cluster_name in", values, "clusterName");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterNameNotIn(List values) {
+ addCriterion("cluster_name not in", values, "clusterName");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterNameBetween(String value1, String value2) {
+ addCriterion("cluster_name between", value1, value2, "clusterName");
+ return (Criteria) this;
+ }
+
+ public Criteria andClusterNameNotBetween(String value1, String value2) {
+ addCriterion("cluster_name not between", value1, value2, "clusterName");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerIdIsNull() {
+ addCriterion("mq_server_id is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerIdIsNotNull() {
+ addCriterion("mq_server_id is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerIdEqualTo(Long value) {
+ addCriterion("mq_server_id =", value, "mqServerId");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerIdNotEqualTo(Long value) {
+ addCriterion("mq_server_id <>", value, "mqServerId");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerIdGreaterThan(Long value) {
+ addCriterion("mq_server_id >", value, "mqServerId");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerIdGreaterThanOrEqualTo(Long value) {
+ addCriterion("mq_server_id >=", value, "mqServerId");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerIdLessThan(Long value) {
+ addCriterion("mq_server_id <", value, "mqServerId");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerIdLessThanOrEqualTo(Long value) {
+ addCriterion("mq_server_id <=", value, "mqServerId");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerIdIn(List values) {
+ addCriterion("mq_server_id in", values, "mqServerId");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerIdNotIn(List values) {
+ addCriterion("mq_server_id not in", values, "mqServerId");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerIdBetween(Long value1, Long value2) {
+ addCriterion("mq_server_id between", value1, value2, "mqServerId");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerIdNotBetween(Long value1, Long value2) {
+ addCriterion("mq_server_id not between", value1, value2, "mqServerId");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerNameIsNull() {
+ addCriterion("mq_server_name is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerNameIsNotNull() {
+ addCriterion("mq_server_name is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerNameEqualTo(String value) {
+ addCriterion("mq_server_name =", value, "mqServerName");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerNameNotEqualTo(String value) {
+ addCriterion("mq_server_name <>", value, "mqServerName");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerNameGreaterThan(String value) {
+ addCriterion("mq_server_name >", value, "mqServerName");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerNameGreaterThanOrEqualTo(String value) {
+ addCriterion("mq_server_name >=", value, "mqServerName");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerNameLessThan(String value) {
+ addCriterion("mq_server_name <", value, "mqServerName");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerNameLessThanOrEqualTo(String value) {
+ addCriterion("mq_server_name <=", value, "mqServerName");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerNameLike(String value) {
+ addCriterion("mq_server_name like", value, "mqServerName");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerNameNotLike(String value) {
+ addCriterion("mq_server_name not like", value, "mqServerName");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerNameIn(List values) {
+ addCriterion("mq_server_name in", values, "mqServerName");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerNameNotIn(List values) {
+ addCriterion("mq_server_name not in", values, "mqServerName");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerNameBetween(String value1, String value2) {
+ addCriterion("mq_server_name between", value1, value2, "mqServerName");
+ return (Criteria) this;
+ }
+
+ public Criteria andMqServerNameNotBetween(String value1, String value2) {
+ addCriterion("mq_server_name not between", value1, value2, "mqServerName");
+ return (Criteria) this;
+ }
+
+ public Criteria andProxyConfIsNull() {
+ addCriterion("proxy_conf is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andProxyConfIsNotNull() {
+ addCriterion("proxy_conf is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andProxyConfEqualTo(String value) {
+ addCriterion("proxy_conf =", value, "proxyConf");
+ return (Criteria) this;
+ }
+
+ public Criteria andProxyConfNotEqualTo(String value) {
+ addCriterion("proxy_conf <>", value, "proxyConf");
+ return (Criteria) this;
+ }
+
+ public Criteria andProxyConfGreaterThan(String value) {
+ addCriterion("proxy_conf >", value, "proxyConf");
+ return (Criteria) this;
+ }
+
+ public Criteria andProxyConfGreaterThanOrEqualTo(String value) {
+ addCriterion("proxy_conf >=", value, "proxyConf");
+ return (Criteria) this;
+ }
+
+ public Criteria andProxyConfLessThan(String value) {
+ addCriterion("proxy_conf <", value, "proxyConf");
+ return (Criteria) this;
+ }
+
+ public Criteria andProxyConfLessThanOrEqualTo(String value) {
+ addCriterion("proxy_conf <=", value, "proxyConf");
+ return (Criteria) this;
+ }
+
+ public Criteria andProxyConfLike(String value) {
+ addCriterion("proxy_conf like", value, "proxyConf");
+ return (Criteria) this;
+ }
+
+ public Criteria andProxyConfNotLike(String value) {
+ addCriterion("proxy_conf not like", value, "proxyConf");
+ return (Criteria) this;
+ }
+
+ public Criteria andProxyConfIn(List values) {
+ addCriterion("proxy_conf in", values, "proxyConf");
+ return (Criteria) this;
+ }
+
+ public Criteria andProxyConfNotIn(List values) {
+ addCriterion("proxy_conf not in", values, "proxyConf");
+ return (Criteria) this;
+ }
+
+ public Criteria andProxyConfBetween(String value1, String value2) {
+ addCriterion("proxy_conf between", value1, value2, "proxyConf");
+ return (Criteria) this;
+ }
+
+ public Criteria andProxyConfNotBetween(String value1, String value2) {
+ addCriterion("proxy_conf not between", value1, value2, "proxyConf");
+ return (Criteria) this;
+ }
+
+ public Criteria andTypeIsNull() {
+ addCriterion("type is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andTypeIsNotNull() {
+ addCriterion("type is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andTypeEqualTo(Byte value) {
+ addCriterion("type =", value, "type");
+ return (Criteria) this;
+ }
+
+ public Criteria andTypeNotEqualTo(Byte value) {
+ addCriterion("type <>", value, "type");
+ return (Criteria) this;
+ }
+
+ public Criteria andTypeGreaterThan(Byte value) {
+ addCriterion("type >", value, "type");
+ return (Criteria) this;
+ }
+
+ public Criteria andTypeGreaterThanOrEqualTo(Byte value) {
+ addCriterion("type >=", value, "type");
+ return (Criteria) this;
+ }
+
+ public Criteria andTypeLessThan(Byte value) {
+ addCriterion("type <", value, "type");
+ return (Criteria) this;
+ }
+
+ public Criteria andTypeLessThanOrEqualTo(Byte value) {
+ addCriterion("type <=", value, "type");
+ return (Criteria) this;
+ }
+
+ public Criteria andTypeIn(List values) {
+ addCriterion("type in", values, "type");
+ return (Criteria) this;
+ }
+
+ public Criteria andTypeNotIn(List values) {
+ addCriterion("type not in", values, "type");
+ return (Criteria) this;
+ }
+
+ public Criteria andTypeBetween(Byte value1, Byte value2) {
+ addCriterion("type between", value1, value2, "type");
+ return (Criteria) this;
+ }
+
+ public Criteria andTypeNotBetween(Byte value1, Byte value2) {
+ addCriterion("type not between", value1, value2, "type");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteIsNull() {
+ addCriterion("is_delete is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteIsNotNull() {
+ addCriterion("is_delete is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteEqualTo(Byte value) {
+ addCriterion("is_delete =", value, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteNotEqualTo(Byte value) {
+ addCriterion("is_delete <>", value, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteGreaterThan(Byte value) {
+ addCriterion("is_delete >", value, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteGreaterThanOrEqualTo(Byte value) {
+ addCriterion("is_delete >=", value, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteLessThan(Byte value) {
+ addCriterion("is_delete <", value, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteLessThanOrEqualTo(Byte value) {
+ addCriterion("is_delete <=", value, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteIn(List values) {
+ addCriterion("is_delete in", values, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteNotIn(List values) {
+ addCriterion("is_delete not in", values, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteBetween(Byte value1, Byte value2) {
+ addCriterion("is_delete between", value1, value2, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andIsDeleteNotBetween(Byte value1, Byte value2) {
+ addCriterion("is_delete not between", value1, value2, "isDelete");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeIsNull() {
+ addCriterion("create_time is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeIsNotNull() {
+ addCriterion("create_time is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeEqualTo(Date value) {
+ addCriterion("create_time =", value, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeNotEqualTo(Date value) {
+ addCriterion("create_time <>", value, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeGreaterThan(Date value) {
+ addCriterion("create_time >", value, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
+ addCriterion("create_time >=", value, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeLessThan(Date value) {
+ addCriterion("create_time <", value, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
+ addCriterion("create_time <=", value, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeIn(List values) {
+ addCriterion("create_time in", values, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeNotIn(List values) {
+ addCriterion("create_time not in", values, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeBetween(Date value1, Date value2) {
+ addCriterion("create_time between", value1, value2, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
+ addCriterion("create_time not between", value1, value2, "createTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeIsNull() {
+ addCriterion("modify_time is null");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeIsNotNull() {
+ addCriterion("modify_time is not null");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeEqualTo(Date value) {
+ addCriterion("modify_time =", value, "modifyTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeNotEqualTo(Date value) {
+ addCriterion("modify_time <>", value, "modifyTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeGreaterThan(Date value) {
+ addCriterion("modify_time >", value, "modifyTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeGreaterThanOrEqualTo(Date value) {
+ addCriterion("modify_time >=", value, "modifyTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeLessThan(Date value) {
+ addCriterion("modify_time <", value, "modifyTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeLessThanOrEqualTo(Date value) {
+ addCriterion("modify_time <=", value, "modifyTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeIn(List values) {
+ addCriterion("modify_time in", values, "modifyTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeNotIn(List values) {
+ addCriterion("modify_time not in", values, "modifyTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeBetween(Date value1, Date value2) {
+ addCriterion("modify_time between", value1, value2, "modifyTime");
+ return (Criteria) this;
+ }
+
+ public Criteria andModifyTimeNotBetween(Date value1, Date value2) {
+ addCriterion("modify_time not between", value1, value2, "modifyTime");
+ return (Criteria) this;
+ }
+ }
+
+ public static class Criteria extends GeneratedCriteria {
+
+ protected Criteria() {
+ super();
+ }
+ }
+
+ public static class Criterion {
+ private String condition;
+
+ private Object value;
+
+ private Object secondValue;
+
+ private boolean noValue;
+
+ private boolean singleValue;
+
+ private boolean betweenValue;
+
+ private boolean listValue;
+
+ private String typeHandler;
+
+ public String getCondition() {
+ return condition;
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public Object getSecondValue() {
+ return secondValue;
+ }
+
+ public boolean isNoValue() {
+ return noValue;
+ }
+
+ public boolean isSingleValue() {
+ return singleValue;
+ }
+
+ public boolean isBetweenValue() {
+ return betweenValue;
+ }
+
+ public boolean isListValue() {
+ return listValue;
+ }
+
+ public String getTypeHandler() {
+ return typeHandler;
+ }
+
+ protected Criterion(String condition) {
+ super();
+ this.condition = condition;
+ this.typeHandler = null;
+ this.noValue = true;
+ }
+
+ protected Criterion(String condition, Object value, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.typeHandler = typeHandler;
+ if (value instanceof List>) {
+ this.listValue = true;
+ } else {
+ this.singleValue = true;
+ }
+ }
+
+ protected Criterion(String condition, Object value) {
+ this(condition, value, null);
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
+ super();
+ this.condition = condition;
+ this.value = value;
+ this.secondValue = secondValue;
+ this.typeHandler = typeHandler;
+ this.betweenValue = true;
+ }
+
+ protected Criterion(String condition, Object value, Object secondValue) {
+ this(condition, value, secondValue, null);
+ }
+ }
+}
\ No newline at end of file
diff --git a/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/model/ConsumeGroup.java b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/model/ConsumeGroup.java
new file mode 100644
index 0000000..328baad
--- /dev/null
+++ b/carrera-console/carrera-boot/src/main/java/com/didi/carrera/console/dao/model/ConsumeGroup.java
@@ -0,0 +1,423 @@
+package com.didi.carrera.console.dao.model;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+import com.alibaba.fastjson.TypeReference;
+import com.didi.carrera.console.common.util.FastJsonUtils;
+import com.didi.carrera.console.dao.model.custom.ConsumeGroupConfig;
+import org.apache.commons.lang3.StringUtils;
+
+
+public class ConsumeGroup implements Serializable {
+ /**
+ * 主键id
+ * default = null
+ * length = 20
+ */
+ private Long id;
+
+ /**
+ * groupname
+ * default =
+ * length = 256
+ */
+ private String groupName;
+
+ /**
+ * 成本分摊方
+ * default =
+ * length = 256
+ */
+ private String service;
+
+ /**
+ * 部门,;分割
+ * default =
+ * length = 256
+ */
+ private String department;
+
+ /**
+ * 负责rd,;分割
+ * default =
+ * length = 512
+ */
+ private String contacters;
+
+ /**
+ * 0启用报警 1禁用报警
+ * default = 0
+ * length = 3
+ */
+ private Byte alarmIsEnable;
+
+ /**
+ * 报警组信息, ;分割
+ * default =
+ * length = 256
+ */
+ private List alarmGroup;
+
+ /**
+ * 报警级别,默认 二级报警,1,2,3级报警
+ * default = 2
+ * length = 3
+ */
+ private Byte alarmLevel;
+
+ /**
+ * 消息积压报警阈值,默认积压10000条
+ * default = 10000
+ * length = 10
+ */
+ private Integer alarmMsgLag;
+
+ /**
+ * 消息延迟报警时间,单位ms,默认5分钟
+ * default = 300000
+ * length = 10
+ */
+ private Integer alarmDelayTime;
+
+ /**
+ * 是否广播消费 0启用 1禁用,默认1
+ * default = 1
+ * length = 3
+ */
+ private Byte broadcastConsume;
+
+ /**
+ * 0同机房消费 1跨机房消费 2自定义,默认1
+ * default = 1
+ * length = 3
+ */
+ private Byte consumeMode;
+
+ /**
+ * 自定义消费模式,map结构,key为client idc,value为cproxy idc列表
+ * default =
+ * length = 2048
+ */
+ private Map> consumeModeMapper;
+
+ /**
+ * 额外参数
+ * default =
+ * length = 2048
+ */
+ private Map extraParams;
+
+ /**
+ * 运维端配置参数
+ * default =
+ * length = 2048
+ */
+ private ConsumeGroupConfig config;
+
+ /**
+ * group 备注
+ * default =
+ * length = 256
+ */
+ private String remark;
+
+ /**
+ * 是否删除 0:未删除 1:删除
+ * default = 0
+ * length = 3
+ */
+ private Byte isDelete;
+
+ /**
+ * 创建时间
+ * default = 1970-01-01 00:00:00
+ * length = 19
+ */
+ private Date createTime;
+
+ /**
+ * 修改时间
+ * default = CURRENT_TIMESTAMP
+ * length = 19
+ */
+ private Date modifyTime;
+
+ private static final long serialVersionUID = 1L;
+
+ public Long getId() {
+ return id;
+ }
+
+ public void setId(Long id) {
+ this.id = id;
+ }
+
+ public String getGroupName() {
+ return groupName;
+ }
+
+ public void setGroupName(String groupName) {
+ this.groupName = groupName == null ? null : groupName.trim();
+ }
+
+ public String getService() {
+ return service;
+ }
+
+ public void setService(String service) {
+ this.service = service == null ? null : service.trim();
+ }
+
+ public String getDepartment() {
+ return department;
+ }
+
+ public void setDepartment(String department) {
+ this.department = department == null ? null : department.trim();
+ }
+
+ public String getContacters() {
+ return contacters;
+ }
+
+ public void setContacters(String contacters) {
+ this.contacters = contacters == null ? null : contacters.trim();
+ }
+
+ public Byte getAlarmIsEnable() {
+ return alarmIsEnable;
+ }
+
+ public void setAlarmIsEnable(Byte alarmIsEnable) {
+ this.alarmIsEnable = alarmIsEnable;
+ }
+
+ public String getAlarmGroup() {
+ return this.alarmGroup == null ? null : FastJsonUtils.toJsonString(alarmGroup);
+ }
+
+ public void setAlarmGroup(String alarmGroup) {
+ this.alarmGroup = StringUtils.isBlank(alarmGroup) ? null : FastJsonUtils.toObject(alarmGroup, List.class);
+ }
+
+ public List getGroupAlarmGroup() {
+ return alarmGroup;
+ }
+
+ public void setGroupAlarmGroup(List alarmGroup) {
+ this.alarmGroup = alarmGroup;
+ }
+
+
+ public Byte getAlarmLevel() {
+ return alarmLevel;
+ }
+
+ public void setAlarmLevel(Byte alarmLevel) {
+ this.alarmLevel = alarmLevel;
+ }
+
+ public Integer getAlarmMsgLag() {
+ return alarmMsgLag;
+ }
+
+ public void setAlarmMsgLag(Integer alarmMsgLag) {
+ this.alarmMsgLag = alarmMsgLag;
+ }
+
+ public Integer getAlarmDelayTime() {
+ return alarmDelayTime;
+ }
+
+ public void setAlarmDelayTime(Integer alarmDelayTime) {
+ this.alarmDelayTime = alarmDelayTime;
+ }
+
+ public Byte getBroadcastConsume() {
+ return broadcastConsume;
+ }
+
+ public void setBroadcastConsume(Byte broadcastConsume) {
+ this.broadcastConsume = broadcastConsume;
+ }
+
+ public Byte getConsumeMode() {
+ return consumeMode;
+ }
+
+ public void setConsumeMode(Byte consumeMode) {
+ this.consumeMode = consumeMode;
+ }
+
+ public String getConsumeModeMapper() {
+ return this.consumeModeMapper == null ? null : FastJsonUtils.toJsonString(consumeModeMapper);
+ }
+
+ public void setConsumeModeMapper(String consumeModeMapper) {
+ this.consumeModeMapper = StringUtils.isBlank(consumeModeMapper) ? null : FastJsonUtils.toObject(consumeModeMapper, new TypeReference