public object GetConfirmOrder(long id, int count, long?regionId = null) { CheckUserLogin(); if (count < 1) { count = 1; } //Checkout dynamic data = new System.Dynamic.ExpandoObject(); List <GiftOrderItemDtoModel> gorditemlist = new List <GiftOrderItemDtoModel>(); GiftOrderItemDtoModel gorditem; //订单项 //礼品信息 var giftdata = GiftApplication.GetById(id); if (giftdata == null) { throw new Exception("错误的礼品编号!"); } gorditem = new GiftOrderItemDtoModel(); //补充订单项 gorditem.GiftId = giftdata.Id; gorditem.GiftName = giftdata.GiftName; gorditem.GiftValue = giftdata.GiftValue; gorditem.ImagePath = giftdata.ImagePath; gorditem.OrderId = 0; gorditem.Quantity = count; gorditem.SaleIntegral = giftdata.NeedIntegral; if (!string.IsNullOrWhiteSpace(gorditem.ImagePath)) { gorditem.DefaultImage = MallIO.GetRomoteProductSizeImage(gorditem.ImagePath, 1, ImageSize.Size_100.GetHashCode()); } gorditemlist.Add(gorditem); data.GiftList = gorditemlist; data.GiftValueTotal = (decimal)gorditemlist.Sum(d => d.Quantity * d.GiftValue); data.TotalAmount = (int)gorditemlist.Sum(d => d.SaleIntegral * d.Quantity); //用户地址 Entities.ShippingAddressInfo shipdata = GetShippingAddress(regionId); if (shipdata != null) { // Mapper.CreateMap<Entities.ShippingAddressInfo, ShippingAddressDtoModel>(); ShippingAddressDtoModel shipobj = shipdata.Map <ShippingAddressDtoModel>(); shipobj.Address = shipobj.Address + " " + shipdata.AddressDetail; data.ShipAddress = shipobj; } return(Json(data)); }
public object GetCanBuy(long id, int count) { CheckUserLogin(); var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id); //礼品信息 var giftdata = GiftApplication.GetById(id); if (giftdata == null) { return(Json(ErrorResult <bool>("礼品不存在!", code: -2))); } if (giftdata.GetSalesStatus != Mall.Entities.GiftInfo.GiftSalesStatus.Normal) { return(Json(ErrorResult <bool>("礼品已失效!", code: -2))); } //库存判断 if (count > giftdata.StockQuantity) { return(Json(ErrorResult <bool>("礼品库存不足,仅剩 " + giftdata.StockQuantity.ToString() + " 件!", code: -3))); } //积分数 if (giftdata.NeedIntegral < 1) { return(Json(ErrorResult <bool>("礼品关联等级信息有误或礼品积分数据有误!", code: -5))); } //限购数量 if (giftdata.LimtQuantity > 0) { int ownbuynumber = GiftsOrderApplication.GetOwnBuyQuantity(CurrentUser.Id, id); if (ownbuynumber + count > giftdata.LimtQuantity) { return(Json(ErrorResult <bool>("超过礼品限兑数量!", code: -4))); } } if (giftdata.NeedIntegral * count > userInte.AvailableIntegrals) { return(Json(ErrorResult <bool>("积分不足!", code: -6))); } //等级判定 if (!MemberGradeApplication.IsAllowGrade(CurrentUser.Id, giftdata.NeedGrade)) { return(Json(ErrorResult <bool>("用户等级不足!", code: -6))); } return(Json(new { success = true, msg = "可以购买!", code = 1 })); }
public object GetList(int pageNo = 1, int pageSize = 10) { //礼品数据 GiftQuery query = new GiftQuery(); query.skey = ""; query.status = Mall.Entities.GiftInfo.GiftSalesStatus.Normal; query.PageSize = pageSize; query.PageNo = pageNo; QueryPageModel <GiftModel> gifts = GiftApplication.GetGifts(query); var list = gifts.Models.ToList(); foreach (var item in list) { item.DefaultShowImage = MallIO.GetRomoteImagePath(item.GetImage(ImageSize.Size_350)); } return(Json(new { Gifts = list, Total = gifts.Total, MaxPage = GetMaxPage(gifts.Total, pageSize) })); }
/// <summary> /// 确认订单信息并提交 /// </summary> /// <param name="id"></param> /// <param name="count"></param> /// <returns></returns> public ActionResult SubmitOrder(long id, long?regionId, int count = 1) { #region 礼品信息判断 //礼品信息 var giftdata = GiftApplication.GetGift(id); if (giftdata == null) { throw new HimallException("错误的礼品编号!"); } #endregion var data = new GiftOrderConfirmPageModel(); var gorditemlist = new List <GiftOrderItemInfo>(); var gorditem = new GiftOrderItemInfo(); //补充订单项 gorditem.GiftId = giftdata.Id; gorditem.GiftName = giftdata.GiftName; gorditem.GiftValue = giftdata.GiftValue; gorditem.ImagePath = giftdata.ImagePath; gorditem.OrderId = 0; gorditem.Quantity = count; gorditem.SaleIntegral = giftdata.NeedIntegral; gorditemlist.Add(gorditem); data.GiftList = gorditemlist; data.GiftValueTotal = (decimal)data.GiftList.Sum(d => d.Quantity * d.GiftValue); data.TotalAmount = (int)data.GiftList.Sum(d => d.SaleIntegral * d.Quantity); //用户地址 data.ShipAddress = GetShippingAddress(regionId); //顶部信息 Logo ViewBag.Logo = SiteSettingApplication.SiteSettings.Logo;//获取Logo ViewBag.Step = 2; ViewBag.Keyword = SiteSettings.Keyword; return(View(data)); }
public object PostSubmitOrder(GiftConfirmOrderModel value) { CheckUserLogin(); long id = value.ID; var addressId = value.AddressId; if (addressId < 1) { return(Json(ErrorResult <bool>("错误的收货地址!", code: -8))); } int count = value.Count; if (count < 1) { return(Json(ErrorResult <bool>("错误的兑换数量!", code: -8))); } List <GiftOrderItemModel> gorditemlist = new List <GiftOrderItemModel>(); var curUser = MemberApplication.GetMember(CurrentUser.Id); if (curUser == null) { return(Json(ErrorResult <bool>("用户登录错误!", code: -6))); } var userInte = MemberIntegralApplication.GetMemberIntegral(curUser.Id); //礼品信息 var giftdata = GiftApplication.GetById(id); if (giftdata == null) { return(Json(ErrorResult <bool>("礼品不存在!", code: -2))); } if (giftdata.GetSalesStatus != Entities.GiftInfo.GiftSalesStatus.Normal) { return(Json(ErrorResult <bool>("礼品已失效!", code: -2))); } //库存判断 if (count > giftdata.StockQuantity) { return(Json(ErrorResult <bool>("礼品库存不足,仅剩 " + giftdata.StockQuantity.ToString() + " 件!", code: -3))); } //积分数 if (giftdata.NeedIntegral < 1) { return(Json(ErrorResult <bool>("礼品关联等级信息有误或礼品积分数据有误!", code: -5))); } //限购数量 if (giftdata.LimtQuantity > 0) { int ownbuynumber = GiftsOrderApplication.GetOwnBuyQuantity(CurrentUser.Id, id); if (ownbuynumber + count > giftdata.LimtQuantity) { return(Json(ErrorResult <bool>("超过礼品限兑数量!", code: -4))); } } if (giftdata.NeedIntegral * count > userInte.AvailableIntegrals) { return(Json(ErrorResult <bool>("积分不足!", code: -6))); } //等级判定 if (!MemberGradeApplication.IsAllowGrade(CurrentUser.Id, giftdata.NeedGrade)) { return(Json(ErrorResult <bool>("用户等级不足!", code: -6))); } Entities.ShippingAddressInfo shipdata = GetShippingAddress(addressId); if (shipdata == null) { return(Json(ErrorResult <bool>("错误的收货人地址信息!", code: -6))); } gorditemlist.Add(new GiftOrderItemModel { GiftId = giftdata.Id, Counts = count }); GiftOrderModel createorderinfo = new GiftOrderModel(); createorderinfo.Gifts = gorditemlist; createorderinfo.CurrentUser = curUser; createorderinfo.ReceiveAddress = shipdata; var orderdata = GiftsOrderApplication.CreateOrder(createorderinfo); return(Json(new { success = true, msg = orderdata.Id.ToString(), code = 1 })); }
public object GetIndexData(string openId = "") { //轮播图 dynamic result = new System.Dynamic.ExpandoObject(); var slidads = SlideApplication.GetSlidAds(0, Entities.SlideAdInfo.SlideAdType.AppGifts).ToList(); foreach (var item in slidads) { item.ImageUrl = MallIO.GetRomoteImagePath(item.ImageUrl); } result.SlideAds = slidads; //大转盘刮刮卡 var malllist = new List <IntegralMallAdInfo>(); var robj = GiftApplication.GetAdInfo(IntegralMallAdInfo.AdActivityType.Roulette, IntegralMallAdInfo.AdShowPlatform.APP); if (robj != null) { //robj.LinkUrl = Request.RequestUri.Scheme + "://" + Request.RequestUri.Authority + "/m-wap/BigWheel/index/" + robj.ActivityId; robj.LinkUrl = "/m-wap/BigWheel/index/" + robj.ActivityId; malllist.Add(robj); } var cobj = GiftApplication.GetAdInfo(IntegralMallAdInfo.AdActivityType.ScratchCard, IntegralMallAdInfo.AdShowPlatform.APP); if (cobj != null) { //cobj.LinkUrl = Request.RequestUri.Scheme + "://" + Request.RequestUri.Authority + "/m-wap/ScratchCard/index/" + cobj.ActivityId; cobj.LinkUrl = "/m-wap/ScratchCard/index/" + cobj.ActivityId; malllist.Add(cobj); } result.WeiActives = malllist; //首页礼品 GiftQuery query = new GiftQuery(); query.skey = ""; query.status = Mall.Entities.GiftInfo.GiftSalesStatus.Normal; query.PageSize = 4; query.PageNo = 1; QueryPageModel <GiftModel> gifts = GiftApplication.GetGifts(query); result.HomeGiftses = gifts.Models.ToList(); result.HasMoreGifts = gifts.Total > 4; foreach (var item in result.HomeGiftses) { item.DefaultShowImage = MallIO.GetRomoteImagePath(item.GetImage(ImageSize.Size_350)); } //积分优惠券 var coupons = CouponApplication.GetIntegralCoupons(1, 3); // Mapper.CreateMap<CouponInfo, CouponGetIntegralCouponModel>(); if (coupons.Models.Count > 0) { var datalist = coupons.Models.ToList(); var objlist = new List <CouponGetIntegralCouponModel>(); foreach (var item in datalist) { var tmp = item.Map <CouponGetIntegralCouponModel>(); tmp.ShowIntegralCover = MallIO.GetRomoteImagePath(item.IntegralCover); var vshopobj = VshopApplication.GetVShopByShopId(tmp.ShopId); if (vshopobj != null) { tmp.VShopId = vshopobj.Id; //优惠价封面为空时,取微店Logo,微店Logo为空时,取商城微信Logo if (string.IsNullOrWhiteSpace(tmp.ShowIntegralCover)) { if (!string.IsNullOrWhiteSpace(vshopobj.WXLogo)) { tmp.ShowIntegralCover = MallIO.GetRomoteImagePath(vshopobj.WXLogo); } } } if (string.IsNullOrWhiteSpace(tmp.ShowIntegralCover)) { var siteset = SiteSettingApplication.SiteSettings; tmp.ShowIntegralCover = MallIO.GetRomoteImagePath(siteset.WXLogo); } objlist.Add(tmp); } result.IntegralCoupons = objlist.ToList(); result.HasMoreIntegralCoupons = coupons.Total > 3; } result.HasLogined = false; //用户积分与等级 if (CurrentUser != null) { //登录后处理会员积分 var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id); var userGrade = MemberGradeApplication.GetMemberGradeByUserIntegral(userInte.HistoryIntegrals); result.MemberAvailableIntegrals = userInte.AvailableIntegrals; result.MemberGradeName = userGrade.GradeName; result.HasLogined = true; } return(Json(result)); }
public object GetGiftDetail(long id) { GiftsDetailModel result = new GiftsDetailModel(); var data = GiftApplication.GetById(id); // Mapper.CreateMap<Entities.GiftInfo, GiftsDetailModel>(); result = data.Map <GiftsDetailModel>(); if (data == null) { throw new Exception("礼品信息无效!"); } result.EndDateStr = data.EndDate.ToString("yyyy-MM-dd HH:mm:ss"); string tmpdefaultimg = result.GetImage(ImageSize.Size_100); result.DefaultShowImage = MallIO.GetRomoteImagePath(tmpdefaultimg); result.Images = new List <string>(); result.Description = result.Description.Replace("src=\"/Storage/", "src=\"" + Core.MallIO.GetRomoteImagePath("/Storage/") + "/"); //补充图片信息 for (var _n = 1; _n < 6; _n++) { string _imgpath = data.ImagePath + "/" + _n.ToString() + ".png"; if (MallIO.ExistFile(_imgpath)) { var tmp = MallIO.GetRomoteImagePath(result.GetImage(ImageSize.Size_500, _n)); result.Images.Add(tmp); } } #region 礼品是否可兑 result.CanBuy = true; //礼品信息 if (result.CanBuy) { if (result.GetSalesStatus != Mall.Entities.GiftInfo.GiftSalesStatus.Normal) { result.CanBuy = false; result.CanNotBuyDes = "礼品" + result.ShowSalesStatus; } } if (result.CanBuy) { //库存判断 if (result.StockQuantity < 1) { result.CanBuy = false; result.CanNotBuyDes = "已兑完"; } } if (result.CanBuy) { //积分数 if (result.NeedIntegral < 1) { result.CanBuy = false; result.CanNotBuyDes = "礼品信息错误"; } } #endregion #region 用户信息判断 if (result.CanBuy && CurrentUser != null) { //限购数量 if (result.LimtQuantity > 0) { int ownbuynumber = GiftsOrderApplication.GetOwnBuyQuantity(CurrentUser.Id, id); if (ownbuynumber >= result.LimtQuantity) { result.CanBuy = false; result.CanNotBuyDes = "限兑数量已满"; } } if (result.CanBuy) { var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUserId); if (userInte.AvailableIntegrals < result.NeedIntegral) { result.CanBuy = false; result.CanNotBuyDes = "积分不足"; } } } #endregion return(Json(result)); }