void LoadParams() { JdUnion_ParamModel jp = new JdUnion_ParamModel(); if (string.IsNullOrEmpty(Module.RequestModel)) { return; } string json = new JdUnion_GlbObject().getJsonContent(Module.RequestModel); if (json == null) { return; } JdUnion_ParamModel ret = jp.GetFromJson <JdUnion_ParamModel>(json); if (ret == null) { throw new Exception(string.Format("加载{0}模板错误!", jp.name)); } this.params_360buy.Clear(); ret.Params.ForEach(a => { string txt = a.ToJson(); this.params_360buy.Add(a.name, txt); }); defaultRequestJson = this.Buy360String(this.params_360buy); }
public XmlDocument getRequestSchema() { if (this.Module.RequestSchema == null) { this.Module.RequestSchema = ""; } string xmlreq = JdUnion_GlbObject.getText(this.Module.RequestSchema); if (xmlreq == null || xmlreq.Trim().Length == 0)//如果获取不到,获取过滤请求 { xmlreq = JdUnion_GlbObject.getText("Schema\\System.Bussiness.Item.Model.xml", "", ""); } if (xmlreq == null || xmlreq.Trim().Length == 0) { return(null); } XmlDocument ret = new XmlDocument(); try { ret.LoadXml(xmlreq); return(ret); } catch { return(null); } }
static JdGoodsQueryClass() { AllElitesData = new Dictionary <int, EliteDataClass>(); List <int> list = JdUnion_GlbObject.getElites(); foreach (int elite in list) { AllElitesData.Add(elite, new EliteDataClass(elite)); } }
public bool getXmlData(XmlNode config, ref XmlDocument doc, ref XmlDocument xmlschemaDoc, ref string msg, XmlNode condition = null) { string strDefaultName = "DataTable1"; string strRootName = "NewDataSet"; string ret = ""; string strName = XmlUtil.GetSubNodeText(config, "module/@name"); string strReqJson = null; XmlNode xmlreq = config.SelectSingleNode("req"); if (condition == null) { if (xmlreq != null) { condition = xmlreq; } } Assembly assem = Assembly.GetExecutingAssembly(); try { List <int> list = JdUnion_GlbObject.getElites(); Dictionary <string, string> cols = null; Type t = assem.GetType(string.Format("{0}.{1}", assem.FullName.Split(',')[0], strName)); if (t == null) { msg = "无法识别的外部访问类"; return(false); } JdUnion_Bussiness_Class jgl = JdUnion_GlbObject.CreateBusinessClass(t) as JdUnion_Bussiness_Class; JdUnion_ModuleClass jm = JdUnion_GlbObject.modules.Modules.FindLast(a => a.ClassName == strName); if (jm == null) { msg = "未配置正确的模块信息!"; return(false); } jgl.InitClass(jm); bool succ = jgl.getBusynessXmlData(condition, ref doc, ref xmlschemaDoc, ref msg); return(succ); } catch (Exception e) { msg = e.Message; return(false); } return(true); }
static JdUnion_BaseClass() { string txt = JdUnion_GlbObject.getJsonText("system.config.keys"); string[] keys = txt.Split(';'); if (keys.Length < 2) { throw new Exception("请设置好系统配置文件。"); } _app_key = keys[0]; _app_secret = keys[1]; if (keys.Length > 2) { _access_token = keys[2]; } if (keys.Length > 3) { _siteId = keys[3]; } Inited = true; }
public static Dictionary <string, JdGoodSummayInfoItemClass> QueryWeb(string keyWord, int defaultReturnCnt = 10) { //AccessWebServerClass awc = new AccessWebServerClass(); Dictionary <string, JdGoodSummayInfoItemClass> ret = new Dictionary <string, JdGoodSummayInfoItemClass>(); try { string url = "https://union.jd.com/api/goods/search"; string strJson = JdUnion_GlbObject.getJsonText("jd.union.search.model"); if (string.IsNullOrEmpty(strJson)) { return(ret); } string strPostData = strJson.Replace("{0}", keyWord); string retJson = AccessWebServerClass.PostData(url, strPostData, Encoding.UTF8); JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); searchReturnData returnResult = javaScriptSerializer.Deserialize <searchReturnData>(retJson); if (returnResult.code != 200) { return(ret); } List <string> noMatchedList = new List <string>(); for (int i = 0; i < returnResult.data.unionGoods.Count; i++) { string id = returnResult.data.unionGoods[i][0].skuId; JdGoodSummayInfoItemClass ji = new JdGoodSummayInfoItemClass(); if (AllcommissionGoods == null) { AllcommissionGoods = new Dictionary <string, JdGoodSummayInfoItemClass>(); } if (AllcommissionGoods.ContainsKey(id)) { ji = AllcommissionGoods[id]; ret.Add(id, ji); } else { if (noMatchedList.Count < defaultReturnCnt) { noMatchedList.Add(id); } } } List <JdGoodSummayInfoItemClass> res = null; if (LoadPromotionGoodsinfo != null) { res = LoadPromotionGoodsinfo(noMatchedList); } else { res = getInfoBySukIds(noMatchedList); } res.ForEach(a => { if (!ret.ContainsKey(a.skuId)) { ret.Add(a.skuId, a); } }); return(ret); } catch (Exception ce) { } return(ret); }
public string getMyUrl(string subid = null) { string dicsid = subid; if (subid == null) { dicsid = ""; } if (string.IsNullOrEmpty(this.materialUrl)) { return(null); } lock (JdGoodsQueryClass.glbUrls) { Dictionary <string, string> dicurl = new Dictionary <string, string>(); if (JdGoodsQueryClass.glbUrls.ContainsKey(this.skuId)) { dicurl = JdGoodsQueryClass.glbUrls[this.skuId]; } if (dicurl.ContainsKey(dicsid)) { return(dicurl[dicsid]); } JdUnion_Goods_Link jgl = JdUnion_GlbObject.CreateBusinessClass(typeof(JdUnion_Goods_Link)) as JdUnion_Goods_Link; //jgl.InitClass(jgl.Module);//必须初始化,获取到json设置才能用。 XmlDocument xmldoc = null; string url = this.materialUrl; string strPath_SiteId = string.Format("promotionCodeReq/siteId"); string strPath_MaterialId = string.Format("promotionCodeReq/materialId"); string strPath_CouponUrl = string.Format("promotionCodeReq/couponUrl"); string strPath_PositionId = string.Format("promotionCodeReq/positionId"); string strChainType = "promotionCodeReq/chainType"; jgl.setBussiessItems(strPath_SiteId, jgl.siteId); jgl.setBussiessItems(strPath_MaterialId, url); if (!string.IsNullOrEmpty(this.couponLink)) { url = this.couponLink; jgl.setBussiessItems(strPath_CouponUrl, url); } if (!string.IsNullOrEmpty(subid)) { jgl.setBussiessItems(strPath_PositionId, subid); } jgl.setBussiessItems(strChainType, "1"); jgl.sign = null; XmlDocument xmlschema = null; string msg = null; bool succ = jgl.getXmlData(ref xmldoc, ref xmlschema, ref msg, false); if (succ == false) { if (msg != null) { } return(null); } string urlRet = XmlUtil.GetSubNodeText(xmldoc, "NewDataSet/getResult/url"); if (!dicurl.ContainsKey(dicsid)) { dicurl.Add(dicsid, urlRet); } JdGoodsQueryClass.glbUrls[this.skuId] = dicurl; return(urlRet); } }