/// <summary> /// 拼团活动详情 /// </summary> /// <returns></returns> public ActionResult GroupBuyDetail() { int id = RequestHelper.GetForm <int>("id"); GroupBuyInfo entity = GroupBuyBLL.Read(id); if (entity.Id <= 0) { return(Json(new { ok = false, msg = "拼团商品不存在" })); } var product = ProductBLL.Read(entity.ProductId); if (product.Id <= 0) { return(Json(new { ok = false, msg = "拼团商品不存在" })); } if (product.OpenGroup != 1) { return(Json(new { ok = false, msg = "此商品暂不支持拼团" })); } //拼团状态 entity.VirtualStatus = (entity.EndTime <DateTime.Now && entity.Quantity> entity.SignCount) ? -1 : (entity.StartTime <= DateTime.Now && entity.EndTime >= DateTime.Now && entity.Quantity > entity.SignCount) ? 0 : (entity.StartTime <= DateTime.Now && entity.EndTime >= DateTime.Now && entity.Quantity <= entity.SignCount) ? 1 : -1; //除团长以外其他参与者 List <GroupSignInfo> signList = GroupSignBLL.ReadListByGroupId(id).Where(k => k.UserId != entity.Leader).ToList(); #region 推荐商品 int userGrade = UserGradeBLL.ReadByMoney(0).Id; int uid = RequestHelper.GetForm <int>("uid"); var user = UserBLL.ReadUserMore(uid); if (user != null && user.Id > 0) { userGrade = UserGradeBLL.ReadByMoney(user.MoneyUsed).Id; } int hotCount = 0; var prorecommend = ProductBLL.SearchList(1, 4, new ProductSearchInfo { IsSale = (int)BoolType.True, IsTop = (int)BoolType.True, IsDelete = (int)BoolType.False, NotInProductId = product.Id.ToString() }, ref hotCount); var prorelist = new List <ProductVirtualModel>(); foreach (var item in prorecommend) { var vp = new ProductVirtualModel() { id = item.Id, name = item.Name, img = ShopCommon.ShowImage(item.Photo.Replace("Original", "150-150")), imgbig = ShopCommon.ShowImage(item.Photo.Replace("Original", "350-350")), imgorg = ShopCommon.ShowImage(item.Photo), price = ProductBLL.GetCurrentPrice(item.SalePrice, userGrade), click = item.ViewCount, like = item.LikeNum, totalstore = item.StandardType == (int)ProductStandardType.Single ? ProductTypeStandardRecordBLL.GetSumStorageByProduct(item.Id) : item.TotalStorageCount, //ordercount = item.OrderCount //是否启用不限库存,分别计算销量 ordercount = item.UnlimitedStorage == 1 ? OrderBLL.GetProductOrderCountDaily(item.Id, item.StandardType, DateTime.Now) : item.OrderCount }; prorelist.Add(vp); } #endregion return(Json(new { ok = true, entity = entity, product = product, signlist = signList, topproductlist = prorelist })); }
private void Approve(int approveStatus) { int orderRefundId = RequestHelper.GetQueryString <int>("Id"); var submitOrderRefund = OrderRefundBLL.Read(orderRefundId); string remark = Remark.Text.Trim(); switch (submitOrderRefund.Status) { case (int)OrderRefundStatus.Submit: CheckAdminPower("OrderRefundApprove", PowerCheckType.Single); //如果是团购单,且拼团正在进行中,暂不能申请退款 var order = OrderBLL.Read(submitOrderRefund.OrderId); if (order.IsActivity == (int)OrderKind.GroupBuy && order.FavorableActivityId > 0) { var groupBuy = GroupBuyBLL.Read(order.FavorableActivityId); if (groupBuy.StartTime <= DateTime.Now && groupBuy.EndTime >= DateTime.Now && groupBuy.Quantity > groupBuy.SignCount) { ScriptHelper.Alert("拼团正在进行,暂不能退款", RequestHelper.RawUrl); } } if (approveStatus == (int)BoolType.True) { submitOrderRefund.Status = (int)OrderRefundStatus.Approve; submitOrderRefund.Remark = "系统审核通过,等待处理退款: " + remark; } else { submitOrderRefund.Status = (int)OrderRefundStatus.Reject; submitOrderRefund.Remark = "系统审核不通过: " + remark; } break; case (int)OrderRefundStatus.Returning: ScriptHelper.Alert("正在处理退款,请不要重复退款", RequestHelper.RawUrl); break; case (int)OrderRefundStatus.HasReturn: ScriptHelper.Alert("退款已完成,请不要重复退款", RequestHelper.RawUrl); break; case (int)OrderRefundStatus.Reject: ScriptHelper.Alert("退款已被拒绝,请不要重复退款", RequestHelper.RawUrl); break; default: ScriptHelper.Alert("无效的操作", RequestHelper.RawUrl); break; } OrderRefundBLL.Update(submitOrderRefund); //退款操作记录 AddOrderRefundAction(submitOrderRefund, approveStatus); AdminLogBLL.Add(ShopLanguage.ReadLanguage("UpdateRecord"), ShopLanguage.ReadLanguage("OrderRefund"), submitOrderRefund.Id); ScriptHelper.Alert("操作成功", RequestHelper.RawUrl); }
protected override void PageLoad() { base.PageLoad(); topNav = 2; int groupId = RequestHelper.GetQueryString <int>("GroupId"); group = GroupBuyBLL.Read(groupId); dataList = GroupSignBLL.SearchListByGroupId(groupId, 1, group.Quantity, ref Count); dataList.ForEach(k => k.UserName = System.Web.HttpUtility.UrlDecode(k.UserName, System.Text.Encoding.UTF8)); Title = "参团记录[" + group.ProductName + "]"; }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { CheckAdminPower("ReadGroupSign", PowerCheckType.Single); int groupId = RequestHelper.GetQueryString <int>("GroupId"); group = GroupBuyBLL.Read(groupId); var dataList = GroupSignBLL.SearchListByGroupId(groupId, 1, group.Quantity, ref Count); dataList.ForEach(k => k.UserName = HttpUtility.UrlDecode(k.UserName, System.Text.Encoding.UTF8)); BindControl(dataList, RecordList); } }
/// <summary> /// 审核按钮点击方法 /// </summary> protected void CheckButton_Click(object sender, EventArgs e) { OrderInfo order = ButtoStart(); #region 拼团单,未拼满或者拼团失败不能通过审核 if (order.IsActivity == (int)OrderKind.GroupBuy) { var groupBuy = GroupBuyBLL.Read(order.FavorableActivityId); if (!(groupBuy.StartTime <= DateTime.Now && groupBuy.EndTime >= DateTime.Now && groupBuy.SignCount >= groupBuy.Quantity)) { ScriptHelper.Alert("拼团未成功,暂不能通过审核"); } } #endregion int startOrderStatus = order.OrderStatus; //确认付款,收款时间 order.PayDate = RequestHelper.DateNow; order.ShippingNumber = ShippingNumber.Text; order.ShippingDate = Convert.ToDateTime(ShippingDate.Text); //更新商品库存数量 ProductBLL.ChangeSendCountByOrder(order.Id, ChangeAction.Plus); //自提:现场审核提货,完成 if (order.SelfPick == 1) { order.OrderStatus = (int)OrderStatus.ReceiveShipping; #region 提货码状态置为1(无效) PickUpCodeBLL.UsePickCodeByOrder(order.Id); #endregion #region 完成订单给分销商返佣 //订单实际支付金额 decimal paid_money = OrderBLL.ReadNoPayMoney(order); //购买人 var user = UserBLL.Read(order.UserId); //购买者有推荐人 且 实际支付金额大于0才进行返佣 if (user.Recommend_UserId > 0 && paid_money > 0) { RebateBLL.RebateToDistributor(user, paid_money, order.Id); } #endregion } else {//配送:进入配货状态 order.OrderStatus = (int)OrderStatus.Shipping; } ButtonEnd(order, Note.Text, OrderOperate.Check, startOrderStatus); }