[Feature]MM2管理-补充集群Group列表信息(#894)

This commit is contained in:
zengqiao
2023-02-09 16:56:36 +08:00
committed by EricZeng
parent ab6a4d7099
commit e5c6d00438
5 changed files with 20 additions and 58 deletions

View File

@@ -39,5 +39,5 @@ public interface GroupManager {
Result<Void> resetGroupOffsets(GroupOffsetResetDTO dto, String operator) throws Exception; Result<Void> resetGroupOffsets(GroupOffsetResetDTO dto, String operator) throws Exception;
List<GroupTopicOverviewVO> getGroupTopicOverviewVOList (Long clusterPhyId, List<GroupMemberPO> groupMemberPOList); List<GroupTopicOverviewVO> getGroupTopicOverviewVOList(Long clusterPhyId, List<GroupMemberPO> groupMemberPOList);
} }

View File

@@ -1,19 +0,0 @@
package com.xiaojukeji.know.streaming.km.common.bean.dto.cluster;
import com.xiaojukeji.know.streaming.km.common.bean.dto.pagination.PaginationMulFuzzySearchDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author zengqiao
* @date 22/02/24
*/
@Data
public class ClusterGroupsOverviewDTO extends PaginationMulFuzzySearchDTO {
@ApiModelProperty("查找该Topic")
private String topicName;
@ApiModelProperty("查找该Group")
private String groupName;
}

View File

