Пример #1
0
        /// <summary>
        /// 发货
        /// </summary>
        protected void Ship()
        {
            bool   flag = true;
            string msg  = string.Empty;

            try
            {
                int      orderId        = RequestHelper.GetForm <int>("orderid");
                DateTime date           = RequestHelper.GetForm <DateTime>("date");
                string   shippingnumber = RequestHelper.GetForm <string>("shippingnumber");
                if (orderId <= 0)
                {
                    flag = false;
                    msg  = "请求参数错误";
                }
                if ((date - DateTime.Now).Days < 0)
                {
                    flag = false;
                    msg  = "配送日期不规范";
                }
                if (string.IsNullOrEmpty(shippingnumber))
                {
                    flag = false;
                    msg  = "配送单号不能为空";
                }
                OrderInfo order = OrderBLL.Read(orderId);
                if (order.OrderStatus == (int)OrderStatus.Shipping)
                {
                    int startOrderStatus = order.OrderStatus;
                    order.OrderStatus    = (int)OrderStatus.HasShipping;
                    order.ShippingNumber = shippingnumber;
                    order.ShippingDate   = date;
                    //更新商品库存数量
                    ProductBLL.ChangeSendCountByOrder(order.Id, ChangeAction.Plus);
                    OrderBLL.AdminUpdateOrderAddAction(order, "", (int)OrderOperate.Send, startOrderStatus);
                    flag = true;
                }
            }
            catch (Exception ex)
            {
                flag = false;
                msg  = ex.Message;
            }
            finally
            {
                Response.Clear();
                Response.Write(JsonConvert.SerializeObject(new { ok = flag, msg = msg }));
                Response.End();
            }
        }
Пример #2
0
        /// <summary>
        /// 按纽提交结束
        /// </summary>
        protected void ButtonEnd(OrderInfo order, string note, OrderOperate orderOperate, int startOrderStatus)
        {
            OrderBLL.AdminUpdateOrderAddAction(order, note, (int)orderOperate, startOrderStatus);

            string result = OrderOperateSendEmail(order, orderOperate);

            if (orderOperate == OrderOperate.Pay)
            {
                #region 拼团订单付款:团长付款--开团+增加参团记录;成员付款--增加参团记录
                if (order.IsActivity == (int)OrderKind.GroupBuy)
                {
                    var orderDetail = OrderDetailBLL.ReadList(order.Id).FirstOrDefault() ?? new OrderDetailInfo();
                    if (orderDetail.Id > 0)
                    {
                        var product = ProductBLL.Read(orderDetail.ProductId);
                        //团长付款
                        if (order.FavorableActivityId <= 0)
                        {
                            //开团
                            int groupId = GroupBuyBLL.Add(new GroupBuyInfo
                            {
                                Leader    = order.UserId,
                                ProductId = product.Id,
                                StartTime = DateTime.Now,
                                EndTime   = DateTime.Now.AddDays(ShopConfig.ReadConfigInfo().GroupBuyDays),
                                Quantity  = product.GroupQuantity,
                                //团购订单支付成功之后计数加1
                                SignCount = 1
                            });
                            //订单绑定团购Id
                            Dictionary <string, object> dict = new Dictionary <string, object>();
                            dict.Add("[FavorableActivityId]", groupId);
                            OrderBLL.UpdatePart("[Order]", dict, order.Id);
                            //增加参团记录
                            GroupSignBLL.Add(new GroupSignInfo
                            {
                                GroupId  = groupId,
                                UserId   = order.UserId,
                                OrderId  = order.Id,
                                SignTime = DateTime.Now
                            });
                        }
                        else//参团者付款
                        {
                            //增加参团记录
                            GroupSignBLL.Add(new GroupSignInfo
                            {
                                GroupId  = order.FavorableActivityId,
                                UserId   = order.UserId,
                                OrderId  = order.Id,
                                SignTime = DateTime.Now
                            });
                            //开团表signcount加1
                            GroupBuyBLL.PlusSignCount(order.FavorableActivityId);
                        }
                    }
                }
                #endregion
                #region 自提订单 生成提货码
                //避免重复数据,一个订单对应一个提货码,提货码没有有效期,使用过后失效
                if (order.SelfPick == 1 && PickUpCodeBLL.ReadByOrderId(order.Id).Id <= 0)
                {
                    PickUpCodeInfo pkCode = new PickUpCodeInfo();
                    pkCode.OrderId  = order.Id;
                    pkCode.Status   = 0;
                    pkCode.PickCode = PickUpCodeBLL.CreatePickUpCode();
                    int pickCodeId = PickUpCodeBLL.Add(pkCode);
                    //if (pickCodeId <= 0)
                    //{
                    //    return Json(new { flag = false, msg = "生成提货码失败" });
                    //}
                }
                #endregion
                //付款操作时触发sianalr
                ScriptHelper.Alert("订单" + ShopLanguage.ReadLanguage("OperateOK") + "。" + result, RequestHelper.RawUrl.IndexOf("?") >= 0 ? RequestHelper.RawUrl + "&paysuccess=1" : RequestHelper.RawUrl + "?paysuccess=1");
            }
            else
            {
                ScriptHelper.Alert("订单" + ShopLanguage.ReadLanguage("OperateOK") + "。" + result, RequestHelper.RawUrl);
            }
        }