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);
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        static JdGoodsQueryClass()
        {
            AllElitesData = new Dictionary <int, EliteDataClass>();
            List <int> list = JdUnion_GlbObject.getElites();

            foreach (int elite in list)
            {
                AllElitesData.Add(elite, new EliteDataClass(elite));
            }
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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;
        }
Exemplo n.º 6
0
        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);
        }
Exemplo n.º 7
0
        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);
            }
        }