@Override
    public String getTenant(String groupId, String operator) {
        InlongGroupEntity groupEntity = groupMapper.selectByGroupIdWithoutTenant(groupId);
        String tenant = groupEntity.getTenant();
        if (Objects.equals(InlongConstants.DEFAULT_PULSAR_TENANT, tenant)) {
            return tenant;
        }
        InlongTenantInfo tenantInfo = tenantService.getByName(tenant);
        if (tenantInfo == null) {
            String errMsg = String.format("tenant=[%s] not found", tenant);
            LOGGER.error(errMsg);
            throw new BusinessException(errMsg);
        }

        InlongRoleInfo inlongRoleInfo = inlongRoleService.getByUsername(operator);
        TenantUserRoleEntity tenantRoleInfo = tenantUserRoleEntityMapper.selectByUsernameAndTenant(operator, tenant);
        if (inlongRoleInfo == null && tenantRoleInfo == null) {
            String errMsg = String.format("user=[%s] has no privilege for tenant=[%s]", operator, tenant);
            LOGGER.error(errMsg);
            throw new BusinessException(errMsg);
        }
        return tenant;
    }
Add constraints to the start and end time of the offline synchronization group.
1. startTime must >= current time
2. endTime must >= startTime
inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/group/InlongGroupServiceImpl.java