Exemplo n.º 1
0
        void updateGlobalQueryData(Dictionary <string, UpdateData> data)
        {
            Dictionary <string, JdGoodSummayInfoItemClass> updateData = new Dictionary <string, JdGoodSummayInfoItemClass>();

            try
            {
                foreach (string key in data.Keys)
                {
                    if (updateData.ContainsKey(key))
                    {
                        continue;
                    }
                    UpdateData dr = data[key];
                    JdGoodSummayInfoItemClass jsiic = new JdGoodSummayInfoItemClass();
                    jsiic.skuId       = dr.Items["JGD02"].value;
                    jsiic.skuName     = dr.Items["JGD03"].value;
                    jsiic.couponLink  = dr.Items["JGD07"].value;
                    jsiic.imgageUrl   = dr.Items["JGD08"].value;
                    jsiic.materialUrl = dr.Items["JGD09"].value;
                    jsiic.price       = dr.Items["JGD11"].value;
                    jsiic.discount    = dr.Items["JGD06"].value;
                    if (dr.Dataset.Tables[0].Columns.Contains("JGD15") && dr.Items["JGD15"] != null)
                    {
                        jsiic.elitId = int.Parse(dr.Items["JGD15"].value);
                    }
                    if (dr.Dataset.Tables[0].Columns.Contains("JGD14") && dr.Items["JGD14"] != null)
                    {
                        jsiic.batchId = int.Parse(dr.Items["JGD14"].value);
                    }
                    if (dr.Dataset.Tables[0].Columns.Contains("JGD16") && dr.Items["JGD16"] != null)
                    {
                        jsiic.isHot = int.Parse(dr.Items["JGD16"].value);
                    }
                    if (dr.Dataset.Tables[0].Columns.Contains("JGD17") && dr.Items["JGD17"] != null)
                    {
                        jsiic.inOrderCount30Days = int.Parse(dr.Items["JGD17"].value);
                    }
                    updateData.Add(key, jsiic);
                }
            }
            catch (Exception ce)
            {
                currJdc.UpdateText(string.Format("更新全局数据错误:{0}[{1}]", ce.Message, ce.StackTrace));
            }
            finally
            {
                JdGoodsQueryClass.updateAllData(updateData);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 推送商品内容
        /// </summary>
        /// <param name="ps"></param>
        public void pushGoodsContent(int times, int ps)
        {
            if (CurrDayNeedPushGoods == null)
            {
                InitChatGoods();
            }
            if (CurrDayNeedPushGoods == null || CurrDayNeedPushGoods.Count == 0)
            {
                return;
            }
            if (CurrDayNeedPushGoods.Count < ((times - 1) * ps))
            {
                return;
            }
            int index     = (times - 1) * ps;
            int pushcnt   = 0;
            var currGoods = CurrDayNeedPushGoods.OrderByDescending(a => a.Value.inOrderCount30Days);

            foreach (var key in currGoods)
            {
                if (pushcnt == picsOnce)//达到次数
                {
                    break;
                }
                JdGoodSummayInfoItemClass jdi = key.Value;
                jdi.shortLinkFunc = getShortLink;
                if (pushedGoods.Contains(jdi.skuId))
                {
                    continue;
                }
                if ((float.Parse(jdi.price) - float.Parse(jdi.discount)) > this.maxPrice)//折后价超出最大价格,跳过
                {
                    continue;
                }
                if (2 * (float.Parse(jdi.price) - float.Parse(jdi.discount)) > float.Parse(jdi.price))//折后价超出最大价格,跳过
                {
                    continue;
                }
                Program.plancolls.MsgProcess.SendUrlImgMsg(jdi.imgageUrl, chartUid);
                string fullMsg = string.Format("{0}{1}", jdi.getFullContent(true), jdi.getShortLink(subUnionId));
                Program.plancolls.MsgProcess.SendMsg(fullMsg, chartUid);
                MessageTo(string.Format("{0}[{1}] 发送商品{2}消息。", DateTime.Now.ToLongDateString(), this.chartName, jdi.skuName));
                pushcnt++;
                pushedGoods.Add(jdi.skuId);
            }
        }
Exemplo n.º 3
0
        void loadAllData()
        {
            string datasourceName = "JdUnion_Client_Goods_Coupon_NoXml";
            string msg            = null;

            DataSet ds = DataSource.InitDataSource(GlobalShare.UserAppInfos.First().Value.mapDataSource[datasourceName], new List <DataCondition>(), out msg);

            if (msg != null)
            {
                //MessageBox.Show(msg);
                setControl(txt_ToMeMsgs, msg);
                return;
            }
            setControl(txt_ToMeMsgs, string.Format("共计{0}条!", ds.Tables[0].Rows.Count));
            JdGoodsQueryClass.AllcommissionGoods = new Dictionary <string, JdGoodSummayInfoItemClass>();
            JdGoodsQueryClass.AllKeys            = new Dictionary <string, List <string> >();
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                DataRow dr = ds.Tables[0].Rows[i];
                JdGoodSummayInfoItemClass jsiic = new JdGoodSummayInfoItemClass();
                jsiic.skuId       = dr["JGD02"].ToString();
                jsiic.skuName     = dr["JGD03"].ToString();
                jsiic.couponLink  = dr["JGD07"].ToString();
                jsiic.imgageUrl   = dr["JGD08"].ToString();
                jsiic.materialUrl = dr["JGD09"].ToString();
                jsiic.price       = dr["JGD11"].ToString();
                jsiic.discount    = dr["JGD06"].ToString();
                if (JdGoodsQueryClass.AllcommissionGoods.ContainsKey(jsiic.skuId))
                {
                    continue;
                }
                JdGoodsQueryClass.AllcommissionGoods.Add(jsiic.skuId, jsiic);
                List <string> keys = JdGoodsQueryClass.splitTheWords(jsiic.skuName, true);
                JdGoodsQueryClass.AllKeys.Add(jsiic.skuId, keys);
                if (i > 0 && (i % 5000) == 0)
                {
                    setControl(txt_ToMeMsgs, string.Format("完成第{0}条!", i + 1));
                }
            }
            JdGoodsQueryClass.Inited = true;
        }
Exemplo n.º 4
0
        List <JdGoodSummayInfoItemClass> getInfoBySukIds(List <string> skids)
        {
            //JdUnion_Goods_PromotionGoodsinfo_Class
            string dsName = "JDUnion_PromotionGoodsinfo";
            List <JdGoodSummayInfoItemClass> ret = new List <JdGoodSummayInfoItemClass>();

            if (skids.Count == 0)
            {
                return(ret);
            }
            List <DataCondition> dcs = new List <DataCondition>();
            DataCondition        dc  = new DataCondition();

            dc.Datapoint = new DataPoint("skuIds");
            dc.value     = string.Join(",", skids);
            dcs.Add(dc);
            string  msg     = null;
            bool    isExtra = false;
            DataSet ds      = DataSource.InitDataSource(dsName, dcs, GlobalShare.UserAppInfos.First().Key, out msg, ref isExtra, false);

            if (msg != null)
            {
                return(ret);
            }
            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                DataRow dr = ds.Tables[0].Rows[i];
                JdGoodSummayInfoItemClass jsiic = new JdGoodSummayInfoItemClass();
                jsiic.skuId       = dr["JGD02"].ToString();
                jsiic.skuName     = dr["JGD03"].ToString();
                jsiic.imgageUrl   = dr["JGD08"].ToString();
                jsiic.materialUrl = dr["JGD09"].ToString();
                jsiic.price       = dr["JGD11"].ToString();

                ret.Add(jsiic);
            }
            return(ret);
        }
