Example #1
0
        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));
        }
Example #2
0
        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;
     }
 }
Example #4
0
        public string GetSignature()
        {
            //String plain = string.Format("jsapi_ticket={0}&noncestr={1}&timestamp={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;
            }
        }
Example #5
0
        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);
        }
Example #8
0
        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;
        }
Example #10
0
        /// <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;
     }
 }
Example #12
0
 /// <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;
            }
        }
Example #14
0
 /// <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);
        }
Example #16
0
        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);
        }
Example #18
0
        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);
        }
Example #20
0
 /// <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;
     }
 }
Example #21
0
        public IDictionary <string, string> GetParameters()
        {
            var parameters = new YunDictionary
            {
                { "username", this.UserName },
                { "password", TopUtils.EncryptAes(Password, AppSecret) },
                { "ip", this.Ip }
            };

            return(parameters);
        }
Example #22
0
        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);
        }
Example #24
0
 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);
        }
Example #27
0
 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);
        }
Example #29
0
        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));
        }
Example #30
0
        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);
        }