public T Execute <T>(AliSdk.Top.Api.Request.ITopRequest request, AliSdk.Top.Api.parser.ITopParser <T> parser, bool signature, string access_token) { // 添加协议级请求参数 TopDictionary txtParams = new TopDictionary(request.GetParameters()); txtParams.Add("timestamp", DateTime.Now); //是否需要用户授权令牌 if (!string.IsNullOrEmpty(access_token)) { txtParams.Add("access_token", access_token); } //添加签名参数 string urlPath = string.Format("{0}/{1}/{2}/{3}/{4}", FORMAT, VERSION, NAMESPACE, request.GetApiName(), this.appKey); if (signature) { txtParams.Add("_aop_signature", TopUtils.SignTopRequest(urlPath, txtParams, appSecret)); } //url string serverUrl = string.Format("{0}/{1}", this.url, urlPath); string response; response = WebUtils.DoPost(serverUrl, txtParams); return(parser.Parse(response)); }
public static object DecodeMsg(String msg) { IDictionary dict = TopUtils.ParseJson(msg); if (dict != null && dict.Count > 0) { IEnumerator em = dict.Keys.GetEnumerator(); em.MoveNext(); IDictionary data = dict[em.Current] as IDictionary; if (data != null) { TopJsonParser tjp = new TopJsonParser(); ITopReader reader = new TopJsonReader(data); //if (dict.Contains(NOTIFY_ITEM)) //{ // return tjp.FromJson(reader, typeof(NotifyItem)); //} if (dict.Contains(NOTIFY_TRADE)) { return(tjp.FromJson(reader, typeof(NotifyTrade))); } //else if (dict.Contains(NOTIFY_REFUND)) //{ // return tjp.FromJson(reader, typeof(NotifyRefund)); //} } } return(null); }
/// <summary> /// 发货处理 /// 所有项均为必填项 /// </summary> /// <param name="tid"></param> /// <param name="order_type"></param> /// <param name="company_code"></param> /// <param name="out_sid"></param> /// <param name="seller_name"></param> /// <param name="seller_area_id"></param> /// <param name="seller_address"></param> /// <param name="seller_zip"></param> /// <param name="seller_phone"></param> /// <param name="seller_mobile"></param> /// <param name="memo"></param> /// <returns></returns> public static bool DeliverySend(string session, ShippingReq shippingreq) { try { TopDictionary paramsTable = new TopDictionary(); paramsTable.Add("method", "taobao.delivery.send"); paramsTable.Add("fields", "is_success"); paramsTable.Add("tid", shippingreq.Tid); paramsTable.Add("order_type", shippingreq.OrderType); paramsTable.Add("company_code", shippingreq.CompanyCode); paramsTable.Add("out_sid", shippingreq.OutSid); paramsTable.Add("seller_name", shippingreq.SellerName); paramsTable.Add("seller_area_id", shippingreq.SellerAreaId); paramsTable.Add("seller_address", shippingreq.SellerAddress); paramsTable.Add("seller_zip", shippingreq.SellerZip); paramsTable.Add("seller_phone", shippingreq.SellerPhone); paramsTable.Add("seller_mobile", shippingreq.SellerMobile); paramsTable.Add("memo", shippingreq.Memo); paramsTable.Add("session", session); return(TopUtils.DeserializeObject <bool>(TopUtils.InvokeAPI(paramsTable, APIInvokeType.Private))); } catch (System.Exception ex) { throw ex; } }
public string GetSignature() { //String plain = string.Format("jsapi_ticket={0}&noncestr={1}×tamp={2}&url={3}", ticket, nonceStr, timeStamp, url); string randomStr = DingTalkSignatureUtil.GetRandomStr(10); string timeStamp = TopUtils.GetCurrentTimeMillis().ToString(); Dictionary <string, object> dic = new Dictionary <string, object>(); dic.Add(Constants.JSAPI_TICKET, _cacheHelper.Get(Constants.JSAPI_TICKET).ToString()); dic.Add(Constants.NONCESTR, randomStr); dic.Add(Constants.TIMESTAMP, timeStamp); dic.Add(Constants.URL, AppSettings.Get(Constants.URL)); _cacheHelper.Add(Constants.NONCESTR, randomStr); _cacheHelper.Add(Constants.TIMESTAMP, timeStamp); try { byte[] bytes = Encoding.UTF8.GetBytes(ConvertDictionaryToString(dic)); byte[] digest = SHA1.Create().ComputeHash(bytes); string digestBytesString = BitConverter.ToString(digest).Replace("-", ""); _cacheHelper.Add(Constants.SIGNATURE, digestBytesString.ToLower()); return(digestBytesString.ToLower()); } catch (Exception e) { throw; } }
public void Validate(NameValueCollection parameters) { ////appid验证 string appid = parameters.ValidateRequired(TopClient.API_KEY); if (appid != APPID) { throw new TopException(102, TopClient.API_KEY + " error"); } //允许客户端请求时间误差为6分钟。 ulong timestamp = ulong.Parse(parameters.ValidateRequired(TopClient.TIMESTAMP)); DateTime dt = TopUtils.UnixTimeStampToDateTime(timestamp); double totalMinutes = (DateTime.Now - dt).TotalMinutes; if (Math.Abs(totalMinutes) > 6) { throw new TopException(102, TopClient.TIMESTAMP + " error"); } //签名验证 string psign = parameters.ValidateRequired(TopClient.SIGN); var dic = parameters.ToDictionary(); dic.Remove(TopClient.SIGN); string sign = TopUtils.SignTopRequest(dic, APPSECRET); if (!string.Equals(sign, psign, StringComparison.OrdinalIgnoreCase)) { throw new TopException(102, TopClient.SIGN + " error"); } }
public override IDictionary <string, string> GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("add_extidlist", TopUtils.ObjectToJson(this.AddExtidlist)); parameters.Add("add_useridlist", TopUtils.ObjectToJson(this.AddUseridlist)); parameters.Add("chatBannedType", this.ChatBannedType); parameters.Add("chatid", this.Chatid); parameters.Add("del_extidlist", TopUtils.ObjectToJson(this.DelExtidlist)); parameters.Add("del_useridlist", TopUtils.ObjectToJson(this.DelUseridlist)); parameters.Add("icon", this.Icon); parameters.Add("isBan", this.IsBan); parameters.Add("managementType", this.ManagementType); parameters.Add("mentionAllAuthority", this.MentionAllAuthority); parameters.Add("name", this.Name); parameters.Add("owner", this.Owner); parameters.Add("ownerType", this.OwnerType); parameters.Add("searchable", this.Searchable); parameters.Add("showHistoryType", this.ShowHistoryType); parameters.Add("validationType", this.ValidationType); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return(parameters); }
public override IDictionary <string, string> GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("department", TopUtils.ObjectToJson(this.Department)); parameters.Add("email", this.Email); parameters.Add("extattr", this.Extattr); parameters.Add("hiredDate", this.HiredDate); parameters.Add("isHide", this.IsHide); parameters.Add("isSenior", this.IsSenior); parameters.Add("jobnumber", this.Jobnumber); parameters.Add("lang", this.Lang); parameters.Add("managerUserid", this.ManagerUserid); parameters.Add("mobile", this.Mobile); parameters.Add("name", this.Name); parameters.Add("orderInDepts", this.OrderInDepts); parameters.Add("orgEmail", this.OrgEmail); parameters.Add("position", this.Position); parameters.Add("remark", this.Remark); parameters.Add("tel", this.Tel); parameters.Add("userid", this.Userid); parameters.Add("workPlace", this.WorkPlace); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return(parameters); }
public IDictionary <string, string> GetParameters() { var parameters = new YunDictionary { { "username", UserName }, { "password", TopUtils.EncryptAes(Password, AppSecret) }, { "ip", Ip }, { "registertype", RegisterType }, { "email", Email }, { "mobile", Mobile }, { "sitename", SiteName }, { "systemlevel", SystemLevel }, { "shopid", ShopId }, { "companyid", CompanyId }, { "idcard", IdCard }, { "province", Province }, { "city", City }, { "area", Area }, { "address", Address }, { "realname", RealName }, { "usertype", UserType }, { "logintype", LoginType }, { "clientinfo", ClientInfo }, { "deviceid", DeviceId } }; return(parameters); }
/// <summary> /// 钉钉加密解密 /// </summary> /// <param name="Msignature"></param> /// <param name="Mtimestamp"></param> /// <param name="Mnonce"></param> /// <param name="MencryptStr"></param> public string DingTalkCrypto(string Msignature, string Mtimestamp, string Mnonce, string MencryptStr) { DingTalkCrypt dingTalk = new DingTalkCrypt(token, aes_key, corpid); string PlainText = string.Empty; dingTalk.DecryptMsg(Msignature, Mtimestamp, Mnonce, MencryptStr, ref PlainText); Hashtable tb = (Hashtable)JsonConvert.DeserializeObject(PlainText, typeof(Hashtable)); string EventType = tb["EventType"].ToString(); //switch (EventType) //{ // default: // break; //} CallbackEvent(tb); string timestamp = TopUtils.GetCurrentTimeMillis().ToString(); string encrypt = ""; string signature = ""; string res = "success";//传递的消息体明文 dingTalk = new DingTalkCrypt(token, aes_key, corpid); dingTalk.EncryptMsg(res, timestamp, Mnonce, ref encrypt, ref signature); Hashtable jsonMap = new Hashtable { {"msg_signature", signature}, {"encrypt", encrypt}, {"timeStamp", timestamp}, {"nonce", Mnonce} }; string result = JsonConvert.SerializeObject(jsonMap); LogHelper.Log("ReceiveCallbackSerivce result: " + result); return result; }
/// <summary> /// 设置空缓存 /// </summary> /// <param name="secretContext"></param> private void SetNullCache(SecretContext secretContext) { long currentTime = TopUtils.GetCurrentTimeMillis(); secretContext.InvalidTime = currentTime + (DEFAULT_INTERVAL * 1000); secretContext.MaxInvalidTime = currentTime + (DEFAULT_MAX_INTERVAL * 1000); }
/// <summary> /// 批量查询物流订单,返回详细信息 /// 除fields为必填项之外其余各项均为选填项 /// </summary> /// <param name="fields"></param> /// <param name="tid"></param> /// <param name="buyer_nick"></param> /// <param name="status"></param> /// <param name="seller_confirm"></param> /// <param name="receiver_name"></param> /// <param name="start_created"></param> /// <param name="end_created"></param> /// <param name="freight_payer"></param> /// <param name="type"></param> /// <param name="page_no"></param> /// <param name="page_size"></param> /// <returns></returns> public static ShippingRsp LogisticsOrdersDetailGet(string session, ShippingReq shippingreq) { try { TopDictionary paramsTable = new TopDictionary(); paramsTable.Add("method", "taobao.logistics.orders.detail.get"); paramsTable.Add("fields", "tid,seller_nick,buyer_nick,delivery_start,delivery_end,out_sid,item_title,receiver_name,receiver_phone,receiver_mobile,receiver_location,status,type,freight_payer,seller_confirm,company_name"); paramsTable.Add("tid", shippingreq.Tid); paramsTable.Add("buyer_nick", shippingreq.BuyerNick); paramsTable.Add("status", shippingreq.Status); paramsTable.Add("seller_confirm", shippingreq.SellerConfirm); paramsTable.Add("receiver_name", shippingreq.ReceiverName); paramsTable.Add("start_created", shippingreq.StartCreated); paramsTable.Add("end_created", shippingreq.EndCreated); paramsTable.Add("freight_payer", shippingreq.FreightPayer); paramsTable.Add("type", shippingreq.Type); paramsTable.Add("page_no", shippingreq.PageNo); paramsTable.Add("page_size", shippingreq.PageSize); paramsTable.Add("session", session); return(TopUtils.DeserializeObject <ShippingRsp>(TopUtils.InvokeAPI(paramsTable, APIInvokeType.Private))); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// 修改邮费模板 /// </summary> public static ItemRsp PostageUpdate(string session, string name, string memo, string postage_id, string post_price, string post_increase, string express_price, string express_increase, string ems_price, string ems_increase, string Postage_mode_ids, string postage_mode_types, string postage_mode_dests, string postage_mode_prices, string postage_mode_increases, string postage_mode_optTypes) { try { TopDictionary paramsTable = new TopDictionary(); paramsTable.Add("method", "taobao.postage.update"); paramsTable.Add("name", name); paramsTable.Add("memo", memo); paramsTable.Add("postage_id", postage_id); paramsTable.Add("post_price", post_price); paramsTable.Add("post_increase", post_increase); paramsTable.Add("express_price", express_price); paramsTable.Add("express_increase", express_increase); paramsTable.Add("ems_price", ems_price); paramsTable.Add("ems_increase", ems_increase); paramsTable.Add("postage_mode_ids", Postage_mode_ids); paramsTable.Add("postage_mode_types", postage_mode_types); paramsTable.Add("postage_mode_dests", postage_mode_dests); paramsTable.Add("postage_mode_prices", postage_mode_prices); paramsTable.Add("postage_mode_increases", postage_mode_increases); paramsTable.Add("postage_mode_optTypes", postage_mode_optTypes); paramsTable.Add("session", session); return(TopUtils.DeserializeObject <ItemRsp>(TopUtils.InvokeAPI(paramsTable, APIInvokeType.Private))); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// taobao.itemprops.get(获取标准商品类目属性) /// cid 必需,不能返回propvalues里的is_parent字段 /// </summary> public static ItemCatRsp ItemPropsGet(ItemCatReq itemcatrep) { try { TopDictionary paramsTable = new TopDictionary(); paramsTable.Add("method", "taobao.itemprops.get"); paramsTable.Add("fields", "pid,name,status,sort_order,parent_pid,parent_vid,must,multi,is_key_prop,is_sale_prop,is_color_prop,is_item_prop,prop_values,is_allow_alias,is_enum_prop,is_input_prop,child_template"); paramsTable.Add("cid", itemcatrep.Cid); paramsTable.Add("pid", itemcatrep.pid); paramsTable.Add("parent_pid", itemcatrep.ParentCid); paramsTable.Add("is_key_prop", itemcatrep.is_key_prop); paramsTable.Add("is_sale_prop", itemcatrep.is_sale_prop); paramsTable.Add("is_color_prop", itemcatrep.is_color_prop); paramsTable.Add("is_enum_prop", itemcatrep.is_enum_prop); paramsTable.Add("is_input_prop", itemcatrep.is_input_prop); paramsTable.Add("is_item_prop", itemcatrep.is_item_prop); paramsTable.Add("datetime", itemcatrep.datetime); return(TopUtils.DeserializeObject <ItemCatRsp>(TopUtils.InvokeAPI(paramsTable, APIInvokeType.Public))); } catch (System.Exception ex) { throw ex; } }
/// <summary> /// 得到当前会话用户库存中的商品列表 /// </summary> public static ItemRsp ItemsInventoryGet(string session, ItemReq itemreq) { try { TopDictionary paramsTable = new TopDictionary(); paramsTable.Add("method", "taobao.items.inventory.get"); paramsTable.Add("fields", "approve_status,iid,num_iid,title,nick,type,cid,pic_url,num,props,valid_thru,list_time,price,has_discount,has_invoice,has_warranty,has_showcase,modified,delist_time,postage_id,seller_cids,outer_id"); paramsTable.Add("q", itemreq.Q); paramsTable.Add("cid", itemreq.Cid); paramsTable.Add("page_no", itemreq.PageNo); paramsTable.Add("page_size", itemreq.PageSize); paramsTable.Add("order_by", itemreq.OrderBy); paramsTable.Add("banner", itemreq.Banner); paramsTable.Add("seller_cids", itemreq.SellerCids); paramsTable.Add("has_discount", itemreq.HasDiscount); paramsTable.Add("is_taobao", itemreq.IsTaobao); paramsTable.Add("has_showcase", itemreq.HasShowcase); paramsTable.Add("is_ex", itemreq.IsExternal); paramsTable.Add("session", session); return(TopUtils.DeserializeObject <ItemRsp>(TopUtils.InvokeAPI(paramsTable, APIInvokeType.Private))); } catch (System.Exception ex) { throw ex; } }
public IDictionary <string, string> GetParameters() { var parameters = new YunDictionary { { "username", UserName }, { "password", TopUtils.EncryptAes(Password, AppSecret) }, { "ip", Ip }, { "description", Description }, { "displayname", DisplayName }, { "higheruserid", HigherUserId }, { "jobid", JobId }, { "idcard", IdCard }, { "entrytime", EntryTime }, { "jobnum", JobNum }, { "othername", OtherName }, { "phone", Phone }, { "email", Email }, { "plane", Plane }, { "workplace", WorkPlace }, { "organizationid", OrganizationId }, { "isfemale", IsFemale }, { "roleids", RoleIds } }; return(parameters); }
public IDictionary <string, string> GetParameters() { var parameters = new YunDictionary { { "password", Password.Length == 32 ? Password : TopUtils.EncryptAes(Password, AppSecret) }, }; return(parameters); }
public IDictionary <string, string> GetParameters() { var parameters = new YunDictionary { { "id", Id }, { "password", TopUtils.EncryptAes(Password, AppSecret) }, }; return(parameters); }
public IDictionary <string, string> GetParameters() { var parameters = new YunDictionary { { "prepaidcardid", PrepaidCardId }, { "cardpassword", TopUtils.EncryptAes(CardPassword, AppSecret) } }; return(parameters); }
public IDictionary <string, string> GetParameters() { var parameters = new YunDictionary { { "cardnumber", CardNumber }, { "cardpassword", TopUtils.EncryptAes(CardPassword, AppSecret) } }; return(parameters); }
/// <summary> /// 添加一个商品 /// </summary> public static ItemRsp ItemAdd(string session, ItemReq itemreq) { try { TopDictionary paramsTable = new TopDictionary(); paramsTable.Add("method", "taobao.item.add"); paramsTable.Add("num", itemreq.Num); paramsTable.Add("price", itemreq.Price); paramsTable.Add("type", itemreq.Type); paramsTable.Add("stuff_status", itemreq.StuffStatus); paramsTable.Add("title", itemreq.Title); paramsTable.Add("desc", itemreq.Desc); if (itemreq.Location != null) { paramsTable.Add("location.state", itemreq.Location.State); paramsTable.Add("location.city", itemreq.Location.City); } paramsTable.Add("approve_status", itemreq.ApproveStatus); paramsTable.Add("cid", itemreq.Cid); paramsTable.Add("props", itemreq.Props); paramsTable.Add("freight_payer", itemreq.FreightPayer); paramsTable.Add("valid_thru", itemreq.ValidThru); paramsTable.Add("has_invoice", itemreq.HasInvoice); paramsTable.Add("has_warranty", itemreq.HasWarranty); paramsTable.Add("auto_repost", itemreq.AutoRepost); paramsTable.Add("has_showcase", itemreq.HasShowcase); paramsTable.Add("seller_cids", itemreq.SellerCids); paramsTable.Add("has_discount", itemreq.HasDiscount); paramsTable.Add("post_fee", itemreq.PostFee); paramsTable.Add("express_fee", itemreq.ExpressFee); paramsTable.Add("ems_fee", itemreq.EmsFee); paramsTable.Add("list_time", itemreq.ListTime); paramsTable.Add("increment", itemreq.Increment); paramsTable.Add("image", itemreq.Image); paramsTable.Add("postage_id", itemreq.PostageId); paramsTable.Add("auction_point", itemreq.AuctionPoint); paramsTable.Add("property_alias", itemreq.PropAlias); paramsTable.Add("input_pids", itemreq.InputPids); paramsTable.Add("input_str", itemreq.InputStrs); paramsTable.Add("sku_properties", itemreq.SkuProperties); paramsTable.Add("sku_quantities", itemreq.SkuQuantities); paramsTable.Add("sku_prices", itemreq.Skuprices); paramsTable.Add("sku_outer_ids", itemreq.SkuOuterIds); paramsTable.Add("lang", itemreq.Lang); paramsTable.Add("outer_id", itemreq.OuterId); paramsTable.Add("product_id", itemreq.ProductId); paramsTable.Add("pic_path", itemreq.PicUrl); paramsTable.Add("session", session); return(TopUtils.DeserializeObject <ItemRsp>(TopUtils.InvokeAPI(paramsTable, APIInvokeType.Private))); } catch (System.Exception ex) { throw ex; } }
public IDictionary <string, string> GetParameters() { var parameters = new YunDictionary { { "username", this.UserName }, { "password", TopUtils.EncryptAes(Password, AppSecret) }, { "ip", this.Ip } }; return(parameters); }
private void DoUploadBiz() { long uploadTime = TopUtils.GetCurrentTimeMillis() + FlushInterval; while (true) { try { Thread.Sleep(SleepTime); IDictionary <string, Counter> appUserCounterMap = SecurityCounter.GetUserCounter(topClient.appKey); if (TopUtils.GetCurrentTimeMillis() >= uploadTime || (appUserCounterMap.Count * 4 > 65536)) { StringBuilder counterBuilder = new StringBuilder(); IDictionary <string, Counter> cloneAppUserCounter = SecurityCounter.CloneUserCounter(topClient.appKey); SecurityCounter.CleanUserCounter(topClient.appKey); int count = 0; foreach (KeyValuePair <string, Counter> currentPair in cloneAppUserCounter) { Counter counter = currentPair.Value; if (counterBuilder.Length > 0) { counterBuilder.Append(";"); } counterBuilder.Append(currentPair.Key); GenerateCounter(counterBuilder, counter); if ((++count) % 100 == 0) { DoUpload(counterBuilder.ToString(), AppUserSecretType); counterBuilder = new StringBuilder(); } } if (counterBuilder.Length > 0) { DoUpload(counterBuilder.ToString(), AppUserSecretType); counterBuilder = new StringBuilder(); } Counter appCounter = SecurityCounter.GetAppCounter(topClient.appKey); counterBuilder.Append(SecurityCore.GetAppUserSecretCache().Count); GenerateCounter(counterBuilder, appCounter); appCounter.Reset(); long uploadInterval = DoUpload(counterBuilder.ToString(), AppSecretType); uploadTime = TopUtils.GetCurrentTimeMillis() + uploadInterval; } } catch (Exception e) { Log.Error(string.Format("flushSecretApiReporter error: {0}", e.Message)); } } }
public override IDictionary <string, string> GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("useridlist", TopUtils.ObjectToJson(this.Useridlist)); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return(parameters); }
public static T ValidateJson <T>(this NameValueCollection parameters, string name) where T : class { try { return(TopUtils.JsonParser <T>(parameters[name])); } catch { throw new TopException(ERR_CODE_PARAM_INVALID, string.Format(ERR_MSG_PARAM_INVALID, name)); } }
public override IDictionary <string, string> GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("auth_corpid", this.AuthCorpid); parameters.Add("ip_whitelist", TopUtils.ObjectToJson(this.IpWhitelist)); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return(parameters); }
public override IDictionary <string, string> GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("app_id", this.AppId); parameters.Add("corpid_list", TopUtils.ObjectToJson(this.CorpidList)); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return(parameters); }
public BaseDingTalkService() { corpid = AppSettings.Get("corpid"); corpsecret = AppSettings.Get("corpsecret"); agentid = AppSettings.Get("agentid"); appkey = AppSettings.Get("appkey"); appsecret = AppSettings.Get("appsecret"); url = AppSettings.Get("url"); registerurl = AppSettings.Get("registerurl"); timestamp = TopUtils.GetCurrentTimeMillis().ToString(); noncestr = DingTalkSignatureUtil.GetRandomStr(10); }
public override IDictionary <string, string> GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("agentId", this.AgentId); parameters.Add("ruleIdList", TopUtils.ObjectToJson(this.RuleIdList)); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return(parameters); }
public IStreamImplementation GetMsgStreamImpl(TopCometStreamRequest cometReq) { if (cometReq != null) { cometReq.GetConnectListener().OnBeforeConnect(); } TopDictionary param = new TopDictionary(); param.Add(StreamConstants.PARAM_APPKEY, cometReq.GetAppkey()); if (!String.IsNullOrEmpty(cometReq.GetUserId())) { param.Add(StreamConstants.PARAM_USERID, cometReq.GetUserId()); } if (!String.IsNullOrEmpty(cometReq.GetConnectId())) { param.Add(StreamConstants.PARAM_CONNECT_ID, cometReq.GetConnectId()); } param.Add(StreamConstants.PARAM_TIMESTAMP, DateTime.Now.Ticks); IDictionary <string, string> otherParam = cometReq.GetOtherParam(); if (otherParam != null && otherParam.Count > 0) { IEnumerator <KeyValuePair <string, string> > kvps = otherParam.GetEnumerator(); while (kvps.MoveNext()) { param.Add(kvps.Current.Key, kvps.Current.Value); } } string sign = null; try { sign = TopUtils.SignTopRequest(param, cometReq.GetSecret(), true); if (String.IsNullOrEmpty(sign)) { throw new Exception("Get sign error"); } } catch (Exception e) { throw e; } param.Add(StreamConstants.PARAM_SIGN, sign); HttpClient httpClient = new HttpClient(conf, param); HttpResponse response; response = httpClient.Post(); return(currentStreamImpl = new MessageStreamImpl(msgConsumeFactory, response, cometMessageListener, this)); }
public override IDictionary <string, string> GetParameters() { TopDictionary parameters = new TopDictionary(); parameters.Add("checkDateFrom", this.CheckDateFrom); parameters.Add("checkDateTo", this.CheckDateTo); parameters.Add("userIds", TopUtils.ObjectToJson(this.UserIds)); if (this.otherParams != null) { parameters.AddAll(this.otherParams); } return(parameters); }