Exemplo n.º 5
0
        void loadEliteData(eliteData el)
        {
            List <DataRow> ds  = el.data;
            EliteDataClass edc = new EliteDataClass(el.eliteId);

            for (int i = 0; i < ds.Count; i++)
            {
                DataRow dr = ds[i];
                JdGoodSummayInfoItemClass jsiic = new JdGoodSummayInfoItemClass();
                jsiic.skuId       = dr["JGD02"].ToString();
                jsiic.skuName     = dr["JGD03"].ToString();
                jsiic.couponLink  = dr["JGD07"].ToString();
                jsiic.imgageUrl   = dr["JGD08"].ToString();
                jsiic.materialUrl = dr["JGD09"].ToString();
                jsiic.price       = dr["JGD11"].ToString();
                jsiic.discount    = dr["JGD06"].ToString();
                if (dr["JGD15"] != null)
                {
                    jsiic.elitId = int.Parse(dr["JGD15"].ToString());
                }

                if (dr["JGD16"] != null && !string.IsNullOrEmpty(dr["JGD16"].ToString()))
                {
                    jsiic.isHot = int.Parse(dr["JGD16"].ToString());
                }
                if (dr["JGD17"] != null && !string.IsNullOrEmpty(dr["JGD17"].ToString()))
                {
                    jsiic.inOrderCount30Days = int.Parse(dr["JGD17"].ToString());
                }
                if (!edc.Data.ContainsKey(jsiic.skuId))
                {
                    edc.Data.Add(jsiic.skuId, jsiic);
                }
            }
            edc.lastUpdateTime = DateTime.Now;
            JdGoodsQueryClass.updateElites(el.eliteId, edc);
        }