You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by do...@apache.org on 2022/09/22 10:49:13 UTC

[inlong] branch master updated: [INLONG-5926][Dashboard] Change the consume related config to adapt the Manager module (#5983)

This is an automated email from the ASF dual-hosted git repository.

dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new 0b5cd7b03 [INLONG-5926][Dashboard] Change the consume related config to adapt the Manager module (#5983)
0b5cd7b03 is described below

commit 0b5cd7b03757e8d1425c046888960d8bcfac5b1d
Author: ciscozhou <45...@users.noreply.github.com>
AuthorDate: Thu Sep 22 18:49:07 2022 +0800

    [INLONG-5926][Dashboard] Change the consume related config to adapt the Manager module (#5983)
    
    Co-authored-by: Daniel <le...@apache.org>
    Co-authored-by: healchow <he...@gmail.com>
---
 inlong-dashboard/src/configs/menus/index.ts        |  4 +-
 inlong-dashboard/src/configs/routes/index.tsx      |  2 +-
 inlong-dashboard/src/i18n.ts                       | 10 +--
 inlong-dashboard/src/locales/cn.json               | 58 +++++++-------
 inlong-dashboard/src/locales/en.json               | 59 +++++++--------
 .../{consumption => consume}/extends/index.tsx     |  4 +-
 .../src/metas/{consumption => consume}/index.tsx   | 88 ++++++++++------------
 .../src/metas/{consumption => consume}/status.tsx  |  0
 inlong-dashboard/src/metas/group/index.tsx         | 20 ++---
 .../src/pages/ConsumeDashboard/config.tsx          | 10 +--
 .../src/pages/ConsumeDashboard/index.tsx           |  6 +-
 .../src/pages/ConsumeDetail/Info/config.tsx        | 12 +--
 .../src/pages/ConsumeDetail/Info/index.tsx         | 47 +++++-------
 inlong-dashboard/src/pages/ConsumeDetail/index.tsx | 14 ++--
 inlong-dashboard/src/pages/GroupDetail/index.tsx   |  2 -
 .../src/pages/ProcessDetail/Consume.tsx            | 18 ++---
 .../src/pages/ProcessDetail/ConsumeConfig.tsx      |  6 +-
 inlong-dashboard/src/pages/ProcessDetail/index.tsx |  2 +-
 18 files changed, 170 insertions(+), 192 deletions(-)

diff --git a/inlong-dashboard/src/configs/menus/index.ts b/inlong-dashboard/src/configs/menus/index.ts
index 98b64ccdf..e49d683f6 100644
--- a/inlong-dashboard/src/configs/menus/index.ts
+++ b/inlong-dashboard/src/configs/menus/index.ts
@@ -33,7 +33,7 @@ const menus: MenuItemType[] = [
   },
   {
     path: '/consume',
-    name: i18n.t('configs.menus.DataConsumption'),
+    name: i18n.t('configs.menus.Consumes'),
   },
   {
     name: i18n.t('configs.menus.Clusters'),
@@ -50,7 +50,7 @@ const menus: MenuItemType[] = [
   },
   {
     path: '/node',
-    name: i18n.t('configs.menus.Node'),
+    name: i18n.t('configs.menus.Nodes'),
   },
   {
     path: '/process',
diff --git a/inlong-dashboard/src/configs/routes/index.tsx b/inlong-dashboard/src/configs/routes/index.tsx
index c63c5983a..8cbfdcefe 100644
--- a/inlong-dashboard/src/configs/routes/index.tsx
+++ b/inlong-dashboard/src/configs/routes/index.tsx
@@ -54,7 +54,7 @@ const routes: RouteProps[] = [
     exact: true,
     childRoutes: [
       {
-        path: '/create',
+        path: '/create/:id?',
         component: () => import('@/pages/ConsumeDetail'),
         exact: true,
       },
diff --git a/inlong-dashboard/src/i18n.ts b/inlong-dashboard/src/i18n.ts
index d77cd3ce1..5b12e2f2b 100644
--- a/inlong-dashboard/src/i18n.ts
+++ b/inlong-dashboard/src/i18n.ts
@@ -26,27 +26,27 @@ const resources = {
   en: {
     translation: {
       'configs.menus.Process': 'Approval',
-      'configs.menus.Groups': 'Data Groups',
-      'configs.menus.DataConsumption': 'Data Consumptions',
+      'configs.menus.Groups': 'Inlong Groups',
+      'configs.menus.Consumes': 'Inlong Consumes',
       'configs.menus.Clusters': 'Clusters',
       'configs.menus.ClusterTags': 'ClusterTags',
       'configs.menus.SystemManagement': 'System',
       'configs.menus.UserManagement': 'User Management',
       'configs.menus.ApprovalManagement': 'Approval Management',
-      'configs.menus.Node': 'Nodes',
+      'configs.menus.Nodes': 'Nodes',
     },
   },
   cn: {
     translation: {
       'configs.menus.Process': '审批管理',
       'configs.menus.Groups': '数据流组',
-      'configs.menus.DataConsumption': '数据消费',
+      'configs.menus.Consumes': '数据消费',
       'configs.menus.Clusters': '集群管理',
       'configs.menus.ClusterTags': '标签管理',
       'configs.menus.SystemManagement': '系统管理',
       'configs.menus.UserManagement': '用户管理',
       'configs.menus.ApprovalManagement': '审批责任人管理',
-      'configs.menus.Node': '节点管理',
+      'configs.menus.Nodes': '节点管理',
     },
   },
 };
diff --git a/inlong-dashboard/src/locales/cn.json b/inlong-dashboard/src/locales/cn.json
index d1d8dcd22..16e5161f7 100644
--- a/inlong-dashboard/src/locales/cn.json
+++ b/inlong-dashboard/src/locales/cn.json
@@ -192,20 +192,13 @@
   "meta.Sinks.HBase.IsMetaField": "是否为元字段",
   "meta.Sinks.HBase.FieldFormat": "字段格式",
   "meta.Sinks.HBase.FieldDescription": "字段描述",
-  "meta.Group.Stripe/Second": "条/秒",
-  "meta.Group.MessageMiddleware": "消息中间件",
-  "meta.Group.AccessSize": "按天接入大小",
-  "meta.Group.GB/Day": "GB/天",
-  "meta.Group.BusinessIntroduction": "描述",
-  "meta.Group.BusinessOwners": "责任人",
-  "meta.Group.SingleStripMaximumLength": "单条最大长度",
-  "meta.Group.thousand/day": "万条/天",
-  "meta.Group.AccessPeakPerSecond": "每秒接入峰值",
-  "meta.Group.InlongGroupId": "Group ID",
+  "meta.Group.InlongGroupId": "数据流组ID",
   "meta.Group.InlongGroupIdRules": "只能包含小写字母、数字、中划线、下划线",
   "meta.Group.InlongGroupName": "数据流组名称",
-  "meta.Group.NumberOfAccess": "按天接入条数",
-  "meta.Group.BusinessOwnersExtra": "责任人,可查看、修改数据流组信息",
+  "meta.Group.InlongGroupOwners": "责任人",
+  "meta.Group.InlongGroupOwnersExtra": "责任人,可查看、修改数据流组信息",
+  "meta.Group.InlongGroupIntroduction": "描述",
+  "meta.Group.MQType": "MQ类型",
   "meta.Group.QueueModule": "队列模型",
   "meta.Group.Parallel": "并行",
   "meta.Group.Serial": "顺序",
@@ -219,8 +212,13 @@
   "meta.Group.RetentionTimeExtra": "处于ack状态的消息的保存时⻓,超过此值时消息会被删除(最多保留14天)",
   "meta.Group.TtlExtra": "消息的time-to-live时⻓,超过此值的消息会被标记为ack(最多保留14天)",
   "meta.Group.RetentionSizeExtra": "处于ack状态的消息容量,超过此值的消息会被删除(-1表示永不删除)",
-  "meta.Group.DataCopyTitle": "数据副本信息",
-  "meta.Group.DataStoragePeriodTitle": "数据存储周期信息",
+  "meta.Group.NumberOfAccess": "按天接入条数",
+  "meta.Group.TenThousand/Day": "万条/天",
+  "meta.Group.AccessSize": "按天接入大小",
+  "meta.Group.GB/Day": "GB/天",
+  "meta.Group.AccessPeakPerSecond": "每秒接入峰值",
+  "meta.Group.Stripe/Second": "条/秒",
+  "meta.Group.SingleStripMaximumLength": "单条最大长度",
   "meta.Group.Status.Approved": "审批通过",
   "meta.Group.Status.Draft": "草稿",
   "meta.Group.Status.Cancel": "取消",
@@ -253,17 +251,18 @@
   "meta.Stream.Status.Pending": "配置中",
   "meta.Stream.Status.Error": "配置失败",
   "meta.Stream.Status.Success": "配置成功",
-  "meta.Consumption.Owner": "消费责任人",
-  "meta.Consumption.ConsumerGroupName": "消费组名称",
-  "meta.Consumption.ConsumerGroupNameRules": "只能包含小写字母、数字、中划线、下划线",
-  "meta.Consumption.DataStreamIDsHelp": "多个数据流ID之间用逗号(,)隔开",
-  "meta.Consumption.ConsumerDataStreamID": "消费的数据流ID",
-  "meta.Consumption.ConsumerTargetBusinessID": "消费的 Group ID",
-  "meta.Consumption.No": "否",
-  "meta.Consumption.filterEnabled": "是否过滤消费",
-  "meta.Consumption.MasterAddress": "Master地址",
-  "meta.Consumption.Yes": "是",
-  "meta.Consumption.OwnersExtra": "消费责任人,可查看、修改消费信息",
+  "meta.Consume.ConsumerGroupName": "消费组名称",
+  "meta.Consume.ConsumerGroupNameRules": "只能包含小写字母、数字、中划线、下划线",
+  "meta.Consume.TopicName": "Topic名称",
+  "meta.Consume.MQType": "MQ类型",
+  "meta.Consume.TargetInlongGroupID": "所属的数据流组ID",
+  "meta.Consume.TargetInlongStreamID": "所属的数据流ID",
+  "meta.Consume.MQAddress": "消息队列地址",
+  "meta.Consume.FilterEnabled": "是否过滤消费",
+  "meta.Consume.Yes": "是",
+  "meta.Consume.No": "否",
+  "meta.Consume.Owner": "消费责任人",
+  "meta.Consume.OwnersExtra": "可查看、修改消费信息",
   "meta.Nodes.Name": "节点名称",
   "meta.Nodes.Type": "类型",
   "meta.Nodes.Owners": "责任人",
@@ -395,7 +394,7 @@
   "pages.Approvals.Approver": "审批人",
   "pages.Approvals.Applicant": "申请人",
   "pages.Approvals.ProcessID": "流程单ID",
-  "pages.Approvals.GroupId": "Group ID",
+  "pages.Approvals.GroupId": "数据流组ID",
   "pages.Approvals.MyApplication": "我的申请",
   "pages.Approvals.MyApproval": "我的审批",
   "pages.ConsumeCreate.ConsumerInformation": "消费信息",
@@ -411,8 +410,8 @@
   "pages.ConsumeDashboard.config.Total": "消费总数",
   "pages.ConsumeDashboard.config.Pending": "待审批",
   "pages.ConsumeDashboard.config.ConsumerGroup": "消费组",
-  "pages.ConsumeDashboard.config.ConsumptionInlongGroupId": "消费的Group ID",
-  "pages.ConsumeDashboard.config.RecentConsumptionTime": "最近消费时间",
+  "pages.ConsumeDashboard.config.ConsumeInlongGroupId": "数据流组ID",
+  "pages.ConsumeDashboard.config.RecentConsumeTime": "最近消费时间",
   "pages.ConsumeDashboard.config.Middleware": "消息队列",
   "pages.ConsumeDashboard.status.Normal": "正常",
   "pages.ConsumeDashboard.status.Abnormal": "异常",
@@ -421,8 +420,7 @@
   "pages.ConsumeDashboard.status.Passed": "已通过",
   "pages.ConsumeDashboard.status.Cancelled": "已取消",
   "pages.ConsumeDashboard.NewConsume": "新建消费",
-  "pages.ConsumeDetail.Info.config.ConsumerGroupID": "消费组ID",
-  "pages.ConsumeDetail.ConsumptionDetails": "消费详情",
+  "pages.ConsumeDetail.ConsumeDetails": "消费详情",
   "pages.Clusters.Type": "类型",
   "pages.Clusters.TypeAll": "全部",
   "pages.Clusters.Create": "新建集群",
diff --git a/inlong-dashboard/src/locales/en.json b/inlong-dashboard/src/locales/en.json
index 452dfd354..691e8f98d 100644
--- a/inlong-dashboard/src/locales/en.json
+++ b/inlong-dashboard/src/locales/en.json
@@ -192,20 +192,13 @@
   "meta.Sinks.HBase.IsMetaField": "IsMetaField",
   "meta.Sinks.HBase.FieldFormat": "FieldFormat",
   "meta.Sinks.HBase.FieldDescription": "FieldDescription",
-  "meta.Group.Stripe/Second": "Stripe / S",
-  "meta.Group.MessageMiddleware": "Middleware",
-  "meta.Group.AccessSize": "Access Size",
-  "meta.Group.GB/Day": "GB / Day",
-  "meta.Group.BusinessIntroduction": "Description",
-  "meta.Group.BusinessOwners": "Group Owners",
-  "meta.Group.SingleStripMaximumLength": "Single Max Length",
-  "meta.Group.thousand/day": "Ten Thousand / day",
-  "meta.Group.AccessPeakPerSecond": "PeakRecords",
-  "meta.Group.InlongGroupId": "Group ID",
+  "meta.Group.InlongGroupId": "Inlong Group ID",
   "meta.Group.InlongGroupIdRules": "Only lowercase letters, numbers, minus, and underscores",
-  "meta.Group.InlongGroupName": "Group Name",
-  "meta.Group.NumberOfAccess": "Number of Access",
-  "meta.Group.BusinessOwnersExtra": "Group in charges, they can view, modify Group information",
+  "meta.Group.InlongGroupName": "Inlong Group Name",
+  "meta.Group.InlongGroupOwners": "Inlong Group Owners",
+  "meta.Group.InlongGroupOwnersExtra": "Can view, modify group info",
+  "meta.Group.InlongGroupIntroduction": "Description",
+  "meta.Group.MQType": "MQ Type",
   "meta.Group.QueueModule": "Queue Module",
   "meta.Group.Parallel": "Parallel",
   "meta.Group.Serial": "Serial",
@@ -219,8 +212,13 @@
   "meta.Group.RetentionTimeExtra": "The save time of the message in the ack state, the message will be deleted when this value is exceeded (up to 14 days)",
   "meta.Group.TtlExtra": "The time-to-live time of the message, messages exceeding this value will be marked as ack (retained for up to 14 days)",
   "meta.Group.RetentionSizeExtra": "Message capacity in ack state, messages exceeding this value will be deleted (-1 means never delete)",
-  "meta.Group.DataCopyTitle": "Data copy information",
-  "meta.Group.DataStoragePeriodTitle": "Data storage period information",
+  "meta.Group.NumberOfAccess": "Number of Access",
+  "meta.Group.TenThousand/Day": "Ten Thousand / Day",
+  "meta.Group.AccessSize": "Access Size",
+  "meta.Group.GB/Day": "GB / Day",
+  "meta.Group.AccessPeakPerSecond": "PeakRecords",
+  "meta.Group.Stripe/Second": "Stripe / Second",
+  "meta.Group.SingleStripMaximumLength": "Single Max Length",
   "meta.Group.Status.Approved": "Approved",
   "meta.Group.Status.Draft": "Draft",
   "meta.Group.Status.Cancel": "Cancel",
@@ -253,17 +251,18 @@
   "meta.Stream.Status.Pending": "Pending",
   "meta.Stream.Status.Error": "Error",
   "meta.Stream.Status.Success": "Success",
-  "meta.Consumption.Owner": "Owner",
-  "meta.Consumption.ConsumerGroupName": "Consumer Group Name",
-  "meta.Consumption.ConsumerGroupNameRules": "Only lowercase letters, numbers, minus, and underscores",
-  "meta.Consumption.DataStreamIDsHelp": "Inlong stream IDs are divided by commas;",
-  "meta.Consumption.ConsumerDataStreamID": "Consumer Stream ID",
-  "meta.Consumption.ConsumerTargetBusinessID": "Consumer Group ID",
-  "meta.Consumption.No": "No",
-  "meta.Consumption.filterEnabled": "FilterEnabled",
-  "meta.Consumption.MasterAddress": "Master address",
-  "meta.Consumption.Yes": "Yes",
-  "meta.Consumption.OwnersExtra": "Consumption in charges, they can view, modify consumption information",
+  "meta.Consume.ConsumerGroupName": "Consumer Group Name",
+  "meta.Consume.TopicName": "Topic Name",
+  "meta.Consume.MQType": "MQ Type",
+  "meta.Consume.ConsumerGroupNameRules": "Only lowercase letters, numbers, minus, and underscores",
+  "meta.Consume.TargetInlongGroupID": "Target Inlong Group ID",
+  "meta.Consume.TargetInlongStreamID": "Target Inlong Stream ID",
+  "meta.Consume.MQAddress": "MQ Address",
+  "meta.Consume.FilterEnabled": "Filter Enabled",
+  "meta.Consume.Yes": "Yes",
+  "meta.Consume.No": "No",
+  "meta.Consume.Owner": "Consume Owners",
+  "meta.Consume.OwnersExtra": "Can view, modify consume info",
   "meta.Nodes.Name": "Name",
   "meta.Nodes.Type": "Type",
   "meta.Nodes.Owners": "Owners",
@@ -395,7 +394,7 @@
   "pages.Approvals.Approver": "Approver",
   "pages.Approvals.Applicant": "Applicant",
   "pages.Approvals.ProcessID": "Process ID",
-  "pages.Approvals.GroupId": "Group ID",
+  "pages.Approvals.GroupId": "Inlong Group ID",
   "pages.Approvals.MyApplication": "My Application",
   "pages.Approvals.MyApproval": "My Approval",
   "pages.ConsumeCreate.ConsumerInformation": "Consumer information",
@@ -411,8 +410,8 @@
   "pages.ConsumeDashboard.config.Total": "Total",
   "pages.ConsumeDashboard.config.Pending": "Pending",
   "pages.ConsumeDashboard.config.ConsumerGroup": "ConsumerGroup",
-  "pages.ConsumeDashboard.config.ConsumptionInlongGroupId": "Consumption inlong group id",
-  "pages.ConsumeDashboard.config.RecentConsumptionTime": "Last consumption time",
+  "pages.ConsumeDashboard.config.ConsumeInlongGroupId": "Target Inlong Group ID",
+  "pages.ConsumeDashboard.config.RecentConsumeTime": "Recent consume time",
   "pages.ConsumeDashboard.config.Middleware": "Message Queue",
   "pages.ConsumeDashboard.status.Normal": "Normal",
   "pages.ConsumeDashboard.status.Abnormal": "Abnormal",
@@ -422,7 +421,7 @@
   "pages.ConsumeDashboard.status.Cancelled": "Cancelled",
   "pages.ConsumeDashboard.NewConsume": "Create",
   "pages.ConsumeDetail.Info.config.ConsumerGroupID": "Consumer group ID",
-  "pages.ConsumeDetail.ConsumptionDetails": "Consumption Detail",
+  "pages.ConsumeDetail.ConsumeDetails": "Consume Detail",
   "pages.Clusters.Type": "Type",
   "pages.Clusters.TypeAll": "All",
   "pages.Clusters.Create": "Create",
diff --git a/inlong-dashboard/src/metas/consumption/extends/index.tsx b/inlong-dashboard/src/metas/consume/extends/index.tsx
similarity index 89%
rename from inlong-dashboard/src/metas/consumption/extends/index.tsx
rename to inlong-dashboard/src/metas/consume/extends/index.tsx
index 9c5af7f5f..8a7c0bd8e 100644
--- a/inlong-dashboard/src/metas/consumption/extends/index.tsx
+++ b/inlong-dashboard/src/metas/consume/extends/index.tsx
@@ -19,6 +19,6 @@
 
 import type { FieldItemType } from '@/metas/common';
 
-export const consumptionExtends: FieldItemType[] = [
-  // You can extended consumption fields here...
+export const consumeExtends: FieldItemType[] = [
+  // You can extended consume fields here...
 ];
diff --git a/inlong-dashboard/src/metas/consumption/index.tsx b/inlong-dashboard/src/metas/consume/index.tsx
similarity index 73%
rename from inlong-dashboard/src/metas/consumption/index.tsx
rename to inlong-dashboard/src/metas/consume/index.tsx
index c5037cce9..32ef3be34 100644
--- a/inlong-dashboard/src/metas/consumption/index.tsx
+++ b/inlong-dashboard/src/metas/consume/index.tsx
@@ -29,38 +29,34 @@ import {
   genStatusTag,
   genLastConsumerStatusTag,
 } from './status';
-import { consumptionExtends } from './extends';
+import { consumeExtends } from './extends';
 
-const consumptionDefault: FieldItemType[] = [
+const consumeDefault: FieldItemType[] = [
   {
     type: 'input',
-    label: i18n.t('meta.Consumption.ConsumerGroupName'),
+    label: i18n.t('meta.Consume.ConsumerGroupName'),
     name: 'consumerGroup',
-    extra: i18n.t('meta.Consumption.ConsumerGroupNameRules'),
+    extra: i18n.t('meta.Consume.ConsumerGroupNameRules'),
     rules: [
       { required: true },
       {
-        pattern: /^[0-9a-z_\d]+$/,
-        message: i18n.t('meta.Consumption.ConsumerGroupNameRules'),
+        pattern: /^[0-9a-z_-]+$/,
+        message: i18n.t('meta.Consume.ConsumerGroupNameRules'),
       },
     ],
     _renderTable: true,
   },
   {
     type: <UserSelect mode="multiple" currentUserClosable={false} />,
-    label: i18n.t('meta.Consumption.Owner'),
+    label: i18n.t('meta.Consume.Owner'),
     name: 'inCharges',
-    extra: i18n.t('meta.Consumption.OwnersExtra'),
-    rules: [
-      {
-        required: true,
-      },
-    ],
+    extra: i18n.t('meta.Consume.OwnersExtra'),
+    rules: [{ required: true }],
     _renderTable: true,
   },
   {
     type: 'select',
-    label: i18n.t('meta.Consumption.ConsumerTargetBusinessID'),
+    label: i18n.t('meta.Consume.TargetInlongGroupID'),
     name: 'inlongGroupId',
     extraNames: ['mqType'],
     rules: [{ required: true }],
@@ -95,9 +91,16 @@ const consumptionDefault: FieldItemType[] = [
     },
     _renderTable: true,
   },
+  {
+    type: 'text',
+    label: i18n.t('meta.Consume.MQType'),
+    name: 'mqType',
+    visible: false,
+    _renderTable: true,
+  },
   {
     type: 'select',
-    label: 'Topic',
+    label: i18n.t('meta.Consume.TopicName'),
     name: 'topic',
     rules: [{ required: true }],
     props: values => ({
@@ -131,13 +134,6 @@ const consumptionDefault: FieldItemType[] = [
     visible: values => !!values.inlongGroupId,
     _renderTable: true,
   },
-  {
-    type: 'text',
-    label: 'MQ Type',
-    name: 'mqType',
-    visible: false,
-    _renderTable: true,
-  },
   {
     type: 'select',
     label: i18n.t('basic.Status'),
@@ -154,8 +150,8 @@ const consumptionDefault: FieldItemType[] = [
   },
   {
     type: 'input',
-    label: i18n.t('pages.ConsumeDashboard.config.RecentConsumptionTime'),
-    name: 'lastConsumptionTime',
+    label: i18n.t('pages.ConsumeDashboard.config.RecentConsumeTime'),
+    name: 'lastConsumeTime',
     visible: false,
     _renderTable: {
       render: text => text && timestampFormat(text),
@@ -164,7 +160,7 @@ const consumptionDefault: FieldItemType[] = [
   {
     type: 'select',
     label: i18n.t('pages.ConsumeDashboard.config.OperatingStatus'),
-    name: 'lastConsumptionStatus',
+    name: 'lastConsumeStatus',
     props: {
       allowClear: true,
       dropdownMatchSelectWidth: false,
@@ -177,17 +173,17 @@ const consumptionDefault: FieldItemType[] = [
   },
   {
     type: 'radio',
-    label: i18n.t('meta.Consumption.filterEnabled'),
+    label: i18n.t('meta.Consume.FilterEnabled'),
     name: 'filterEnabled',
     initialValue: 0,
     props: {
       options: [
         {
-          label: i18n.t('meta.Consumption.Yes'),
+          label: i18n.t('meta.Consume.Yes'),
           value: 1,
         },
         {
-          label: i18n.t('meta.Consumption.No'),
+          label: i18n.t('meta.Consume.No'),
           value: 0,
         },
       ],
@@ -197,31 +193,30 @@ const consumptionDefault: FieldItemType[] = [
   },
   {
     type: 'input',
-    label: i18n.t('meta.Consumption.ConsumerDataStreamID'),
+    label: i18n.t('meta.Consume.TargetInlongStreamID'),
     name: 'inlongStreamId',
-    extra: i18n.t('meta.Consumption.DataStreamIDsHelp'),
     rules: [{ required: true }],
-    visible: values => values.mqType === 'PULSAR' || values.filterEnabled,
+    visible: values => values.filterEnabled,
   },
   {
     type: 'text',
-    label: i18n.t('meta.Consumption.MasterAddress'),
+    label: i18n.t('meta.Consume.MQAddress'),
     name: 'masterUrl',
   },
   {
     type: 'radio',
     label: 'isDlq',
-    name: 'mqExtInfo.isDlq',
+    name: 'isDlq',
     initialValue: 0,
     rules: [{ required: true }],
     props: {
       options: [
         {
-          label: i18n.t('meta.Consumption.Yes'),
+          label: i18n.t('meta.Consume.Yes'),
           value: 1,
         },
         {
-          label: i18n.t('meta.Consumption.No'),
+          label: i18n.t('meta.Consume.No'),
           value: 0,
         },
       ],
@@ -231,42 +226,41 @@ const consumptionDefault: FieldItemType[] = [
   {
     type: 'input',
     label: 'deadLetterTopic',
-    name: 'mqExtInfo.deadLetterTopic',
+    name: 'deadLetterTopic',
     rules: [{ required: true }],
-    visible: values => values.mqExtInfo?.isDlq && values.mqType === 'PULSAR',
+    visible: values => values?.isDlq && values.mqType === 'PULSAR',
   },
   {
     type: 'radio',
     label: 'isRlq',
-    name: 'mqExtInfo.isRlq',
+    name: 'isRlq',
     initialValue: 0,
     rules: [{ required: true }],
     props: {
       options: [
         {
-          label: i18n.t('meta.Consumption.Yes'),
+          label: i18n.t('meta.Consume.Yes'),
           value: 1,
         },
         {
-          label: i18n.t('meta.Consumption.No'),
+          label: i18n.t('meta.Consume.No'),
           value: 0,
         },
       ],
     },
-    visible: values => values.mqExtInfo?.isDlq && values.mqType === 'PULSAR',
+    visible: values => values?.isDlq && values.mqType === 'PULSAR',
   },
   {
     type: 'input',
     label: 'retryLetterTopic',
-    name: 'mqExtInfo.retryLetterTopic',
+    name: 'retryLetterTopic',
     rules: [{ required: true }],
-    visible: values =>
-      values.mqExtInfo?.isDlq && values.mqExtInfo?.isRlq && values.mqType === 'PULSAR',
+    visible: values => values?.isDlq && values?.isRlq && values.mqType === 'PULSAR',
   },
 ];
 
-export const consumption = genFields(consumptionDefault, consumptionExtends);
+export const consume = genFields(consumeDefault, consumeExtends);
 
-export const consumptionForm = genForm(consumption);
+export const consumeForm = genForm(consume);
 
-export const consumptionTable = genTable(consumption);
+export const consumeTable = genTable(consume);
diff --git a/inlong-dashboard/src/metas/consumption/status.tsx b/inlong-dashboard/src/metas/consume/status.tsx
similarity index 100%
rename from inlong-dashboard/src/metas/consumption/status.tsx
rename to inlong-dashboard/src/metas/consume/status.tsx
diff --git a/inlong-dashboard/src/metas/group/index.tsx b/inlong-dashboard/src/metas/group/index.tsx
index 3a907bd17..1ec6cd1e4 100644
--- a/inlong-dashboard/src/metas/group/index.tsx
+++ b/inlong-dashboard/src/metas/group/index.tsx
@@ -50,26 +50,21 @@ const groupDefault: FieldItemType[] = [
       maxLength: 32,
     },
   },
-  {
-    type: 'text',
-    label: 'MQ Resource',
-    name: 'mqResource',
-  },
   {
     type: <UserSelect mode="multiple" currentUserClosable={false} />,
-    label: i18n.t('meta.Group.BusinessOwners'),
+    label: i18n.t('meta.Group.InlongGroupOwners'),
     name: 'inCharges',
     rules: [
       {
         required: true,
       },
     ],
-    extra: i18n.t('meta.Group.BusinessOwnersExtra'),
+    extra: i18n.t('meta.Group.InlongGroupOwnersExtra'),
     _renderTable: true,
   },
   {
     type: 'textarea',
-    label: i18n.t('meta.Group.BusinessIntroduction'),
+    label: i18n.t('meta.Group.InlongGroupIntroduction'),
     name: 'description',
     props: {
       showCount: true,
@@ -78,7 +73,7 @@ const groupDefault: FieldItemType[] = [
   },
   {
     type: 'radio',
-    label: i18n.t('meta.Group.MessageMiddleware'),
+    label: i18n.t('meta.Group.MQType'),
     name: 'mqType',
     initialValue: 'TUBEMQ',
     rules: [{ required: true }],
@@ -96,6 +91,11 @@ const groupDefault: FieldItemType[] = [
     },
     _renderTable: true,
   },
+  {
+    type: 'text',
+    label: 'MQ Resource',
+    name: 'mqResource',
+  },
   {
     type: 'input',
     label: i18n.t('basic.CreateTime'),
@@ -155,7 +155,7 @@ const groupDefault: FieldItemType[] = [
     label: i18n.t('meta.Group.NumberOfAccess'),
     name: 'dailyRecords',
     rules: [{ required: true }],
-    suffix: i18n.t('meta.Group.thousand/day'),
+    suffix: i18n.t('meta.Group.TenThousand/Day'),
     props: {
       min: 1,
       precision: 0,
diff --git a/inlong-dashboard/src/pages/ConsumeDashboard/config.tsx b/inlong-dashboard/src/pages/ConsumeDashboard/config.tsx
index 4e74b0bd4..48b9a2df6 100644
--- a/inlong-dashboard/src/pages/ConsumeDashboard/config.tsx
+++ b/inlong-dashboard/src/pages/ConsumeDashboard/config.tsx
@@ -22,7 +22,7 @@ import { Button } from 'antd';
 import { Link } from 'react-router-dom';
 import i18n from '@/i18n';
 import { DashTotal, DashToBeAssigned, DashPending, DashRejected } from '@/components/Icons';
-import { consumptionForm, consumptionTable } from '@/metas/consumption';
+import { consumeForm, consumeTable } from '@/metas/consume';
 import { pickObjectArray } from '@/utils';
 
 export const dashCardList = [
@@ -59,7 +59,7 @@ export const getFilterFormContent = defaultValues =>
       },
     },
   ].concat(
-    pickObjectArray(['status', 'lastConsumptionStatus'], consumptionForm).map(item => ({
+    pickObjectArray(['status', 'lastConsumeStatus'], consumeForm).map(item => ({
       ...item,
       visible: true,
       initialValue: defaultValues[item.name],
@@ -67,11 +67,11 @@ export const getFilterFormContent = defaultValues =>
   );
 
 export const getColumns = ({ onDelete }) => {
-  const genCreateUrl = record => `/consume/create?id=${record.id}`;
+  const genCreateUrl = record => `/consume/create/${record.id}`;
   const genDetailUrl = record =>
-    record.status === 10 ? genCreateUrl(record) : `/consume/detail/${record.id}`;
+    [0, 10].includes(record.status) ? genCreateUrl(record) : `/consume/detail/${record.id}`;
 
-  return consumptionTable
+  return consumeTable
     .map(item => {
       if (item.dataIndex === 'consumerGroup') {
         return { ...item, render: (text, record) => <Link to={genDetailUrl(record)}>{text}</Link> };
diff --git a/inlong-dashboard/src/pages/ConsumeDashboard/index.tsx b/inlong-dashboard/src/pages/ConsumeDashboard/index.tsx
index 542659c09..6c25382e2 100644
--- a/inlong-dashboard/src/pages/ConsumeDashboard/index.tsx
+++ b/inlong-dashboard/src/pages/ConsumeDashboard/index.tsx
@@ -39,7 +39,7 @@ const Comp: React.FC = () => {
   });
 
   const { data: summary = {} } = useRequest({
-    url: '/consumption/summary',
+    url: '/consume/countStatus',
   });
 
   const {
@@ -48,7 +48,7 @@ const Comp: React.FC = () => {
     run: getList,
   } = useRequest(
     {
-      url: '/consumption/list',
+      url: '/consume/list',
       params: options,
     },
     {
@@ -61,7 +61,7 @@ const Comp: React.FC = () => {
       title: t('basic.DeleteConfirm'),
       onOk: async () => {
         await request({
-          url: `/consumption/delete/${id}`,
+          url: `/consume/delete/${id}`,
           method: 'DELETE',
         });
         await getList();
diff --git a/inlong-dashboard/src/pages/ConsumeDetail/Info/config.tsx b/inlong-dashboard/src/pages/ConsumeDetail/Info/config.tsx
index 1b5fdf827..157d81313 100644
--- a/inlong-dashboard/src/pages/ConsumeDetail/Info/config.tsx
+++ b/inlong-dashboard/src/pages/ConsumeDetail/Info/config.tsx
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-import { consumptionForm } from '@/metas/consumption';
+import { consumeForm } from '@/metas/consume';
 import { excludeObjectArray } from '@/utils';
 
 export const getFormContent = ({ editing, isCreate }) => {
   const excludeKeys = isCreate ? ['masterUrl'] : [];
-  const fields = excludeObjectArray(excludeKeys, consumptionForm);
+  const fields = excludeObjectArray(excludeKeys, consumeForm);
 
   return isCreate
     ? fields
@@ -43,13 +43,7 @@ export const getFormContent = ({ editing, isCreate }) => {
 function transType(editing: boolean, conf) {
   const arr = [
     {
-      name: [
-        'inCharges',
-        'mqExtInfo.isDlq',
-        'mqExtInfo.deadLetterTopic',
-        'mqExtInfo.isRlq',
-        'mqExtInfo.retryLetterTopic',
-      ],
+      name: ['isDlq', 'deadLetterTopic', 'isRlq', 'retryLetterTopic'],
       as: 'text',
       active: !editing,
     },
diff --git a/inlong-dashboard/src/pages/ConsumeDetail/Info/index.tsx b/inlong-dashboard/src/pages/ConsumeDetail/Info/index.tsx
index 77ead049d..c8279f040 100644
--- a/inlong-dashboard/src/pages/ConsumeDetail/Info/index.tsx
+++ b/inlong-dashboard/src/pages/ConsumeDetail/Info/index.tsx
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-import React, { useMemo, useImperativeHandle, forwardRef } from 'react';
-import { Button, Space, message } from 'antd';
+import React, { forwardRef, useImperativeHandle, useMemo } from 'react';
+import { Button, message, Space } from 'antd';
 import FormGenerator, { useForm } from '@/components/FormGenerator';
-import { useRequest, useBoolean } from '@/hooks';
+import { useBoolean, useRequest } from '@/hooks';
 import request from '@/utils/request';
 import { useTranslation } from 'react-i18next';
 import { CommonInterface } from '../common';
@@ -38,22 +38,17 @@ const Comp = ({ id, readonly, isCreate }: Props, ref) => {
     return !!id;
   }, [id]);
 
-  const { data, run: getDetail } = useRequest(
-    {
-      url: `/consumption/get/${id}`,
+  const { data, run: getDetail } = useRequest(`/consume/get/${id}`, {
+    ready: isUpdate,
+    refreshDeps: [id],
+    formatResult: result => ({
+      ...result,
+      inCharges: result.inCharges?.split(',') || [],
+    }),
+    onSuccess: data => {
+      form.setFieldsValue(data);
     },
-    {
-      ready: !!id,
-      refreshDeps: [id],
-      formatResult: result => ({
-        ...result,
-        inCharges: result.inCharges?.split(',') || [],
-      }),
-      onSuccess: data => {
-        form.setFieldsValue(data);
-      },
-    },
-  );
+  });
 
   const onOk = async () => {
     const values = await form.validateFields();
@@ -61,20 +56,18 @@ const Comp = ({ id, readonly, isCreate }: Props, ref) => {
       ...values,
       inCharges: values.inCharges.join(','),
       consumerGroup: values.consumerGroup || data?.consumerGroup,
-      topic: Array.isArray(values.topic) ? values.topic.join(',') : values.topic,
-      version: data?.version,
-      mqExtInfo: {
-        ...values.mqExtInfo,
-        mqType: values.mqType,
-      },
     };
 
-    const result = await request({
-      url: isUpdate ? `/consumption/update/${id}` : '/consumption/save',
+    if (isUpdate) {
+      submitData.id = data?.id;
+      submitData.version = data?.version;
+    }
+
+    return await request({
+      url: isUpdate ? `/consume/update` : '/consume/save',
       method: 'POST',
       data: submitData,
     });
-    return result;
   };
 
   useImperativeHandle(ref, () => ({
diff --git a/inlong-dashboard/src/pages/ConsumeDetail/index.tsx b/inlong-dashboard/src/pages/ConsumeDetail/index.tsx
index a03be3943..6eb736ef8 100644
--- a/inlong-dashboard/src/pages/ConsumeDetail/index.tsx
+++ b/inlong-dashboard/src/pages/ConsumeDetail/index.tsx
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-import React, { useState, useMemo, useRef } from 'react';
+import React, { useState, useMemo, useRef, useEffect } from 'react';
 import { Tabs, Button, Card, message, Steps, Space } from 'antd';
 import { useTranslation } from 'react-i18next';
 import { parse } from 'qs';
@@ -41,7 +41,11 @@ const Comp: React.FC = () => {
   const childRef = useRef(null);
   const [isCreate] = useState(location.pathname.indexOf('/consume/create') === 0);
 
-  const { data } = useRequest(`/consumption/get/${id}`, {
+  useEffect(() => {
+    if (!hasOpened(current)) addOpened(current);
+  }, [current, addOpened, hasOpened]);
+
+  const { data } = useRequest(`/consume/get/${id}`, {
     ready: !!id,
     refreshDeps: [id],
   });
@@ -51,7 +55,7 @@ const Comp: React.FC = () => {
   const list = useMemo(
     () => [
       {
-        label: t('pages.ConsumeDetail.ConsumptionDetails'),
+        label: t('pages.ConsumeDetail.ConsumeDetails'),
         value: 'consumeDetail',
         content: Info,
       },
@@ -79,7 +83,7 @@ const Comp: React.FC = () => {
 
   const onSubmit = async _id => {
     await request({
-      url: `/consumption/startProcess/${_id}`,
+      url: `/consume/startProcess/${_id}`,
       method: 'POST',
       data,
     });
@@ -129,7 +133,7 @@ const Comp: React.FC = () => {
         {
           name: isCreate
             ? t('pages.ConsumeCreate.NewConsume')
-            : `${t('pages.ConsumeDetail.ConsumptionDetails')}${data?.id}`,
+            : `${t('pages.ConsumeDetail.ConsumeDetails')}${data?.id}`,
         },
       ]}
       useDefaultContainer={!isCreate}
diff --git a/inlong-dashboard/src/pages/GroupDetail/index.tsx b/inlong-dashboard/src/pages/GroupDetail/index.tsx
index 7e0223515..a855963c8 100644
--- a/inlong-dashboard/src/pages/GroupDetail/index.tsx
+++ b/inlong-dashboard/src/pages/GroupDetail/index.tsx
@@ -42,7 +42,6 @@ const Comp: React.FC = () => {
   const [, { add: addOpened, has: hasOpened }] = useSet([current]);
   const [confirmLoading, setConfirmLoading] = useState(false);
   const [id, setId] = useState(groupId || '');
-
   const childRef = useRef(null);
   const [mqType, setMqType] = useState();
 
@@ -95,7 +94,6 @@ const Comp: React.FC = () => {
 
   const onOk = async current => {
     const onOk = childRef?.current?.onOk;
-
     setConfirmLoading(true);
     try {
       const result = onOk && (await onOk());
diff --git a/inlong-dashboard/src/pages/ProcessDetail/Consume.tsx b/inlong-dashboard/src/pages/ProcessDetail/Consume.tsx
index 8be291cbe..700d7f7ed 100644
--- a/inlong-dashboard/src/pages/ProcessDetail/Consume.tsx
+++ b/inlong-dashboard/src/pages/ProcessDetail/Consume.tsx
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-import React, { useEffect, forwardRef, useImperativeHandle } from 'react';
+import React, { forwardRef, useEffect, useImperativeHandle } from 'react';
 import FormGenerator, { useForm } from '@/components/FormGenerator';
 import { CommonInterface } from './common';
 import { getFormContent } from './ConsumeConfig';
@@ -31,12 +31,12 @@ const Comp = (
   const [form] = useForm();
 
   useEffect(() => {
-    const consumptionInfo = defaultData?.processInfo?.formData?.consumptionInfo;
-    const consumptionApproveInfo = defaultData?.currentTask?.formData?.consumptionApproveInfo;
-    if (consumptionInfo || consumptionApproveInfo) {
+    const consumeInfo = defaultData?.processInfo?.formData?.consumeInfo;
+    const consumeApproveInfo = defaultData?.currentTask?.formData?.consumeApproveInfo;
+    if (consumeInfo || consumeApproveInfo) {
       const obj = {
-        ...consumptionInfo,
-        ...consumptionApproveInfo,
+        ...consumeInfo,
+        ...consumeApproveInfo,
       };
       form.setFieldsValue(obj);
     }
@@ -44,11 +44,9 @@ const Comp = (
 
   const onOk = async (useValidate = true) => {
     if (!useValidate) {
-      const values = await form.getFieldsValue();
-      return values;
+      return await form.getFieldsValue();
     }
-    const values = await form.validateFields();
-    return values;
+    return await form.validateFields();
   };
 
   useImperativeHandle(ref, () => ({
diff --git a/inlong-dashboard/src/pages/ProcessDetail/ConsumeConfig.tsx b/inlong-dashboard/src/pages/ProcessDetail/ConsumeConfig.tsx
index 54bec7652..ce5b71ee8 100644
--- a/inlong-dashboard/src/pages/ProcessDetail/ConsumeConfig.tsx
+++ b/inlong-dashboard/src/pages/ProcessDetail/ConsumeConfig.tsx
@@ -20,10 +20,10 @@
 import React from 'react';
 import { Divider } from 'antd';
 import i18n from '@/i18n';
-import { consumptionForm } from '@/metas/consumption';
+import { consumeForm } from '@/metas/consume';
 
 const getContent = () => {
-  return consumptionForm.map(item => {
+  return consumeForm.map(item => {
     const obj = { ...item };
     if (typeof obj.suffix !== 'string') {
       delete obj.suffix;
@@ -64,7 +64,7 @@ export const getFormContent = (
             type: 'input',
             label: i18n.t('pages.ApprovalDetail.ConsumeConfig.ConsumerGroup'),
             name: ['form', 'consumerGroup'],
-            initialValue: formData.consumptionInfo?.consumerGroup,
+            initialValue: formData.consumeInfo?.consumerGroup,
             rules: [{ required: true }],
             props: {
               disabled: isFinished,
diff --git a/inlong-dashboard/src/pages/ProcessDetail/index.tsx b/inlong-dashboard/src/pages/ProcessDetail/index.tsx
index 7e6b91638..64b86667a 100644
--- a/inlong-dashboard/src/pages/ProcessDetail/index.tsx
+++ b/inlong-dashboard/src/pages/ProcessDetail/index.tsx
@@ -175,7 +175,7 @@ const Comp: React.FC = () => {
   const Form = useMemo(() => {
     return {
       APPLY_GROUP_PROCESS: Access,
-      APPLY_CONSUMPTION_PROCESS: Consume,
+      APPLY_CONSUME_PROCESS: Consume,
     }[processInfo?.name];
   }, [processInfo]);