public JsonResult AsyncMessage()
        {
            Hashtable hash = new Hashtable();
            IEnumerable <WX_Message> Messages = WX_MessageService.instance().GetEnumByCID(UserDateTicket.Company.ID);

            foreach (var item in Messages)
            {
                StringBuilder ArticlesJson = new StringBuilder();

                if (string.IsNullOrEmpty(item.media_id))
                {
                    ArticlesJson.Append(WXApiJson.GetArticlesJsonStr(item.ID));
                    string msg = WXApi.Material_add_news(GetToken(), ArticlesJson.ToString());

                    if (Utils.GetJsonValue(msg, "errcode") != "")
                    {
                        hash["code"]    = 0;
                        hash["errcode"] = Utils.GetJsonValue(msg, "errcode");
                        hash["errmsg"]  = Utils.GetJsonValue(msg, "errmsg");
                        return(Json(hash, JsonRequestBehavior.AllowGet));
                    }
                    string media_id = Utils.GetJsonValue(msg, "media_id");

                    string backInfo = WXApi.Material_get(GetToken(), "{\"media_id\":\"" + media_id + "\"}");
                    if (Utils.GetJsonValue(backInfo, "errcode") != "")
                    {
                        hash["code"]    = 0;
                        hash["errcode"] = Utils.GetJsonValue(msg, "errcode");
                        hash["errmsg"]  = Utils.GetJsonValue(msg, "errmsg");
                        return(Json(hash, JsonRequestBehavior.AllowGet));
                    }

                    var serializer = JsonSerializer.Create();
                    var obj        = serializer.Deserialize(new JsonTextReader(new StringReader(backInfo))) as JObject;
                    var data       = obj["news_item"];
                    for (int i = 0; i < item.Groups.Count(); i++)
                    {
                        if (string.IsNullOrEmpty(item.Groups.ToList()[i].URL))
                        {
                            item.Groups.ToList()[i].URL = JsonHelper.GetJsonValue(data[i].ToString(), "url");
                            WX_MessageGroupService.instance().Update(item.Groups.ToList()[i]);
                        }
                    }
                    item.media_id = media_id;
                    WX_MessageService.instance().Update(item);
                }
            }
            hash["code"] = 1;
            return(Json(hash, JsonRequestBehavior.AllowGet));

            //if (Utils.GetJsonValue(msg, "errcode") == "0")
            //{
            //    return Json(new { code = 1, msg = "" }, JsonRequestBehavior.AllowGet);// "{\"code\":1,\"msg\":\"\"}";
            //}
            //else
            //{
            //    return Json(new
            //    {
            //        code = 0,
            //        msg = "errcode:" +
            //            Utils.GetJsonValue(msg, "errcode") +
            //            ", errmsg:" + Utils.GetJsonValue(msg, "errmsg")
            //    }, JsonRequestBehavior.AllowGet);
            //}
        }