public ActionResult Index() { SignInDetailModel model = new SignInDetailModel(); model.isCurSign = false; int signday = SignIn(); if (signday > 0) { model.isCurSign = true; } model.SignConfig = signConfig; var signinfo = _iMemberSignInService.GetSignInInfo(CurrentUser.Id); model.CurSignDurationDay = signinfo.DurationDay; model.CurSignDaySum = signinfo.SignDaySum; var member = _iMemberService.GetMember(CurrentUser.Id); model.UserInfo = member; var userInte = MemberIntegralApplication.GetMemberIntegral(member.Id); if (userInte != null) { model.MemberAvailableIntegrals = userInte.AvailableIntegrals; } return(View("Detail", model)); }
public ActionResult Coupon(int page = 1) { int pagesize = 12; ObsoletePageModel <CouponInfo> coupons = _iCouponService.GetIntegralCoupons(page, pagesize); List <CouponInfo> datalist = coupons.Models.ToList(); #region 分页控制 PagingInfo info = new PagingInfo { CurrentPage = page, ItemsPerPage = pagesize, TotalItems = coupons.Total }; ViewBag.pageInfo = info; #endregion int MemberAvailableIntegrals = 0; var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id); if (userInte != null) { MemberAvailableIntegrals = userInte.AvailableIntegrals; } ViewBag.MemberAvailableIntegrals = MemberAvailableIntegrals; return(View(datalist)); }
public ActionResult Coupon(int page = 1) { if (CurrentUser == null) { string url = Request.GetDisplayUrl(); string returnurl = System.Web.HttpUtility.HtmlEncode(url); return(RedirectToAction("", "Login", new { area = "Web", returnUrl = returnurl })); } int pagesize = 12; QueryPageModel <Entities.CouponInfo> coupons = _iCouponService.GetIntegralCoupons(page, pagesize); List <Entities.CouponInfo> datalist = coupons.Models.ToList(); #region 分页控制 PagingInfo info = new PagingInfo { CurrentPage = page, ItemsPerPage = pagesize, TotalItems = coupons.Total }; ViewBag.pageInfo = info; #endregion int MemberAvailableIntegrals = 0; var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id); if (userInte != null) { MemberAvailableIntegrals = userInte.AvailableIntegrals; } ViewBag.MemberAvailableIntegrals = MemberAvailableIntegrals; ViewBag.Keyword = SiteSettings.Keyword; return(View(datalist)); }
public object GetUserInfo() { CheckUserLogin(); if (CurrentUser != null) { UserMemberInfo memberInfo = CurrentUser; var userInte = MemberIntegralApplication.GetMemberIntegral(memberInfo.Id); var userGrade = MemberGradeApplication.GetMemberGradeByUserIntegral(userInte.HistoryIntegrals); if (!string.IsNullOrEmpty(memberInfo.Photo)) { if (memberInfo.Photo.StartsWith("http")) { memberInfo.Photo = memberInfo.Photo.Replace("http://wzp.duoyunfenxiao.com", ""); } } var data = new { Id = memberInfo.Id, Photo = memberInfo.Photo, Nick = memberInfo.Nick, GradeName = userGrade.GradeName, Sex = memberInfo.Sex, CellPhone = memberInfo.CellPhone, Hobby = memberInfo.Hobby }; return(Json(new { Success = true, Data = data })); } else { return(Json(new { Success = false, Message = "未登录" })); } }
public JsonResult GetCouponList(int page = 1, int pagesize = 10) { QueryPageModel <CouponInfo> coupons = _iCouponService.GetIntegralCoupons(page, pagesize); Mapper.CreateMap <CouponInfo, CouponGetIntegralCouponModel>(); QueryPageModel <CouponGetIntegralCouponModel> result = new QueryPageModel <CouponGetIntegralCouponModel>(); result.Total = coupons.Total; if (result.Total > 0) { var datalist = coupons.Models.ToList(); var objlist = new List <CouponGetIntegralCouponModel>(); foreach (var item in datalist) { var tmp = Mapper.Map <CouponGetIntegralCouponModel>(item); tmp.ShowIntegralCover = HimallIO.GetRomoteImagePath(item.IntegralCover); var vshopobj = _iVShopService.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 = Core.HimallIO.GetRomoteImagePath(vshopobj.WXLogo); } } } if (string.IsNullOrWhiteSpace(tmp.ShowIntegralCover)) { var siteset = SiteSettingApplication.SiteSettings; tmp.ShowIntegralCover = HimallIO.GetRomoteImagePath(siteset.WXLogo); } objlist.Add(tmp); } result.Models = objlist.ToList(); } int MemberAvailableIntegrals = 0; //用户积分与等级 if (CurrentUser != null) { //登录后处理会员积分 var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id); MemberAvailableIntegrals = userInte.AvailableIntegrals; } var _result = new { success = true, MemberAvailableIntegrals = MemberAvailableIntegrals, data = result.Models }; return(Json(_result, JsonRequestBehavior.AllowGet)); }
public JsonResult ReceiveCoupons(long couponId, long shopId) { var service = _iCouponService; var model = service.GetCouponInfo(shopId, couponId); if (CurrentUser == null) { return(Json(new Result { success = false, msg = "请登录后领取", status = -1 })); } if (model.EndTime < DateTime.Now.Date) { return(Json(new Result { success = false, msg = "此优惠券已过期", status = -2 })); } var max = service.GetUserReceiveCoupon(couponId, CurrentUser.Id); if (model.PerMax != 0 && max >= model.PerMax) { return(Json(new Result { success = false, msg = "每人最多领取" + model.PerMax + "张该类型的优惠券", status = -3 })); } var record = service.GetRecordCountByCoupon(couponId); if (record >= model.Num) { return(Json(new Result { success = false, msg = "优惠券已领完", status = -3 })); } if (model.ReceiveType == Entities.CouponInfo.CouponReceiveType.IntegralExchange) { var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id); if (userInte.AvailableIntegrals < model.NeedIntegral) { return(Json(new Result { success = false, msg = "积分不足", status = -4 })); } } Entities.CouponRecordInfo info = new Entities.CouponRecordInfo(); info.UserId = CurrentUser.Id; info.UserName = CurrentUser.UserName; info.ShopId = shopId; info.CouponId = couponId; service.AddCouponRecord(info); return(Json(new Result { success = true, msg = "领取成功", status = 1 })); }
public JsonResult Coupon() { int memberIntegral = 0; List <Coupon> baseCoupons = new List <Coupon>(); long shopId = CurrentSellerManager != null ? CurrentSellerManager.ShopId : 0; if (CurrentUser != null) { memberIntegral = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id).AvailableIntegrals; //优惠卷 var coupons = CouponApplication.GetAllUserCoupon(CurrentUser.Id).ToList(); coupons = coupons == null ? new List <UserCouponInfo>() : coupons; if (coupons != null) { baseCoupons.AddRange(coupons.Select(p => new Coupon() { BasePrice = p.Price, BaseShopId = p.ShopId, BaseShopName = p.ShopName, BaseType = p.BaseType, OrderAmount = p.OrderAmount })); } //红包 var shopBonus = ShopBonusApplication.GetCanUseDetailByUserId(CurrentUser.Id); shopBonus = shopBonus == null ? new List <ShopBonusReceiveInfo>() : shopBonus; if (shopBonus != null) { baseCoupons.AddRange(shopBonus.Select(p => { var grant = _iShopBonusService.GetGrant(p.BonusGrantId); var bonus = _iShopBonusService.GetShopBonus(grant.ShopBonusId); var shop = ShopApplication.GetShop(bonus.ShopId); return(new Coupon() { BasePrice = p.Price, BaseShopId = shop.Id, BaseShopName = shop.ShopName, BaseType = p.BaseType, UseState = bonus.UseState, UsrStatePrice = bonus.UsrStatePrice }); })); } } return(Json(new { memberIntegral = memberIntegral, baseCoupons = baseCoupons, shopId = shopId }, true)); }
//领取优惠券 public object PostAcceptCoupon(CouponAcceptCouponModel value) { CheckUserLogin(); long vshopId = value.vshopId; long couponId = value.couponId; var couponService = ServiceProvider.Instance <ICouponService> .Create; var couponInfo = couponService.GetCouponInfo(couponId); if (couponInfo.EndTime < DateTime.Now) {//已经失效 return(Json(new { Status = 2, Success = "false", ErrorMsg = "优惠券已经过期." })); } CouponRecordQuery crQuery = new CouponRecordQuery(); crQuery.CouponId = couponId; crQuery.UserId = CurrentUser.Id; ObsoletePageModel <CouponRecordInfo> pageModel = couponService.GetCouponRecordList(crQuery); if (couponInfo.PerMax != 0 && pageModel.Total >= couponInfo.PerMax) {//达到个人领取最大张数 return(Json(new { Status = 3, Success = "false", ErrorMsg = "达到个人领取最大张数,不能再领取." })); } crQuery = new CouponRecordQuery() { CouponId = couponId }; pageModel = couponService.GetCouponRecordList(crQuery); if (pageModel.Total >= couponInfo.Num) {//达到领取最大张数 return(Json(new { Status = 4, Success = "false", ErrorMsg = "此优惠券已经领完了." })); } if (couponInfo.ReceiveType == Himall.Model.CouponInfo.CouponReceiveType.IntegralExchange) { var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUserId); if (userInte.AvailableIntegrals < couponInfo.NeedIntegral) { //积分不足 return(Json(new { Status = 5, Success = "false", ErrorMsg = "积分不足 " + couponInfo.NeedIntegral.ToString() })); } } CouponRecordInfo couponRecordInfo = new CouponRecordInfo() { CouponId = couponId, UserId = CurrentUser.Id, UserName = CurrentUser.UserName, ShopId = couponInfo.ShopId }; couponService.AddCouponRecord(couponRecordInfo); return(Json(new { Status = 1, Success = "true" }));//执行成功 }
public JsonResult AcceptCoupon(long vshopid, long couponid) { var couponService = _iCouponService; var couponInfo = couponService.GetCouponInfo(couponid); if (couponInfo.EndTime < DateTime.Now) {//已经失效 return(ErrorResult("优惠券已经过期.", 2, true)); } CouponRecordQuery crQuery = new CouponRecordQuery(); crQuery.CouponId = couponid; crQuery.UserId = CurrentUser.Id; var pageModel = couponService.GetCouponRecordList(crQuery); if (couponInfo.PerMax != 0 && pageModel.Total >= couponInfo.PerMax) {//达到个人领取最大张数 return(Json(new { code = 3, success = false, msg = "达到个人领取最大张数,不能再领取." })); } crQuery = new CouponRecordQuery() { CouponId = couponid }; pageModel = couponService.GetCouponRecordList(crQuery); if (pageModel.Total >= couponInfo.Num) {//达到领取最大张数 return(Json(new { code = 4, success = false, msg = "此优惠券已经领完了." })); } int MemberAvailableIntegrals = 0; if (couponInfo.ReceiveType == Entities.CouponInfo.CouponReceiveType.IntegralExchange) { var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id); if (userInte.AvailableIntegrals < couponInfo.NeedIntegral) { //积分不足 return(Json(new { code = 5, success = false, msg = "积分不足 " + couponInfo.NeedIntegral.ToString() })); } MemberAvailableIntegrals = userInte.AvailableIntegrals; } Entities.CouponRecordInfo couponRecordInfo = new Entities.CouponRecordInfo() { CouponId = couponid, UserId = CurrentUser.Id, UserName = CurrentUser.UserName, ShopId = couponInfo.ShopId }; couponService.AddCouponRecord(couponRecordInfo); return(Json(new { code = 0, success = true, msg = "领取成功", crid = couponRecordInfo.Id, Integral_balance = MemberAvailableIntegrals }));//执行成功 }
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 })); }
/// <summary> /// 积分商城 /// </summary> /// <returns></returns> public ActionResult Index() { IntegralMallPageModel result = new IntegralMallPageModel(); //Logo ViewBag.Logo = SiteSettings.Logo; //优惠券数据 result.CouponPageSize = 6; QueryPageModel <Entities.CouponInfo> coupons = _iCouponService.GetIntegralCoupons(1, result.CouponPageSize); result.CouponList = coupons.Models.ToList(); result.CouponTotal = coupons.Total; result.CouponMaxPage = GetMaxPage(result.CouponTotal, result.CouponPageSize); //礼品数据 result.GiftPageSize = 12; GiftQuery query = new GiftQuery(); query.skey = ""; query.status = GiftInfo.GiftSalesStatus.Normal; query.PageSize = result.GiftPageSize; query.PageNo = 1; QueryPageModel <GiftModel> gifts = _iGiftService.GetGifts(query); result.GiftList = gifts.Models.ToList(); result.GiftTotal = gifts.Total; result.GiftMaxPage = GetMaxPage(result.GiftTotal, result.GiftPageSize); if (CurrentUser != null) { //登录后处理会员积分 var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id); var userGrade = MemberGradeApplication.GetMemberGradeByUserIntegral(userInte.HistoryIntegrals); result.MemberAvailableIntegrals = userInte.AvailableIntegrals; result.MemberGradeName = userGrade.GradeName; } ViewBag.Keyword = SiteSettings.Keyword; return(View(result)); }
/// <summary> /// 是否可领取优惠券 /// </summary> /// <param name="vshopId"></param> /// <param name="couponId"></param> /// <returns></returns> private int Receive(long vshopId, long couponId) { if (CurrentUser != null && CurrentUser.Id > 0)//未登录不可领取 { var couponService = ServiceProvider.Instance <ICouponService> .Create; var couponInfo = couponService.GetCouponInfo(couponId); if (couponInfo.EndTime < DateTime.Now) { return(2); //已经失效 } CouponRecordQuery crQuery = new CouponRecordQuery(); crQuery.CouponId = couponId; crQuery.UserId = CurrentUser.Id; QueryPageModel <CouponRecordInfo> pageModel = couponService.GetCouponRecordList(crQuery); if (couponInfo.PerMax != 0 && pageModel.Total >= couponInfo.PerMax) { return(3); //达到个人领取最大张数 } crQuery = new CouponRecordQuery() { CouponId = couponId }; pageModel = couponService.GetCouponRecordList(crQuery); if (pageModel.Total >= couponInfo.Num) { return(4); //达到领取最大张数 } if (couponInfo.ReceiveType == CouponInfo.CouponReceiveType.IntegralExchange) { var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUserId); if (userInte.AvailableIntegrals < couponInfo.NeedIntegral) { return(5); //积分不足 } } return(1);//可正常领取 } return(0); }
private user_list_model UserMemberInfoMapDTO(Entities.MemberInfo data) { user_list_model result = null; if (data != null) { result = new user_list_model(); var ui = MemberIntegralApplication.GetMemberIntegral(data.Id); if (ui == null) { ui = new Himall.Entities.MemberIntegralInfo { MemberId = data.Id, AvailableIntegrals = 0, HistoryIntegrals = 0 }; } result.uid = (int)data.Id; result.user_name = data.UserName; result.created = data.CreateDate; result.real_name = data.RealName; result.mobile = data.CellPhone; result.email = data.Email; result.avatar = Himall.Core.HimallIO.GetRomoteImagePath(data.Photo); result.sex = data.Sex.ToDescription(); result.birthday = data.BirthDay; result.state = ""; result.city = ""; result.district = ""; result.town = ""; result.address = ""; result.points = ui.AvailableIntegrals; result.trade_count = data.OrderNumber; result.trade_amount = data.NetAmount; } return(result); }
/// <summary> /// 礼品详情 /// </summary> /// <returns></returns> public ActionResult Detail(long id) { GiftDetailPageModel result = new Models.GiftDetailPageModel(); var data = _iGiftService.GetById(id); if (data == null) { throw new HimallException("礼品信息无效!"); } Mapper.CreateMap <GiftInfo, GiftModel>(); result.GiftData = Mapper.Map <GiftModel>(data); int hotnum = 10; GiftQuery query = new GiftQuery(); query.skey = ""; query.status = GiftInfo.GiftSalesStatus.Normal; query.PageSize = hotnum; query.PageNo = 1; query.Sort = "SalesNumber"; query.IsAsc = false; QueryPageModel <GiftModel> hotgifts = _iGiftService.GetGifts(query); result.HotGifts = hotgifts.Models.ToList(); #region 礼品是否可兑 result.GiftCanBuy = true; //礼品信息 if (result.GiftCanBuy) { if (result.GiftData.GetSalesStatus != GiftInfo.GiftSalesStatus.Normal) { result.GiftCanBuy = false; result.CanNotBuyDes = "礼品" + result.GiftData.ShowSalesStatus; if (result.GiftData.GetSalesStatus == GiftInfo.GiftSalesStatus.HasExpired) { result.CanNotBuyDes = "活动已结束";//统一app名称而加 } } } if (result.GiftCanBuy) { //库存判断 if (result.GiftData.StockQuantity < 1) { result.GiftCanBuy = false; result.CanNotBuyDes = "已兑完"; } } if (result.GiftCanBuy) { //积分数 if (result.GiftData.NeedIntegral < 1) { result.GiftCanBuy = false; result.CanNotBuyDes = "礼品信息错误"; } } #endregion #region 用户信息判断 if (result.GiftCanBuy && CurrentUser != null) { //限购数量 if (result.GiftData.LimtQuantity > 0) { int ownbuynumber = _iGiftsOrderService.GetOwnBuyQuantity(CurrentUser.Id, id); if (ownbuynumber >= result.GiftData.LimtQuantity) { result.GiftCanBuy = false; result.CanNotBuyDes = "限兑数量已满"; } } if (result.GiftCanBuy) { var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id); if (userInte.AvailableIntegrals < result.GiftData.NeedIntegral) { result.GiftCanBuy = false; result.CanNotBuyDes = "积分不足"; } } } #endregion ViewBag.Keyword = SiteSettings.Keyword; return(View(result)); }
public JsonResult OrderSubmit(long id, long regionId, int count) { Result result = new Result() { success = false, msg = "未知错误", status = 0 }; bool isdataok = true; if (count < 1) { isdataok = false; result.success = false; result.msg = "错误的兑换数量!"; result.status = -8; return(Json(result)); } //Checkout List <GiftOrderItemModel> gorditemlist = new List <GiftOrderItemModel>(); #region 礼品信息判断 //礼品信息 GiftInfo giftdata = _iGiftService.GetById(id); if (giftdata == null) { isdataok = false; result.success = false; result.msg = "礼品不存在!"; result.status = -2; return(Json(result)); } if (giftdata.GetSalesStatus != GiftInfo.GiftSalesStatus.Normal) { isdataok = false; result.success = false; result.msg = "礼品已失效!"; result.status = -2; return(Json(result)); } //库存判断 if (count > giftdata.StockQuantity) { isdataok = false; result.success = false; result.msg = "礼品库存不足,仅剩 " + giftdata.StockQuantity.ToString() + " 件!"; result.status = -3; return(Json(result)); } //积分数 if (giftdata.NeedIntegral < 1) { isdataok = false; result.success = false; result.msg = "礼品关联等级信息有误或礼品积分数据有误!"; result.status = -5; return(Json(result)); } #endregion #region 用户信息判断 //限购数量 if (giftdata.LimtQuantity > 0) { int ownbuynumber = _iGiftsOrderService.GetOwnBuyQuantity(CurrentUser.Id, id); if (ownbuynumber + count > giftdata.LimtQuantity) { isdataok = false; result.success = false; result.msg = "超过礼品限兑数量!"; result.status = -4; return(Json(result)); } } var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id); if (giftdata.NeedIntegral * count > userInte.AvailableIntegrals) { isdataok = false; result.success = false; result.msg = "积分不足!"; result.status = -6; return(Json(result)); } if (giftdata.NeedGrade > 0) { //等级判定 if (!MemberGradeApplication.IsAllowGrade(CurrentUser.Id, giftdata.NeedGrade)) { isdataok = false; result.success = false; result.msg = "用户等级不足!"; result.status = -6; return(Json(result)); } } #endregion Entities.ShippingAddressInfo shipdata = GetShippingAddress(regionId); if (shipdata == null) { isdataok = false; result.success = false; result.msg = "错误的收货人地址信息!"; result.status = -6; return(Json(result)); } if (isdataok) { gorditemlist.Add(new GiftOrderItemModel { GiftId = giftdata.Id, Counts = count }); GiftOrderModel createorderinfo = new GiftOrderModel(); createorderinfo.Gifts = gorditemlist; createorderinfo.CurrentUser = CurrentUser; createorderinfo.ReceiveAddress = shipdata; Himall.Entities.GiftOrderInfo orderdata = _iGiftsOrderService.CreateOrder(createorderinfo); result.success = true; result.msg = orderdata.Id.ToString(); result.status = 1; } return(Json(result)); }
/// <summary> /// 首页 /// </summary> /// <returns></returns> public ActionResult Index() { //轮播图 GiftsIndexModel result = new GiftsIndexModel(); var slidads = SlideApplication.GetSlidAds(0, Entities.SlideAdInfo.SlideAdType.AppGifts).ToList(); foreach (var item in slidads) { item.ImageUrl = HimallIO.GetRomoteImagePath(item.ImageUrl); } result.SlideAds = slidads; //大转盘刮刮卡 var robj = _iGiftService.GetAdInfo(IntegralMallAdInfo.AdActivityType.Roulette, IntegralMallAdInfo.AdShowPlatform.APP); if (robj != null) { robj.LinkUrl = "/m-wap/BigWheel/index/" + robj.ActivityId; result.WeiActives.Add(robj); } var cobj = _iGiftService.GetAdInfo(IntegralMallAdInfo.AdActivityType.ScratchCard, IntegralMallAdInfo.AdShowPlatform.APP); if (cobj != null) { cobj.LinkUrl = "/m-wap/ScratchCard/index/" + cobj.ActivityId; result.WeiActives.Add(cobj); } //首页礼品 GiftQuery query = new GiftQuery(); query.skey = ""; query.status = GiftInfo.GiftSalesStatus.Normal; query.PageSize = 4; query.PageNo = 1; QueryPageModel <GiftModel> gifts = _iGiftService.GetGifts(query); result.HomeGiftses = gifts.Models.ToList(); result.HasMoreGifts = gifts.Total > 4; foreach (var item in result.HomeGiftses) { item.DefaultShowImage = HimallIO.GetRomoteImagePath(item.GetImage(ImageSize.Size_350)); } //积分优惠券 var coupons = _iCouponService.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 = Mapper.Map <CouponGetIntegralCouponModel>(item); tmp.ShowIntegralCover = HimallIO.GetRomoteImagePath(item.IntegralCover); var vshopobj = _iVShopService.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 = HimallIO.GetRomoteImagePath(vshopobj.WXLogo); } } } if (string.IsNullOrWhiteSpace(tmp.ShowIntegralCover)) { var siteset = SiteSettingApplication.SiteSettings; tmp.ShowIntegralCover = HimallIO.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(View(result)); }
public JsonResult CanBuy(long id, int count) { Result result = new Result(); bool isdataok = true; if (CurrentUser == null) { isdataok = false; result.success = false; result.msg = "您还未登录!"; result.status = -1; return(Json(result)); } #region 礼品信息判断 //礼品信息 GiftInfo giftdata = _iGiftService.GetById(id); if (isdataok) { if (giftdata == null) { isdataok = false; result.success = false; result.msg = "礼品不存在!"; result.status = -2; } } if (isdataok) { if (giftdata.GetSalesStatus != GiftInfo.GiftSalesStatus.Normal) { isdataok = false; result.success = false; result.msg = "礼品已失效!"; result.status = -2; } } if (isdataok) { //库存判断 if (count > giftdata.StockQuantity) { isdataok = false; result.success = false; result.msg = "礼品库存不足,仅剩 " + giftdata.StockQuantity.ToString() + " 件!"; result.status = -3; } } if (isdataok) { //积分数 if (giftdata.NeedIntegral < 1) { isdataok = false; result.success = false; result.msg = "礼品关联等级信息有误或礼品积分数据有误!"; result.status = -5; return(Json(result)); } } #endregion #region 用户信息判断 if (isdataok) { //限购数量 if (giftdata.LimtQuantity > 0) { int ownbuynumber = _iGiftsOrderService.GetOwnBuyQuantity(CurrentUser.Id, id); if (ownbuynumber + count > giftdata.LimtQuantity) { isdataok = false; result.success = false; result.msg = "超过礼品限兑数量!"; result.status = -4; } } } if (isdataok) { var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id); if (giftdata.NeedIntegral * count > userInte.AvailableIntegrals) { isdataok = false; result.success = false; result.msg = "积分不足!"; result.status = -6; } } if (isdataok && giftdata.NeedGrade > 0) { //等级判定 if (!MemberGradeApplication.IsAllowGrade(CurrentUser.Id, giftdata.NeedGrade)) { isdataok = false; result.success = false; result.msg = "用户等级不足!"; result.status = -6; } } #endregion if (isdataok) { result.success = true; result.msg = "可以购买!"; result.status = 1; } return(Json(result)); }
/// <summary> /// 提交并处理预约单 /// </summary> /// <param name="id"></param> /// <param name="regionId"></param> /// <param name="count"></param> /// <returns></returns> public Result SubmitOrder(GiftConfirmOrder value) { Result result = new Result() { success = false, msg = "未知错误", status = 0 }; bool isdataok = true; long id = value.ID; var regionId = value.RegionId; if (regionId < 1) { result.success = false; result.msg = "错误的收货地址!"; result.status = -8; return(result); } int count = value.Count; if (count < 1) { isdataok = false; result.success = false; result.msg = "错误的兑换数量!"; result.status = -8; return(result); } if (CurrentUser == null) { isdataok = false; result.success = false; result.msg = "用户未登录!"; result.status = -6; return(result); } //Checkout List <GiftOrderItemModel> gorditemlist = new List <GiftOrderItemModel>(); var curUser = _iMemberService.GetMember(CurrentUser.Id); if (curUser == null) { isdataok = false; result.success = false; result.msg = "用户登录错误!"; result.status = -6; return(result); } var userInte = MemberIntegralApplication.GetMemberIntegral(curUser.Id); #region 礼品信息判断 //礼品信息 GiftInfo giftdata = _iGiftService.GetById(id); if (giftdata == null) { isdataok = false; result.success = false; result.msg = "礼品不存在!"; result.status = -2; return(result); } if (giftdata.GetSalesStatus != GiftInfo.GiftSalesStatus.Normal) { isdataok = false; result.success = false; result.msg = "礼品已失效!"; result.status = -2; return(result); } //库存判断 if (count > giftdata.StockQuantity) { isdataok = false; result.success = false; result.msg = "礼品库存不足,仅剩 " + giftdata.StockQuantity.ToString() + " 件!"; result.status = -3; return(result); } //积分数 if (giftdata.NeedIntegral < 1) { isdataok = false; result.success = false; result.msg = "礼品关联等级信息有误或礼品积分数据有误!"; result.status = -5; return(result); } #endregion #region 用户信息判断 //限购数量 if (giftdata.LimtQuantity > 0) { int ownbuynumber = _iGiftsOrderService.GetOwnBuyQuantity(CurrentUser.Id, id); if (ownbuynumber + count > giftdata.LimtQuantity) { isdataok = false; result.success = false; result.msg = "超过礼品限兑数量!"; result.status = -4; return(result); } } if (giftdata.NeedIntegral * count > userInte.AvailableIntegrals) { isdataok = false; result.success = false; result.msg = "积分不足!"; result.status = -6; return(result); } if (giftdata.NeedGrade > 0) { var memgradeid = _iMemberGradeService.GetMemberGradeByUserId(curUser.Id); //等级判定 if (!_iMemberGradeService.IsOneGreaterOrEqualTwo(memgradeid, giftdata.NeedGrade)) { isdataok = false; result.success = false; result.msg = "用户等级不足!"; result.status = -6; return(result); } } #endregion ShippingAddressInfo shipdata = GetShippingAddress(regionId); if (shipdata == null) { isdataok = false; result.success = false; result.msg = "错误的收货人地址信息!"; result.status = -6; return(result); } if (isdataok) { gorditemlist.Add(new GiftOrderItemModel { GiftId = giftdata.Id, Counts = count }); GiftOrderModel createorderinfo = new GiftOrderModel(); createorderinfo.Gifts = gorditemlist; createorderinfo.CurrentUser = curUser; createorderinfo.ReceiveAddress = shipdata; GiftOrderInfo orderdata = _iGiftsOrderService.CreateOrder(createorderinfo); result.success = true; result.msg = orderdata.Id.ToString(); result.status = 1; } return(result); }
/// <summary> /// 礼品详情 /// </summary> /// <returns></returns> public ActionResult Detail(long id) { GiftsDetailModel result = new GiftsDetailModel(); var data = _iGiftService.GetById(id); Mapper.CreateMap <GiftInfo, GiftsDetailModel>(); result = Mapper.Map <GiftsDetailModel>(data); if (result == null) { throw new Exception("礼品信息无效!"); } string tmpdefaultimg = result.GetImage(ImageSize.Size_100); result.DefaultShowImage = HimallIO.GetRomoteImagePath(tmpdefaultimg); result.Images = new List <string>(); result.Description = result.Description.Replace("src=\"/Storage/", "src=\"" + Core.HimallIO.GetRomoteImagePath("/Storage/") + "/"); //补充图片信息 for (var _n = 1; _n < 6; _n++) { string _imgpath = data.ImagePath + "/" + _n.ToString() + ".png"; if (HimallIO.ExistFile(_imgpath)) { var tmp = HimallIO.GetRomoteImagePath(result.GetImage(ImageSize.Size_500, _n)); result.Images.Add(tmp); } } #region 礼品是否可兑 result.CanBuy = true; //礼品信息 if (result.CanBuy) { if (result.GetSalesStatus != GiftInfo.GiftSalesStatus.Normal) { result.CanBuy = false; result.CanNotBuyDes = "礼品" + result.ShowSalesStatus; if (result.GetSalesStatus == GiftInfo.GiftSalesStatus.HasExpired) { result.CanNotBuyDes = "活动已结束";//统一app名称而加 } } } 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 = _iGiftsOrderService.GetOwnBuyQuantity(CurrentUser.Id, id); if (ownbuynumber >= result.LimtQuantity) { result.CanBuy = false; result.CanNotBuyDes = "限兑数量已满"; } } if (result.CanBuy) { var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUser.Id); if (userInte.AvailableIntegrals < result.NeedIntegral) { result.CanBuy = false; result.CanNotBuyDes = "积分不足"; } } } #endregion return(View(result)); }
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 })); }
/// <summary> /// 领取优惠券 /// </summary> /// <returns></returns> public JsonResult <Result <int> > GetUserCoupon(string openId, long couponId) { CheckUserLogin(); bool status = true; string message = ""; //long vshopId = vspId;// value.vshopId; 店铺Id //long couponId = couponId;// value.couponId; 优惠劵Id var couponInfo = CouponApplication.GetCouponInfo(couponId); if (couponInfo.EndTime < DateTime.Now) {//已经失效 status = false; message = "优惠券已经过期"; } CouponRecordQuery crQuery = new CouponRecordQuery(); crQuery.CouponId = couponId; crQuery.UserId = CurrentUser.Id; QueryPageModel <CouponRecordInfo> pageModel = CouponApplication.GetCouponRecordList(crQuery); if (couponInfo.PerMax != 0 && pageModel.Total >= couponInfo.PerMax) {//达到个人领取最大张数 status = false; message = "达到领取最大张数"; } crQuery = new CouponRecordQuery() { CouponId = couponId }; pageModel = CouponApplication.GetCouponRecordList(crQuery); if (pageModel.Total >= couponInfo.Num) {//达到领取最大张数 status = false; message = "此优惠券已经领完了"; } if (couponInfo.ReceiveType == CouponInfo.CouponReceiveType.IntegralExchange) { var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUserId); if (userInte.AvailableIntegrals < couponInfo.NeedIntegral) { //积分不足 status = false; message = "积分不足 "; } } if (status) { CouponRecordInfo couponRecordInfo = new CouponRecordInfo() { CouponId = couponId, UserId = CurrentUser.Id, UserName = CurrentUser.UserName, ShopId = couponInfo.ShopId }; CouponApplication.AddCouponRecord(couponRecordInfo); return(JsonResult <int>(msg: "领取成功"));//执行成功 } else { return(Json(ErrorResult <int>(message))); } }
/// <summary> /// 领取优惠券 /// </summary> /// <returns></returns> public object GetUserCoupon(string openId, long couponId) { CheckUserLogin(); bool status = true; string message = ""; //long vshopId = vspId;// value.vshopId; 店铺Id //long couponId = couponId;// value.couponId; 优惠劵Id var couponService = ServiceProvider.Instance <ICouponService> .Create; var couponInfo = couponService.GetCouponInfo(couponId); if (couponInfo.EndTime < DateTime.Now) {//已经失效 status = false; message = "优惠券已经过期"; } CouponRecordQuery crQuery = new CouponRecordQuery(); crQuery.CouponId = couponId; crQuery.UserId = CurrentUser.Id; ObsoletePageModel <CouponRecordInfo> pageModel = couponService.GetCouponRecordList(crQuery); if (couponInfo.PerMax != 0 && pageModel.Total >= couponInfo.PerMax) {//达到个人领取最大张数 status = false; message = "达到领取最大张数"; } crQuery = new CouponRecordQuery() { CouponId = couponId }; pageModel = couponService.GetCouponRecordList(crQuery); if (pageModel.Total >= couponInfo.Num) {//达到领取最大张数 status = false; message = "此优惠券已经领完了"; } if (couponInfo.ReceiveType == Himall.Model.CouponInfo.CouponReceiveType.IntegralExchange) { var userInte = MemberIntegralApplication.GetMemberIntegral(CurrentUserId); if (userInte.AvailableIntegrals < couponInfo.NeedIntegral) { //积分不足 status = false; message = "积分不足 "; } } if (status) { CouponRecordInfo couponRecordInfo = new CouponRecordInfo() { CouponId = couponId, UserId = CurrentUser.Id, UserName = CurrentUser.UserName, ShopId = couponInfo.ShopId }; couponService.AddCouponRecord(couponRecordInfo); return(Json(new { Status = "OK", Message = "领取成功" }));//执行成功 } else { return(Json(new { Status = "NO", Message = message })); } }
public ActionResult Center() { MemberCenterModel model = new MemberCenterModel(); var orders = _iOrderService.GetTopOrders(int.MaxValue, CurrentUser.Id); var setting = _iDistributionService.GetDistributionSetting(); model.CanDistribution = false; if (setting != null && setting.Enable) { model.CanDistribution = true; } //待评价 //var queryModel = new OrderQuery() //{ // Status = Model.OrderInfo.OrderOperateStatus.Finish, // UserId = CurrentUser.Id, // PageSize = int.MaxValue, // PageNo = 1, // Commented = false //}; //ViewBag.WaitingForComments = _iOrderService.GetOrders<OrderInfo>(queryModel).Total; var member = _iMemberService.GetMember(CurrentUser.Id); model.Member = member; model.AllOrders = orders.Count(); model.WaitingForRecieve = orders.Count(item => item.UserId == CurrentUser.Id && (item.OrderStatus == Model.OrderInfo.OrderOperateStatus.WaitReceiving || item.OrderStatus == OrderInfo.OrderOperateStatus.WaitSelfPickUp)); //获取待收货订单数 model.WaitingForPay = orders.Count(item => item.OrderStatus == Model.OrderInfo.OrderOperateStatus.WaitPay); //获取待支付订单数 var waitdelordnum = orders.Count(item => item.OrderStatus == Model.OrderInfo.OrderOperateStatus.WaitDelivery); //获取待发货订单数 var fgwaitdelordnum = _iOrderService.GetFightGroupOrderByUser(CurrentUser.Id); model.WaitingForDelivery = waitdelordnum - fgwaitdelordnum; model.WaitingForComments = orders.Count(item => item.OrderStatus == Model.OrderInfo.OrderOperateStatus.Finish && item.OrderCommentInfo.Count == 0); //拼团 model.CanFightGroup = FightGroupApplication.IsOpenMarketService(); model.BulidFightGroupNumber = FightGroupApplication.CountJoiningOrder(CurrentUser.Id); RefundQuery query = new RefundQuery() { UserId = CurrentUser.Id, PageNo = 1, PageSize = int.MaxValue }; var refundPage = _iRefundService.GetOrderRefunds(query); DateTime endsrtime = DateTime.Now.Date; if (CurrentSiteSetting.SalesReturnTimeout > 0) { endsrtime = endsrtime.AddDays(-CurrentSiteSetting.SalesReturnTimeout).Date; } model.RefundOrders = refundPage.Models.Where(e => e.ManagerConfirmStatus == OrderRefundInfo.OrderRefundConfirmStatus.UnConfirm || (e.SellerAuditStatus == OrderRefundInfo.OrderRefundAuditStatus.UnAudit && e.OrderItemInfo.OrderInfo.FinishDate >= endsrtime)).Count(); var capital = _iMemberCapitalService.GetCapitalInfo(CurrentUser.Id); decimal cap; if (capital != null) { cap = capital.Balance.HasValue ? capital.Balance.Value : 0; } else { cap = 0; } model.Capital = cap; var CouponsCount = _iCouponService.GetAllUserCoupon(CurrentUser.Id).Count(); CouponsCount += _iShopBonusService.GetCanUseDetailByUserId(CurrentUser.Id).Count(); model.CouponsCount = CouponsCount; var userInte = MemberIntegralApplication.GetMemberIntegral(UserId); var userGrade = MemberGradeApplication.GetMemberGradeByUserIntegral(userInte.HistoryIntegrals); model.GradeName = userGrade.GradeName; model.MemberAvailableIntegrals = userInte.AvailableIntegrals; model.CollectionShop = _iVShopService.GetUserConcernVShops(CurrentUser.Id, 1, int.MaxValue).Count(); model.CanSignIn = _iMemberSignInService.CanSignInByToday(CurrentUser.Id); model.SignInIsEnable = _iMemberSignInService.GetConfig().IsEnable; model.userMemberInfo = CurrentUser; return(View(model)); }
public ActionResult Center() { var userId = CurrentUser.Id; MemberCenterModel model = new MemberCenterModel(); var statistic = StatisticApplication.GetMemberOrderStatistic(userId, true); var member = _iMemberService.GetMember(userId); model.Member = member; model.AllOrders = statistic.OrderCount; model.WaitingForRecieve = statistic.WaitingForRecieve + OrderApplication.GetWaitConsumptionOrderNumByUserId(UserId); model.WaitingForPay = statistic.WaitingForPay; model.WaitingForDelivery = statistic.WaitingForDelivery; model.WaitingForComments = statistic.WaitingForComments; model.RefundOrders = statistic.RefundCount; model.FavoriteProductCount = FavoriteApplication.GetFavoriteCountByUser(userId); //拼团 model.CanFightGroup = FightGroupApplication.IsOpenMarketService(); model.BulidFightGroupNumber = FightGroupApplication.CountJoiningOrder(userId); model.Capital = MemberCapitalApplication.GetBalanceByUserId(userId); model.CouponsCount = MemberApplication.GetAvailableCouponCount(userId); var integral = MemberIntegralApplication.GetMemberIntegral(userId); model.GradeName = MemberGradeApplication.GetMemberGradeByUserIntegral(integral.HistoryIntegrals).GradeName; model.MemberAvailableIntegrals = MemberIntegralApplication.GetAvailableIntegral(userId); model.CollectionShop = ShopApplication.GetUserConcernShopsCount(userId); model.CanSignIn = _iMemberSignInService.CanSignInByToday(userId); model.SignInIsEnable = _iMemberSignInService.GetConfig().IsEnable; model.userMemberInfo = CurrentUser; model.IsOpenRechargePresent = SiteSettings.IsOpenRechargePresent; model.DistributionOpenMyShopShow = SiteSettings.DistributorRenameOpenMyShop; model.DistributionMyShopShow = SiteSettings.DistributorRenameMyShop; if (PlatformType == PlatformType.WeiXin) { //分销 model.IsShowDistributionOpenMyShop = SiteSettings.DistributionIsEnable; var duser = DistributionApplication.GetDistributor(CurrentUser.Id); if (duser != null && duser.DistributionStatus != (int)DistributorStatus.UnApply) { model.IsShowDistributionOpenMyShop = false; //拒绝的分销员显示“我要开店” if (duser.DistributionStatus == (int)DistributorStatus.Refused || duser.DistributionStatus == (int)DistributorStatus.UnAudit) { model.IsShowDistributionOpenMyShop = true && SiteSettings.DistributionIsEnable; } model.IsShowDistributionMyShop = true && SiteSettings.DistributionIsEnable; if (duser.DistributionStatus == (int)DistributorStatus.NotAvailable || duser.DistributionStatus == (int)DistributorStatus.Refused || duser.DistributionStatus == (int)DistributorStatus.UnAudit) { model.IsShowDistributionMyShop = false; } } } _iMemberService.AddIntegel(member); //给用户加积分//执行登录后初始化相关操作 return(View(model)); }