Esempio n. 1
0
        /// <summary>
        /// 获取物流信息
        /// </summary>
        /// <param name="orderId">EntGoodsOrderId</param>
        /// <returns></returns>
        public DeliveryFeedback GetOrderFeed(int orderId, DeliveryOrderType orderType)
        {
            //从缓存中获取
            //string cahcheKey = GetModelKey(orderId, orderType);
            //DeliveryFeedback feedCache = RedisUtil.Get<DeliveryFeedback>(cahcheKey);
            //if (feedCache != null && feedCache.Id > 0)
            //{
            //    return feedCache;
            //}
            //从数据库中获取,写入缓存
            string whereSql = BuildWhereSql(orderId, orderType);
            //int cacheInterval = WebConfigBLL.DeliveryCheckSpan;
            //获取
            DeliveryFeedback deliveryInfo = GetModel(whereSql);

            //if (deliveryInfo == null)
            //{
            //    return null;
            //}
            //写入
            //if (string.IsNullOrWhiteSpace(deliveryInfo.CompanyCode))
            //{
            //RedisUtil.Set(cacheModelKey, deliveryInfo, TimeSpan.FromMinutes(cacheInterval));
            //return deliveryInfo;
            //}
            //同步物流信息
            //deliveryInfo.FeedBack = GetDeliveryFeed(deliveryInfo);
            //Task.Factory.StartNew(() =>
            //{
            //    Update(deliveryInfo, "FeedBack");
            //});
            //RedisUtil.Set(cacheModelKey, deliveryInfo, TimeSpan.FromMinutes(cacheInterval));
            return(deliveryInfo);
        }
Esempio n. 2
0
 /// <summary>
 /// 新增物流信息(独立小程序版发货)
 /// </summary>
 /// <param name="orderId">EntGoodsOrderId</param>
 /// <param name="address">收货地址</param>
 /// <param name="deliveryNo">物流订单号</param>
 /// <param name="companyCode">物流公司代码</param>
 /// <param name="mark">物流备注</param>
 /// <returns></returns>
 public bool AddOrderFeed(int orderId, DeliveryUpdatePost AddInfo, DeliveryOrderType deliveryOrderType)
 {
     return(AddDeliveryFeed(orderId: orderId, orderType: deliveryOrderType,
                            contactName: AddInfo.ContactName, contactTel: AddInfo.ContactTel, address: AddInfo.Address,
                            deliveryNo: AddInfo.DeliveryNo, companyCode: AddInfo.CompanyCode, companyTitle: AddInfo.CompanyTitle, isTrack: !AddInfo.SelfDelivery,
                            mark: AddInfo.Remark));
 }
Esempio n. 3
0
        private bool AddDeliveryFeed(int orderId, DeliveryOrderType orderType, string contactName, string contactTel, string address, string deliveryNo, string companyCode, string companyTitle, bool isTrack = true, string mark = null)
        {
            DeliveryFeedback newOrderFeed = new DeliveryFeedback
            {
                CreateDate   = DateTime.Now,
                OrderId      = orderId,
                OrderType    = (int)orderType,
                DeliveryNo   = deliveryNo,
                FeedBack     = null,
                CompanyCode  = companyCode,
                Address      = address,
                CompanyTitle = companyTitle,
                ContactName  = contactName,
                ContactTel   = contactTel,
                Status       = (int)DeliveryFeedState.正常,
                IsTrack      = isTrack,
                Mark         = mark,
            };
            int newId = 0;

            return(int.TryParse(Add(newOrderFeed).ToString(), out newId));
        }
Esempio n. 4
0
        /// <summary>
        /// 订单是否有物流信息
        /// </summary>
        /// <param name="orderId">EntGoodsOrderId</param>
        /// <returns></returns>
        public bool IsHasDelivery(int orderId, DeliveryOrderType orderType)
        {
            string whereSql = BuildWhereSql(orderId, orderType);

            return(GetCount(whereSql) > 0);
        }
Esempio n. 5
0
 public string GetModelKey(int orderId, DeliveryOrderType orderType)
 {
     return(string.Format(cacheModelKey, orderId, (int)orderType));
 }
Esempio n. 6
0
        public int GetOrderFeedCount(int orderId, DeliveryOrderType orderType)
        {
            string whereSql = BuildWhereSql(orderId, orderType);

            return(GetCount(whereSql));
        }