@Override
    public InlongGroupInfo doDeleteCheck(String groupId, String operator) {
        InlongGroupInfo groupInfo = this.get(groupId);
        // only the person in charges can update
        List<String> inCharges = Arrays.asList(groupInfo.getInCharges().split(InlongConstants.COMMA));
        if (!inCharges.contains(operator)) {
            throw new BusinessException(ErrorCodeEnum.GROUP_PERMISSION_DENIED,
                    String.format("user [%s] has no privilege for the inlong group", operator));
        }
        // determine whether the current status can be deleted
        GroupStatus curState = GroupStatus.forCode(groupInfo.getStatus());
        if (GroupStatus.notAllowedTransition(curState, GroupStatus.CONFIG_DELETING)) {
            throw new BusinessException(ErrorCodeEnum.GROUP_DELETE_NOT_ALLOWED,
                    String.format("current group status=%s was not allowed to delete", curState));
        }

        // If the status does not allow deleting directly, and the group mode is STANDARD,
        // you need to delete the related "inlong_stream" first.
        // otherwise, all associated info will be logically deleted.
        if (GroupStatus.deleteStreamFirst(curState)
                && InlongConstants.STANDARD_MODE.equals(groupInfo.getInlongGroupMode())) {
            int count = streamService.selectCountByGroupId(groupId);
            if (count >= 1) {
                throw new BusinessException(ErrorCodeEnum.GROUP_DELETE_HAS_STREAM,
                        String.format("groupId=%s have [%s] inlong streams, deleted failed", groupId, count));
            }
        }

        return groupInfo;
    }
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