/// <summary>
        /// 根据消息获得具体的K2操作
        /// </summary>
        /// <param name="oType">操作类型</param>
        /// <param name="content">调用k2服务的参数</param>
        /// <returns></returns>
        public IK2Command GetCommand(string oType, string content)
        {
            IK2Command command = null;
            var        msgObj  = JsonConvert.DeserializeObject(content);
            var        jObject = msgObj as Newtonsoft.Json.Linq.JObject;

            if (jObject != null)
            {
                switch (oType)
                {
                case "start":
                    command = new StartProcessCommand();
                    if (jObject != null)
                    {
                        var apiKey       = getJsonStringProperty(jObject, "apiKey");
                        var folio        = getJsonStringProperty(jObject, "folio");
                        var jsonData     = getJsonStringProperty(jObject, "jsonData");
                        var ObjectId     = getJsonStringProperty(jObject, "ObjectId");
                        var processCode  = getJsonStringProperty(jObject, "processCode");
                        var businessType = getJsonStringProperty(jObject, "businessType");
                        var loginId      = string.IsNullOrEmpty(getJsonStringProperty(jObject, "loginId")) ? 0 : int.Parse(getJsonStringProperty(jObject, "loginId"));

                        ((StartProcessCommand)command).ApiKey       = apiKey;
                        ((StartProcessCommand)command).Folio        = folio;
                        ((StartProcessCommand)command).JsonData     = jsonData;
                        ((StartProcessCommand)command).ObjectId     = ObjectId;
                        ((StartProcessCommand)command).ProcessCode  = processCode;
                        ((StartProcessCommand)command).LoginId      = loginId;
                        ((StartProcessCommand)command).BusinessType = businessType;
                    }
                    break;

                case "approval":
                    command = new ApprovalProcessCommand();
                    if (jObject != null)
                    {
                        var apiKey       = getJsonStringProperty(jObject, "apiKey");
                        var actionString = getJsonStringProperty(jObject, "actionString");
                        var jsonData     = getJsonStringProperty(jObject, "jsonData");
                        var memo         = getJsonStringProperty(jObject, "memo");
                        var processCode  = getJsonStringProperty(jObject, "processCode");
                        var sn           = getJsonStringProperty(jObject, "sn");
                        var businessType = getJsonStringProperty(jObject, "businessType");
                        var loginId      = string.IsNullOrEmpty(getJsonStringProperty(jObject, "loginId")) ? 0 : int.Parse(getJsonStringProperty(jObject, "loginId"));

                        ((ApprovalProcessCommand)command).ApiKey       = apiKey;
                        ((ApprovalProcessCommand)command).ActionString = actionString;
                        ((ApprovalProcessCommand)command).JsonData     = jsonData;
                        ((ApprovalProcessCommand)command).Memo         = memo;
                        ((ApprovalProcessCommand)command).ProcessCode  = processCode;
                        ((ApprovalProcessCommand)command).LoginId      = loginId;
                        ((ApprovalProcessCommand)command).SN           = sn;
                        ((ApprovalProcessCommand)command).BusinessType = businessType;
                    }
                    break;

                default:
                    break;
                }
            }

            return(command);
        }
        /// <summary>
        /// 根据消息获得具体的K2操作
        /// </summary>
        /// <param name="oType">操作类型</param>
        /// <param name="content">调用k2服务的参数</param>
        /// <returns></returns>
        public IK2Command GetCommand(string oType,string content)
        {
            IK2Command command = null;
            var msgObj = JsonConvert.DeserializeObject(content);
            var jObject = msgObj as Newtonsoft.Json.Linq.JObject;

            if (jObject != null)
            {
                switch (oType)
                {
                    case "start":
                        command = new StartProcessCommand();
                        if (jObject != null)
                        {
                            var apiKey = getJsonStringProperty(jObject, "apiKey");
                            var folio = getJsonStringProperty(jObject, "folio");
                            var jsonData = getJsonStringProperty(jObject, "jsonData");
                            var ObjectId = getJsonStringProperty(jObject, "ObjectId");
                            var processCode = getJsonStringProperty(jObject, "processCode");
                            var businessType = getJsonStringProperty(jObject, "businessType");
                            var loginId = string.IsNullOrEmpty(getJsonStringProperty(jObject, "loginId")) ? 0 : int.Parse(getJsonStringProperty(jObject, "loginId"));

                            ((StartProcessCommand)command).ApiKey = apiKey;
                            ((StartProcessCommand)command).Folio = folio;
                            ((StartProcessCommand)command).JsonData = jsonData;
                            ((StartProcessCommand)command).ObjectId = ObjectId;
                            ((StartProcessCommand)command).ProcessCode = processCode;
                            ((StartProcessCommand)command).LoginId = loginId;
                            ((StartProcessCommand)command).BusinessType = businessType;
                        }
                        break;
                    case "approval":
                        command = new ApprovalProcessCommand();
                        if (jObject != null)
                        {
                            var apiKey = getJsonStringProperty(jObject, "apiKey");
                            var actionString = getJsonStringProperty(jObject, "actionString");
                            var jsonData = getJsonStringProperty(jObject, "jsonData");
                            var memo = getJsonStringProperty(jObject, "memo");
                            var processCode = getJsonStringProperty(jObject, "processCode");
                            var sn = getJsonStringProperty(jObject, "sn");
                            var businessType = getJsonStringProperty(jObject, "businessType");
                            var loginId = string.IsNullOrEmpty(getJsonStringProperty(jObject, "loginId")) ? 0 : int.Parse(getJsonStringProperty(jObject, "loginId"));

                            ((ApprovalProcessCommand)command).ApiKey = apiKey;
                            ((ApprovalProcessCommand)command).ActionString = actionString;
                            ((ApprovalProcessCommand)command).JsonData = jsonData;
                            ((ApprovalProcessCommand)command).Memo = memo;
                            ((ApprovalProcessCommand)command).ProcessCode = processCode;
                            ((ApprovalProcessCommand)command).LoginId = loginId;
                            ((ApprovalProcessCommand)command).SN = sn;
                            ((ApprovalProcessCommand)command).BusinessType = businessType;
                        }
                        break;

                    default:
                        break;
                }
            }

            return command;
        }