Beispiel #1
0
        /// <summary>
        /// 购物车数据的赋值
        /// </summary>
        /// <param name="dr">数据行</param>
        private static void SetCartInfo(DataRow dr, out CartModel cart)
        {
            cart = new CartModel();
            cart.CartID = dr["id"].ToString();
            cart.UID = dr["buyerId"].ToString();
            cart.UName = dr["buyerName"].ToString();
            cart.SID = dr["storeId"].ToString();
            cart.SName = dr["storeName"].ToString();
            cart.PId = dr["productId"].ToString();
            cart.PName = dr["productName"].ToString();
            cart.SkuId = dr["skuId"].ToString();

            //根据sku编号获取对应快照编号
            string skusql = "select a.id as skukzid, a.productsnapshotid as productkzid from product_curd.productskusnapshot a "
                            + " inner join product_curd.productsku b on a.skuid = b.id and a.snapshotversion = b.latestsnapshotversion and b.id = " + cart.SkuId;
            DataSet dst = DataHelper.ExeRead(skusql);
            if (dst != null && dst.Tables[0].Rows.Count > 0)
            {
                DataRow drow = dst.Tables[0].Rows[0];
                cart.ProkzID = drow["productkzid"].ToString();
                cart.SkukzID = drow["skukzid"].ToString();
            }
        }
Beispiel #2
0
        /// <summary>
        /// 拼凑xml字符串
        /// </summary>
        private static ConfirmOrdeSaveXMLVM.xml setXmls(CartModel model)
        {
            ConfirmOrdeSaveXMLVM.xml xml = new ConfirmOrdeSaveXMLVM.xml();
            xml.root = new ConfirmOrdeSaveXMLVM.root();
            xml.root.stores = new List<ConfirmOrdeSaveXMLVM.store>();

            ConfirmOrdeSaveXMLVM.store store = new ConfirmOrdeSaveXMLVM.store();
            store.carts = new List<ConfirmOrdeSaveXMLVM.cart>();
            //店铺中的商品(子订单详细)
            ConfirmOrdeSaveXMLVM.cart cart = new ConfirmOrdeSaveXMLVM.cart()
            {
                id = model.CartID,
                proname = model.PName,
                picpath = "01220121101008a1011bda5f9d4239a1547ae229fe70d6.jpg",
                count = "1",
                proid = model.PId,
                prokzid = model.ProkzID,
                skukzid = model.SkukzID,
                skuid = model.SkuId
            };
            store.carts.Add(cart);
            store.storename = model.SName;
            store.storetype = "1";
            store.id = model.SID;
            store.couponid = "-1";
            store.expresstype = "1";
            store.fullsendid = "-1";
            store.message = string.Empty;
            xml.root.stores.Add(store);

            Random rand = new Random();
            string pointRD = "0";// rand.Next(100, 500).ToString();

            //买家信息
            xml.root.buyer = new ConfirmOrdeSaveXMLVM.buyer()
            {
                ip = "10.10.10.43",
                areacode = "440102",
                areaname = "东山区",
                citycode = "440100",
                cityname = "广州市",
                consigneename = "test1",
                contactqq = "123456789",
                email = string.Empty,
                exchanges = "0.01",
                id = model.UID,
                mobilephone = "13800138000",
                phone = "0762-8888888-99999",
                points = pointRD,//准备用掉的积分
                postcode = "517100",
                street = "1",
                provincecode = "440000",
                provincename = "广东省",
                platformcouponid = string.Empty,//平台优惠券
                redpacket = "0",
                username = model.UName,
                datasourcestype = 9
            };
            return xml;
        }
Beispiel #3
0
        private static void AddOrder(CartModel cart)
        {
            using (WcfTcpClient<IProcedureFunctionService> client = factory.CreateClient<IProcedureFunctionService>())
            {

                string strxml = XMLHelper.ConvertXmlOjbectToString<ConfirmOrdeSaveXMLVM.xml>(setXmls(cart));
                byte[] by = System.Text.Encoding.UTF8.GetBytes(strxml);
                Stream s = new MemoryStream(by);
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.Load(s);
                s.Dispose();

                XmlNode xn = xmldoc.SelectSingleNode("xml");
                string xEleStr = xn.InnerXml.ToString();
                string outMessage = string.Empty;
                string payPrice = "0";
                long ticks = DateTime.Now.Ticks;

                int saveResult = client.Channel.SaveOrderFromShoppingCart2(long.Parse(cart.UID), xEleStr, out outMessage, out payPrice);

                if (saveResult == 0)
                {
                    Console.WriteLine("下单失败!" + cart.CartID + "\t " + outMessage + ",时间:" + DateTime.Now);
                    throw new Exception("下单失败");
                }

            }
        }