code: private Channel doToModel(ChannelDO channelDo) {
          Channel channel = new Channel();
          try {
              channel.setId(channelDo.getId());
              channel.setName(channelDo.getName());
              channel.setDescription(channelDo.getDescription());
              channel.setStatus(arbitrateManageService.channelEvent().status(channelDo.getId()));
              channel.setParameters(channelDo.getParameters());
              channel.setGmtCreate(channelDo.getGmtCreate());
              channel.setGmtModified(channelDo.getGmtModified());
              List<Pipeline> pipelines = pipelineService.listByChannelIds(channelDo.getId());
              // 合并PipelineParameter和ChannelParameter
              SystemParameter systemParameter = systemParameterService.find();
              for (Pipeline pipeline : pipelines) {
                  PipelineParameter parameter = new PipelineParameter();
                  parameter.merge(systemParameter);
                  parameter.merge(channel.getParameters());
                  // 最后复制pipelineId参数
                  parameter.merge(pipeline.getParameters());
                  pipeline.setParameters(parameter);
                  // pipeline.getParameters().merge(channel.getParameters());
              }
              channel.setPipelines(pipelines);
          } catch (Exception e) {
              logger.error("ERROR ## change the channel DO to Model has an exception");
              throw new ManagerException(e);
          }
  
          return channel;
      }
docs: <pre>
  用于DO对象转化为Model对象
  现阶段优化：
  需要五次SQL交互:pipeline\node\dataMediaPair\dataMedia\dataMediaSource（五个层面）
  目前优化方案为单层只执行一次SQL，避免重复循环造成IO及数据库查询开销
  长期优化：
  对SQL进行改造，尽量减小SQL调用次数
  </pre>
  
  @param channelDO
  @return Channel