diff --git a/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/entity/ResultStatus.java b/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/entity/ResultStatus.java index 454a687fe54f89a122374f03c516d6572073e60c..0f8aebd6e3a23c87b37943016658f373a3ad490b 100644 --- a/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/entity/ResultStatus.java +++ b/kafka-manager-common/src/main/java/com/xiaojukeji/kafka/manager/common/entity/ResultStatus.java @@ -25,6 +25,9 @@ public enum ResultStatus { CHANGE_ZOOKEEPER_FORBIDDEN(1405, "change zookeeper forbidden"), + APP_OFFLINE_FORBIDDEN(1406, "先下线topic,才能下线应用~"), + + TOPIC_OPERATION_PARAM_NULL_POINTER(1450, "参数错误"), TOPIC_OPERATION_PARTITION_NUM_ILLEGAL(1451, "分区数错误"), TOPIC_OPERATION_BROKER_NUM_NOT_ENOUGH(1452, "Broker数不足错误"), diff --git a/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/gateway/impl/AuthorityServiceImpl.java b/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/gateway/impl/AuthorityServiceImpl.java index 4f804107fa2137a328cc2e233499afa4841d1599..876966f7c7233873a2bf45d6679a52010737a9b2 100644 --- a/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/gateway/impl/AuthorityServiceImpl.java +++ b/kafka-manager-core/src/main/java/com/xiaojukeji/kafka/manager/service/service/gateway/impl/AuthorityServiceImpl.java @@ -4,13 +4,14 @@ import com.alibaba.fastjson.JSONObject; import com.xiaojukeji.kafka.manager.common.bizenum.ModuleEnum; import com.xiaojukeji.kafka.manager.common.bizenum.OperateEnum; import com.xiaojukeji.kafka.manager.common.bizenum.OperationStatusEnum; +import com.xiaojukeji.kafka.manager.common.bizenum.TopicAuthorityEnum; +import com.xiaojukeji.kafka.manager.common.entity.ResultStatus; +import com.xiaojukeji.kafka.manager.common.entity.ao.gateway.TopicQuota; import com.xiaojukeji.kafka.manager.common.entity.pojo.OperateRecordDO; import com.xiaojukeji.kafka.manager.common.entity.pojo.gateway.AuthorityDO; import com.xiaojukeji.kafka.manager.common.entity.pojo.gateway.KafkaAclDO; -import com.xiaojukeji.kafka.manager.dao.gateway.AuthorityDao; -import com.xiaojukeji.kafka.manager.common.entity.ao.gateway.TopicQuota; -import com.xiaojukeji.kafka.manager.common.entity.ResultStatus; import com.xiaojukeji.kafka.manager.common.utils.ValidateUtils; +import com.xiaojukeji.kafka.manager.dao.gateway.AuthorityDao; import com.xiaojukeji.kafka.manager.dao.gateway.KafkaAclDao; import com.xiaojukeji.kafka.manager.service.service.OperateRecordService; import com.xiaojukeji.kafka.manager.service.service.gateway.AuthorityService; @@ -20,10 +21,8 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.stream.Collectors; /** * @author zhongyuankai @@ -163,8 +162,14 @@ public class AuthorityServiceImpl implements AuthorityService { } if (ValidateUtils.isEmptyList(doList)) { return new ArrayList<>(); + } else { + assert doList != null; + // 过滤权限列表中access=0的 + List newList = doList.stream() + .filter(authorityDO -> !TopicAuthorityEnum.DENY.getCode().equals(authorityDO.getAccess())) + .collect(Collectors.toList()); + return newList; } - return doList; } @Override diff --git a/kafka-manager-extends/kafka-manager-bpm/src/main/java/com/xiaojukeji/kafka/manager/bpm/order/impl/DeleteAppOrder.java b/kafka-manager-extends/kafka-manager-bpm/src/main/java/com/xiaojukeji/kafka/manager/bpm/order/impl/DeleteAppOrder.java index 44aa9a0e9bbdd3c16079e67e25fb036f5b86e7dc..6127abc2c32b0df19f11ec9538885b6039c8d1b9 100644 --- a/kafka-manager-extends/kafka-manager-bpm/src/main/java/com/xiaojukeji/kafka/manager/bpm/order/impl/DeleteAppOrder.java +++ b/kafka-manager-extends/kafka-manager-bpm/src/main/java/com/xiaojukeji/kafka/manager/bpm/order/impl/DeleteAppOrder.java @@ -95,7 +95,7 @@ public class DeleteAppOrder extends AbstractAppOrder { // 判断app是否对topic有权限 List authorityList = authorityService.getAuthority(orderAppExtension.getAppId()); if (!ValidateUtils.isEmptyList(authorityList)) { - return ResultStatus.OPERATION_FORBIDDEN; + return ResultStatus.APP_OFFLINE_FORBIDDEN; } if (appService.deleteApp(appDO, userName) > 0) { return ResultStatus.SUCCESS; diff --git a/kafka-manager-web/src/main/resources/application.yml b/kafka-manager-web/src/main/resources/application.yml index 1c6614e2e9de2037cd682c5a15a32899cd46e6fb..58ad509fe22282ebbb6a4799c5d312702bf654c7 100644 --- a/kafka-manager-web/src/main/resources/application.yml +++ b/kafka-manager-web/src/main/resources/application.yml @@ -14,7 +14,7 @@ spring: jdbc-url: jdbc:mysql://127.0.0.1:3306/logi_kafka_manager?characterEncoding=UTF-8&useSSL=false&serverTimezone=GMT%2B8 username: admin password: admin - driver-class-name: com.mysql.jdbc.Driver + driver-class-name: com.mysql.cj.jdbc.Driver main: allow-bean-definition-overriding: true diff --git a/pom.xml b/pom.xml index 33d4dafee15642f9b2e89a76387bfcbf4abfc30c..66d78b2b6a7048df20c5adc85bbf24ec23f85dae 100644 --- a/pom.xml +++ b/pom.xml @@ -180,7 +180,7 @@ mysql mysql-connector-java - 5.1.41 + 8.0.11