"""配置输出标准"""

# -*- coding:utf-8 -*-

import os

from datacontract import EStandardDataType
from outputmanagement import (
    ECrypto,
    EDataName,
    OutputDataConfig,
    OutputFieldConfig,
    OutputPlatformConfig,
    OutputStandardConfig,
)

stdconfig = OutputStandardConfig(
    platforms=[
        OutputPlatformConfig(
            "zplus",
            enabled=True,
            datas=[
                OutputDataConfig(
                    datatype=EStandardDataType.Task,
                    suffix="idown_task",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            # 控制端输出子任务到采集端时，不输出此字段
                            destfield="progress",
                            srcfield="progress",
                            isfiltered=True,
                        ),
                        OutputFieldConfig(
                            destfield="platform",
                            srcfield="platform",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="parenttaskid",
                            srcfield="parenttaskid",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="batchid",
                            srcfield="batchid",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="tokenid",
                            srcfield="tokenid",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="parentbatchid",
                            srcfield="parentbatchid",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="tasktype",
                            srcfield="tasktype",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="tokentype",
                            srcfield="tokentype",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="apptype",
                            srcfield="apptype",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="forcedownload",
                            srcfield="forcedownload",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="casenode",
                            srcfield="casenode",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="input",
                            srcfield="input",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="preglobaltelcode",
                            srcfield="preglobaltelcode",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="preaccount",
                            srcfield="preaccount",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="globaltelcode",
                            srcfield="globaltelcode",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="phone",
                            srcfield="phone",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="account",
                            srcfield="account",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="password",
                            srcfield="password",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="url",
                            srcfield="url",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="host",
                            srcfield="host",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cookie",
                            srcfield="cookie",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="source",
                            srcfield="source",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmdid",
                            srcfield="cmdid",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmd",
                            srcfield="cmd",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.TaskBack,
                    suffix="idown_task_back",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="state",
                            srcfield="state",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="batchcompletecount",
                            srcfield="batchcompletecount",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="recvmsg",
                            srcfield="recvmsg",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="progress",
                            srcfield="progress",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="time",
                            srcfield="time",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="result",
                            srcfield="result",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="sequence",
                            srcfield="sequence",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.TaskBatchBack,
                    suffix="idown_btask_back",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="batchid",
                            srcfield="batchid",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="state",
                            srcfield="state",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="recvmsg",
                            srcfield="recvmsg",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="time",
                            srcfield="time",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="result",
                            srcfield="result",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="progress",
                            srcfield="progress",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="sequence",
                            srcfield="sequence",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.IDownCmd,
                    suffix="idown_cmd",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="platform",
                            srcfield="platform",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmdid",
                            srcfield="cmdid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmd",
                            srcfield="cmd",
                            isrequired=True,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="source",
                            srcfield="source",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.TaskCmdBack,
                    suffix="idown_cmd_back",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="cmdid",
                            srcfield="cmdid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="clientid",
                            srcfield="clientid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="source",
                            srcfield="source",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="state",
                            srcfield="state",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="recvmsg",
                            srcfield="recvmsg",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="time",
                            srcfield="time",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="sequence",
                            srcfield="sequence",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="platform",
                            srcfield="platform",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                            isfiltered=True,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.IScanTask,
                    suffix="iscan_task",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="periodnum",
                            srcfield="periodnum",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="createtime",
                            srcfield="createtime",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="source",
                            srcfield="source",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="scantype",
                            srcfield="scantype",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmdid",
                            srcfield="cmdid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmd",
                            srcfield="cmd",
                            isrequired=True,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.IscanTaskBack,
                    suffix="iscan_task_back",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="periodnum",
                            srcfield="periodnum",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="state",
                            srcfield="state",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="recvmsg",
                            srcfield="recvmsg",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="time",
                            srcfield="time",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="sequence",
                            srcfield="sequence",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.IScoutTask,
                    suffix="iscout_task",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="periodnum",
                            srcfield="periodnum",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="platform",
                            srcfield="platform",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="createtime",
                            srcfield="createtime",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="batchid",
                            srcfield="batchid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="source",
                            srcfield="source",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="objecttype",
                            srcfield="objecttype",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="object",
                            srcfield="object",
                            isrequired=True,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmdid",
                            srcfield="cmdid",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmd",
                            srcfield="cmd",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.IscoutTaskBack,
                    suffix="iscout_task_back",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="periodnum",
                            srcfield="periodnum",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="state",
                            srcfield="state",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="progress",
                            srcfield="progress",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="elapsed",
                            srcfield="elapsed",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="recvmsg",
                            srcfield="recvmsg",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="time",
                            srcfield="time",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="sequence",
                            srcfield="sequence",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.IscoutBtaskBack,
                    suffix="iscout_btask_back",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="periodnum",
                            srcfield="periodnum",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="batchid",
                            srcfield="batchid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="state",
                            srcfield="state",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="progress",
                            srcfield="progress",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="elapsed",
                            srcfield="elapsed",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="recvmsg",
                            srcfield="recvmsg",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="time",
                            srcfield="time",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="sequence",
                            srcfield="sequence",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.Autotask,
                    suffix="automated_task",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="platform",
                            srcfield="platform",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="source",
                            srcfield="source",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="batchid",
                            srcfield="batchid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="autotasktype",
                            srcfield="autotasktype",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="createtime",
                            srcfield="createtime",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmdid",
                            srcfield="cmdid",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmd",
                            srcfield="cmd",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    enable=False,  # 暂不输出此回馈数据，不回传中心
                    datatype=EStandardDataType.Autotaskback,
                    suffix="automated_task_back",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="periodnum",
                            srcfield="periodnum",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="state",
                            srcfield="state",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="recvmsg",
                            srcfield="recvmsg",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="progress",
                            srcfield="progress",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="endtime",
                            srcfield="endtime",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="source",
                            srcfield="source",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="sequence",
                            srcfield="sequence",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    enable=False,  # 暂不输出此回馈数据，不回传中心
                    datatype=EStandardDataType.AutoBatchTaskBack,
                    suffix="automated_btask_back",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="batchid",
                            srcfield="batchid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="periodnum",
                            srcfield="periodnum",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="state",
                            srcfield="state",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="recvmsg",
                            srcfield="recvmsg",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="progress",
                            srcfield="progress",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="endtime",
                            srcfield="endtime",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="source",
                            srcfield="source",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="sequence",
                            srcfield="sequence",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                    ],
                ),
            ],
        ),
        OutputPlatformConfig(
            "zplan",
            enabled=True,
            datas=[
                OutputDataConfig(
                    datatype=EStandardDataType.Task,
                    suffix="idown_task",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            # 控制端输出子任务到采集端时，不输出此字段
                            destfield="progress",
                            srcfield="progress",
                            isfiltered=True,
                        ),
                        OutputFieldConfig(
                            destfield="platform",
                            srcfield="platform",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="parenttaskid",
                            srcfield="parenttaskid",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="batchid",
                            srcfield="batchid",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="tokenid",
                            srcfield="tokenid",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="parentbatchid",
                            srcfield="parentbatchid",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="tasktype",
                            srcfield="tasktype",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="tokentype",
                            srcfield="tokentype",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="apptype",
                            srcfield="apptype",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="forcedownload",
                            srcfield="forcedownload",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="casenode",
                            srcfield="casenode",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="input",
                            srcfield="input",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="preglobaltelcode",
                            srcfield="preglobaltelcode",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="preaccount",
                            srcfield="preaccount",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="globaltelcode",
                            srcfield="globaltelcode",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="phone",
                            srcfield="phone",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="account",
                            srcfield="account",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="password",
                            srcfield="password",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="url",
                            srcfield="url",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="host",
                            srcfield="host",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cookie",
                            srcfield="cookie",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="source",
                            srcfield="source",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmdid",
                            srcfield="cmdid",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmd",
                            srcfield="cmd",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.TaskBack,
                    suffix="idown_task_back",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="state",
                            srcfield="state",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="batchcompletecount",
                            srcfield="batchcompletecount",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="recvmsg",
                            srcfield="recvmsg",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="progress",
                            srcfield="progress",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="time",
                            srcfield="time",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="result",
                            srcfield="result",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="sequence",
                            srcfield="sequence",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.TaskBatchBack,
                    suffix="idown_btask_back",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="batchid",
                            srcfield="batchid",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="state",
                            srcfield="state",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="recvmsg",
                            srcfield="recvmsg",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="time",
                            srcfield="time",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="result",
                            srcfield="result",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="progress",
                            srcfield="progress",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="sequence",
                            srcfield="sequence",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.IDownCmd,
                    suffix="idown_cmd",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="platform",
                            srcfield="platform",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmdid",
                            srcfield="cmdid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmd",
                            srcfield="cmd",
                            isrequired=True,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="source",
                            srcfield="source",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.TaskCmdBack,
                    suffix="idown_cmd_back",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="cmdid",
                            srcfield="cmdid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="clientid",
                            srcfield="clientid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="source",
                            srcfield="source",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="state",
                            srcfield="state",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="recvmsg",
                            srcfield="recvmsg",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="time",
                            srcfield="time",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="sequence",
                            srcfield="sequence",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="platform",
                            srcfield="platform",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                            isfiltered=True,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.IScanTask,
                    suffix="iscan_task",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="periodnum",
                            srcfield="periodnum",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="createtime",
                            srcfield="createtime",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="source",
                            srcfield="source",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="scantype",
                            srcfield="scantype",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmdid",
                            srcfield="cmdid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmd",
                            srcfield="cmd",
                            isrequired=True,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.IscanTaskBack,
                    suffix="iscan_task_back",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="periodnum",
                            srcfield="periodnum",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="state",
                            srcfield="state",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="recvmsg",
                            srcfield="recvmsg",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="time",
                            srcfield="time",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="sequence",
                            srcfield="sequence",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.IScoutTask,
                    suffix="iscout_task",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="periodnum",
                            srcfield="periodnum",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="platform",
                            srcfield="platform",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="createtime",
                            srcfield="createtime",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="batchid",
                            srcfield="batchid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="source",
                            srcfield="source",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="objecttype",
                            srcfield="objecttype",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="object",
                            srcfield="object",
                            isrequired=True,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmdid",
                            srcfield="cmdid",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmd",
                            srcfield="cmd",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.IscoutTaskBack,
                    suffix="iscout_task_back",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="periodnum",
                            srcfield="periodnum",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="state",
                            srcfield="state",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="progress",
                            srcfield="progress",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="elapsed",
                            srcfield="elapsed",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="recvmsg",
                            srcfield="recvmsg",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="time",
                            srcfield="time",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="sequence",
                            srcfield="sequence",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.IscoutBtaskBack,
                    suffix="iscout_btask_back",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="periodnum",
                            srcfield="periodnum",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="batchid",
                            srcfield="batchid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="state",
                            srcfield="state",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="progress",
                            srcfield="progress",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="elapsed",
                            srcfield="elapsed",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="recvmsg",
                            srcfield="recvmsg",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="time",
                            srcfield="time",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="sequence",
                            srcfield="sequence",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    datatype=EStandardDataType.Autotask,
                    suffix="automated_task",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="platform",
                            srcfield="platform",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="source",
                            srcfield="source",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="batchid",
                            srcfield="batchid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="autotasktype",
                            srcfield="autotasktype",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="createtime",
                            srcfield="createtime",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmdid",
                            srcfield="cmdid",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="cmd",
                            srcfield="cmd",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    enable=False,  # 暂不输出此回馈数据，不回传中心
                    datatype=EStandardDataType.Autotaskback,
                    suffix="automated_task_back",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="periodnum",
                            srcfield="periodnum",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="state",
                            srcfield="state",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="recvmsg",
                            srcfield="recvmsg",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="progress",
                            srcfield="progress",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="endtime",
                            srcfield="endtime",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="source",
                            srcfield="source",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="sequence",
                            srcfield="sequence",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                    ],
                ),
                OutputDataConfig(
                    enable=False,  # 暂不输出此回馈数据，不回传中心
                    datatype=EStandardDataType.AutoBatchTaskBack,
                    suffix="automated_btask_back",
                    dataname=EDataName.Guid,
                    fields=[
                        OutputFieldConfig(
                            destfield="taskid",
                            srcfield="taskid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="batchid",
                            srcfield="batchid",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="periodnum",
                            srcfield="periodnum",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="state",
                            srcfield="state",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="recvmsg",
                            srcfield="recvmsg",
                            isrequired=False,
                            crypto=ECrypto.Base64,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="progress",
                            srcfield="progress",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="endtime",
                            srcfield="endtime",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="source",
                            srcfield="source",
                            isrequired=False,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                        OutputFieldConfig(
                            destfield="sequence",
                            srcfield="sequence",
                            isrequired=True,
                            crypto=ECrypto.Null,
                            dftval=None,
                        ),
                    ],
                ),
            ],
        ),
    ]
)
