@Override
    public ListenerResult listen(WorkflowContext context) throws WorkflowListenerException {
        GroupResourceProcessForm form = (GroupResourceProcessForm) context.getProcessForm();
        String groupId = form.getInlongGroupId();
        log.info("begin to execute InitGroupCompleteListener for groupId={}", groupId);

        try {
            // update inlong group status and other info
            InlongGroupInfo groupInfo = form.getGroupInfo();
            String operator = context.getOperator();
            Integer nextStatus = InlongGroupUtils.isBatchTask(form.getGroupInfo())
                    ? GroupStatus.FINISH.getCode()
                    : GroupStatus.CONFIG_SUCCESSFUL.getCode();
            groupService.updateStatus(groupId, nextStatus, operator);

            InlongGroupEntity existGroup = groupMapper.selectByGroupId(groupId);
            InlongGroupRequest updateGroupRequest = groupInfo.genRequest();
            updateGroupRequest.setVersion(existGroup.getVersion());
            groupService.update(updateGroupRequest, operator);
            List<InlongStreamInfo> streamInfos = form.getStreamInfos();
            if (CollectionUtils.isNotEmpty(streamInfos)) {
                streamInfos.forEach(streamInfo -> streamService.updateWithoutCheck(streamInfo.genRequest(), operator));
            }
            streamService.updateStatus(groupId, null, StreamStatus.CONFIG_SUCCESSFUL.getCode(), operator);

            // update status of other related configs
            if (InlongConstants.DISABLE_CREATE_RESOURCE.equals(groupInfo.getEnableCreateResource())) {
                if (InlongConstants.DATASYNC_REALTIME_MODE.equals(groupInfo.getInlongGroupMode())
                        || InlongConstants.DATASYNC_OFFLINE_MODE.equals(groupInfo.getInlongGroupMode())) {
                    sourceService.updateStatus(groupId, null, SourceStatus.SOURCE_NORMAL.getCode(), operator);
                } else {
                    sourceService.updateStatus(groupId, null, SourceStatus.TO_BE_ISSUED_ADD.getCode(), operator);
                }
            }

            log.info("success to execute InitGroupCompleteListener for groupId={}", groupId);
            return ListenerResult.success();
        } catch (Exception e) {
            throw new WorkflowListenerException(e);
        }
    }
After the process of creating InlongGroup resources is completed,
modify the status of related InlongGroup to [Successful]
<p/>
{@link InitGroupFailedListener#listen}
inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/listener/group/InitGroupCompleteListener.java