[Optimize]Group元信息更新优化(#1005)

1、Group元信息未变化时,则不进行updateById操作;
2、失效的Group信息直接删除;
This commit is contained in:
ZQKC
2023-04-26 16:54:26 +08:00
committed by EricZeng
parent 82fbea4e5f
commit db044caf8b
6 changed files with 115 additions and 68 deletions

View File

@@ -7,6 +7,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.Objects;
@Data
@NoArgsConstructor
@@ -37,4 +38,16 @@ public class GroupMemberPO extends BasePO {
this.memberCount = memberCount;
this.updateTime = updateTime;
}
public boolean equal2GroupMemberPO(GroupMemberPO that) {
if (that == null) {
return false;
}
return Objects.equals(clusterPhyId, that.clusterPhyId)
&& Objects.equals(topicName, that.topicName)
&& Objects.equals(groupName, that.groupName)
&& Objects.equals(state, that.state)
&& Objects.equals(memberCount, that.memberCount);
}
}

View File

@@ -9,6 +9,8 @@ import com.xiaojukeji.know.streaming.km.common.enums.group.GroupTypeEnum;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Objects;
@Data
@NoArgsConstructor
@@ -58,4 +60,18 @@ public class GroupPO extends BasePO {
*/
private int coordinatorId;
public boolean equal2GroupPO(GroupPO groupPO) {
if (groupPO == null) {
return false;
}
return coordinatorId == groupPO.coordinatorId
&& Objects.equals(clusterPhyId, groupPO.clusterPhyId)
&& Objects.equals(type, groupPO.type)
&& Objects.equals(name, groupPO.name)
&& Objects.equals(state, groupPO.state)
&& Objects.equals(memberCount, groupPO.memberCount)
&& Objects.equals(topicMembers, groupPO.topicMembers)
&& Objects.equals(partitionAssignor, groupPO.partitionAssignor);
}
}

View File

@@ -10,6 +10,7 @@ import com.xiaojukeji.know.streaming.km.common.utils.ConvertUtil;
import com.xiaojukeji.know.streaming.km.common.utils.ValidateUtils;
import java.util.ArrayList;
import java.util.Date;
import java.util.stream.Collectors;
/**
@@ -57,6 +58,7 @@ public class GroupConverter {
po.setTopicMembers(ConvertUtil.obj2Json(group.getTopicMembers()));
po.setType(group.getType().getCode());
po.setState(group.getState().getState());
po.setUpdateTime(new Date());
return po;
}
}