private boolean getGroupResCtrlJsonSetInfo(HttpServletRequest req, boolean isAddOp,
            BaseEntity defOpEntity, StringBuilder sBuffer,
            ProcessResult result) {
        if (!WebParameterUtils.getJsonArrayParamValue(req,
                WebFieldDef.GROUPRESCTRLSET, true, null, result)) {
            return result.isSuccess();
        }
        List<Map<String, String>> ctrlJsonArray =
                (List<Map<String, String>>) result.getRetData();
        // get default qryPriorityId
        ClusterSettingEntity defClusterSetting =
                defMetaDataService.getClusterDefSetting(false);
        int defQryPriorityId = defClusterSetting.getQryPriorityId();
        // check and get topic control configure
        GroupResCtrlEntity itemEntity;
        Map<String, GroupResCtrlEntity> addRecordMap = new HashMap<>();
        for (Map<String, String> itemValueMap : ctrlJsonArray) {
            // check and get operation info
            if (!WebParameterUtils.getAUDBaseInfo(itemValueMap,
                    isAddOp, defOpEntity, sBuffer, result)) {
                return result.isSuccess();
            }
            final BaseEntity itemOpEntity = (BaseEntity) result.getRetData();
            // get group configure info
            if (!WebParameterUtils.getStringParamValue(itemValueMap,
                    WebFieldDef.GROUPNAME, true, "", sBuffer, result)) {
                return result.isSuccess();
            }
            final String groupName = (String) result.getRetData();
            // get resCheckStatus info
            if (!WebParameterUtils.getEnableStatusValue(itemValueMap, WebFieldDef.RESCHECKENABLE,
                    false, (isAddOp ? EnableStatus.STATUS_DISABLE : null), sBuffer, result)) {
                return result.isSuccess();
            }
            final EnableStatus resCheckEnable = (EnableStatus) result.getRetData();
            // get and valid allowedBrokerClientRate info
            if (!WebParameterUtils.getIntParamValue(itemValueMap, WebFieldDef.ALWDBCRATE,
                    false, (isAddOp ? TServerConstants.GROUP_BROKER_CLIENT_RATE_MIN
                            : TBaseConstants.META_VALUE_UNDEFINED),
                    TServerConstants.GROUP_BROKER_CLIENT_RATE_MIN, sBuffer, result)) {
                return result.isSuccess();
            }
            final int allowedBClientRate = (int) result.getRetData();
            // get def cluster setting info
            // get and valid qryPriorityId info
            if (!WebParameterUtils.getQryPriorityIdParameter(itemValueMap,
                    false, (isAddOp ? defClusterSetting.getQryPriorityId()
                            : TBaseConstants.META_VALUE_UNDEFINED),
                    TServerConstants.QRY_PRIORITY_MIN_VALUE, sBuffer, result)) {
                return result.isSuccess();
            }
            final int qryPriorityId = (int) result.getRetData();
            // get flowCtrlEnable info
            if (!WebParameterUtils.getEnableStatusValue(itemValueMap,
                    WebFieldDef.FLOWCTRLENABLE, false,
                    (isAddOp ? EnableStatus.STATUS_DISABLE : null), sBuffer, result)) {
                return result.isSuccess();
            }
            EnableStatus flowCtrlEnable = (EnableStatus) result.getRetData();
            // get and flow control rule info
            int flowRuleCnt = WebParameterUtils.getAndCheckFlowRules(itemValueMap,
                    (isAddOp ? TServerConstants.BLANK_FLOWCTRL_RULES : null), sBuffer, result);
            if (!result.isSuccess()) {
                return result.isSuccess();
            }
            String flowCtrlInfo = (String) result.getRetData();
            itemEntity =
                    new GroupResCtrlEntity(itemOpEntity, groupName);
            itemEntity.updModifyInfo(itemEntity.getDataVerId(),
                    resCheckEnable, allowedBClientRate, qryPriorityId,
                    flowCtrlEnable, flowRuleCnt, flowCtrlInfo);
            addRecordMap.put(itemEntity.getGroupName(), itemEntity);
        }
        // check result
        if (addRecordMap.isEmpty()) {
            result.setFailResult(sBuffer
                    .append("Not found record info in ")
                    .append(WebFieldDef.GROUPRESCTRLSET.name)
                    .append(" parameter!").toString());
            sBuffer.delete(0, sBuffer.length());
            return result.isSuccess();
        }
        result.setSuccResult(addRecordMap);
        return result.isSuccess();
    }
query resource-control information

@param req       Http Servlet Request
@param strBuff   string buffer
@param result    process result
@param onlyRetGroup only return group information
@return    process result
inlong-tubemq/tubemq-server/src/main/java/org/apache/inlong/tubemq/server/master/web/handler/WebGroupResCtrlHandler.java