@@ -58,6 +58,7 @@ public interface GroupService {
/** /**
* DB-GroupTopic相关接口 * DB-GroupTopic相关接口
*/ */
List<GroupMemberPO> listGroupByCluster(Long clusterPhyId);
List<GroupMemberPO> listGroupByTopic(Long clusterPhyId, String topicName); List<GroupMemberPO> listGroupByTopic(Long clusterPhyId, String topicName);
PaginationResult<GroupMemberPO> pagingGroupMembers(Long clusterPhyId, PaginationResult<GroupMemberPO> pagingGroupMembers(Long clusterPhyId,

View File

@@ -224,6 +224,14 @@ public class GroupServiceImpl extends BaseKafkaVersionControlService implements
return GroupStateEnum.getByState(poList.get(0).getState()); return GroupStateEnum.getByState(poList.get(0).getState());
} }
@Override
public List<GroupMemberPO> listGroupByCluster(Long clusterPhyId) {
LambdaQueryWrapper<GroupMemberPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
lambdaQueryWrapper.eq(GroupMemberPO::getClusterPhyId, clusterPhyId);
return groupMemberDAO.selectList(lambdaQueryWrapper);
}
@Override @Override
public List<GroupMemberPO> listGroupByTopic(Long clusterPhyId, String topicName) { public List<GroupMemberPO> listGroupByTopic(Long clusterPhyId, String topicName) {
LambdaQueryWrapper<GroupMemberPO> lambdaQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<GroupMemberPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();

View File

@@ -2,21 +2,20 @@ package com.xiaojukeji.know.streaming.km.rest.api.v3.cluster;
import com.xiaojukeji.know.streaming.km.biz.group.GroupManager; import com.xiaojukeji.know.streaming.km.biz.group.GroupManager;
import com.xiaojukeji.know.streaming.km.common.bean.dto.cluster.ClusterGroupSummaryDTO; import com.xiaojukeji.know.streaming.km.common.bean.dto.cluster.ClusterGroupSummaryDTO;
import com.xiaojukeji.know.streaming.km.common.bean.dto.cluster.ClusterGroupsOverviewDTO;
import com.xiaojukeji.know.streaming.km.common.bean.dto.metrices.MetricGroupPartitionDTO; import com.xiaojukeji.know.streaming.km.common.bean.dto.metrices.MetricGroupPartitionDTO;
import com.xiaojukeji.know.streaming.km.common.bean.dto.pagination.PaginationBaseDTO; import com.xiaojukeji.know.streaming.km.common.bean.dto.pagination.PaginationBaseDTO;
import com.xiaojukeji.know.streaming.km.common.bean.dto.pagination.field.PaginationFuzzySearchFieldDTO;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.PaginationResult; import com.xiaojukeji.know.streaming.km.common.bean.entity.result.PaginationResult;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.Result; import com.xiaojukeji.know.streaming.km.common.bean.entity.result.Result;
import com.xiaojukeji.know.streaming.km.common.bean.entity.topic.TopicPartitionKS; import com.xiaojukeji.know.streaming.km.common.bean.entity.topic.TopicPartitionKS;
import com.xiaojukeji.know.streaming.km.common.bean.vo.group.GroupOverviewVO; import com.xiaojukeji.know.streaming.km.common.bean.vo.group.GroupOverviewVO;
import com.xiaojukeji.know.streaming.km.common.bean.vo.group.GroupTopicBasicVO;
import com.xiaojukeji.know.streaming.km.common.bean.vo.metrics.line.MetricMultiLinesVO; import com.xiaojukeji.know.streaming.km.common.bean.vo.metrics.line.MetricMultiLinesVO;
import com.xiaojukeji.know.streaming.km.common.bean.vo.group.GroupTopicOverviewVO; import com.xiaojukeji.know.streaming.km.common.bean.vo.group.GroupTopicOverviewVO;
import com.xiaojukeji.know.streaming.km.common.constant.ApiPrefix; import com.xiaojukeji.know.streaming.km.common.constant.ApiPrefix;
import com.xiaojukeji.know.streaming.km.common.constant.Constant; import com.xiaojukeji.know.streaming.km.common.constant.Constant;
import com.xiaojukeji.know.streaming.km.common.utils.Tuple; import com.xiaojukeji.know.streaming.km.common.utils.ConvertUtil;
import com.xiaojukeji.know.streaming.km.common.utils.ValidateUtils;
import com.xiaojukeji.know.streaming.km.core.service.group.GroupMetricService; import com.xiaojukeji.know.streaming.km.core.service.group.GroupMetricService;
import com.xiaojukeji.know.streaming.km.core.service.group.GroupService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -37,24 +36,17 @@ public class ClusterGroupsController {
@Autowired @Autowired
private GroupManager groupManager; private GroupManager groupManager;
@Autowired
private GroupService groupService;
@Autowired @Autowired
private GroupMetricService groupMetricService; private GroupMetricService groupMetricService;
@Deprecated @ApiOperation(value = "集群Groups信息列表")
@ApiOperation(value = "集群Groups信息列表", notes = "废弃, 下一个版本删除") @GetMapping(value = "clusters/{clusterPhyId}/groups-basic")
@PostMapping(value = "clusters/{clusterPhyId}/groups-overview")
@ResponseBody @ResponseBody
public PaginationResult<GroupTopicOverviewVO> getClusterPhyGroupsOverview(@PathVariable Long clusterPhyId, public Result<List<GroupTopicBasicVO>> getGroupsBasic(@PathVariable Long clusterPhyId) {
@RequestBody ClusterGroupsOverviewDTO dto) { return Result.buildSuc(ConvertUtil.list2List(groupService.listGroupByCluster(clusterPhyId), GroupTopicBasicVO.class));
Tuple<String, String> searchKeyTuple = this.getSearchKeyWords(dto);
return groupManager.pagingGroupMembers(
clusterPhyId,
dto.getTopicName(),
dto.getGroupName(),
searchKeyTuple.getV1(),
searchKeyTuple.getV2(),
dto
);
} }
@ApiOperation(value = "集群Groups信息列表") @ApiOperation(value = "集群Groups信息列表")
@@ -90,24 +82,4 @@ public class ClusterGroupsController {
} }
/**************************************************** private method ****************************************************/ /**************************************************** private method ****************************************************/
@Deprecated
private Tuple<String, String> getSearchKeyWords(ClusterGroupsOverviewDTO dto) {
if (ValidateUtils.isEmptyList(dto.getFuzzySearchDTOList())) {
return new Tuple<>("", "");
}
String searchTopicName = "";
String searchGroupName = "";
for (PaginationFuzzySearchFieldDTO searchFieldDTO: dto.getFuzzySearchDTOList()) {
if (searchFieldDTO.getFieldName().equals("topicName")) {
searchTopicName = searchFieldDTO.getFieldValue();
}
if (searchFieldDTO.getFieldName().equals("groupName")) {
searchGroupName = searchFieldDTO.getFieldValue();
}
}
return new Tuple<>(searchTopicName, searchGroupName);
}
} }