public object GetUser(string UserKey) { CheckUserLogin(); dynamic data = SuccessResult(); long userId = CurrentUser.Id; var member = MemberApplication.GetMember(userId); data.UserId = member.Id; data.UserName = member.UserName; data.Photo = string.IsNullOrEmpty(member.Photo) ? "" : HimallIO.GetRomoteImagePath(member.Photo); data.CellPhone = member.CellPhone; data.QQ = member.QQ; data.BirthDay = member.BirthDay; data.Nick = member.Nick; data.RealName = member.RealName; data.Sex = (int)member.Sex; var orderStatic = StatisticApplication.GetMemberOrderStatistic(userId, true); //用户所有订单 data.AllOrders = orderStatic.OrderCount; //待付款订单 data.WaitingForPay = orderStatic.WaitingForPay; //待发货订单 data.WaitingForDelivery = orderStatic.WaitingForDelivery;//获取待发货订单数 //未评论订单 data.WaitingForComments = orderStatic.WaitingForComments; //待收货订单/待消费 data.WaitingForRecieve = orderStatic.WaitingForRecieve + OrderApplication.GetWaitConsumptionOrderNumByUserId(userId); //待处理的售后 data.RefundOrders = orderStatic.RefundCount; data.FavoriteShop = ShopApplication.GetUserConcernShopsCount(userId); data.FavoriteProduct = FavoriteApplication.GetFavoriteCountByUser(userId); data.Coupon = MemberApplication.GetAvailableCouponCount(userId); data.Integral = MemberIntegralApplication.GetAvailableIntegral(userId); data.Balance = MemberCapitalApplication.GetBalanceByUserId(userId); //用户参与的团数量 var seastatus = new List <FightGroupOrderJoinStatus> { FightGroupOrderJoinStatus.Ongoing, FightGroupOrderJoinStatus.JoinSuccess, FightGroupOrderJoinStatus.BuildFailed, FightGroupOrderJoinStatus.BuildSuccess }; //TODO:FG 查询待优化 data.GroupTotal = ServiceProvider.Instance <IFightGroupService> .Create.GetJoinGroups(userId, seastatus, 1, 1).Total; data.MyGroup = ServiceProvider.Instance <IFightGroupService> .Create.CountJoiningOrder(userId); data.IsOpenRechargePresent = SiteSettingApplication.SiteSettings.IsOpenRechargePresent; MemberApplication.AddIntegel(member);//给用户加积分//执行登录后初始化相关操作 return(data); }
public ActionResult OrderShare(string orderids, string source) { if (string.IsNullOrWhiteSpace(orderids)) { throw new HimallException("预约单号不能为空!"); } long orderId = 0L; IEnumerable <long> enumerable = orderids.Split(new char[] { ',' }).Select <string, long>(delegate(string e) { if (long.TryParse(e, out orderId)) { return(orderId); } return(0L); }); if (MemberIntegralApplication.OrderIsShared(enumerable)) { ViewBag.IsShared = true; } ViewBag.Source = source; ViewBag.OrderIds = orderids; List <OrderDetailView> orderDetailViews = OrderApplication.GetOrderDetailViews(enumerable); return(base.View(orderDetailViews)); }
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 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 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 JsonResult <Result <dynamic> > GetIntegralRecordList(string openId, int pageNo = 1, int pageSize = 10) { CheckUserLogin(); IntegralRecordQuery query = new IntegralRecordQuery { UserId = CurrentUserId, PageNo = pageNo, PageSize = pageSize }; var list = MemberIntegralApplication.GetIntegralRecordList(query); if (list.Models != null) { var recordlist = list.Models.Select(a => { var actions = ServiceProvider.Instance <IMemberIntegralService> .Create.GetIntegralRecordAction(a.Id); return(new { Id = a.Id, MemberId = a.MemberId, UserName = a.UserName, TypeName = (a.TypeId == MemberIntegralInfo.IntegralType.WeiActivity) ? a.ReMark : a.TypeId.ToDescription(), Integral = a.Integral, RecordDate = ((DateTime)a.RecordDate).ToString("yyyy-MM-dd HH:mm:ss"), ReMark = GetRemarkFromIntegralType(a.TypeId, actions, a.ReMark) }); }); return(JsonResult <dynamic>(recordlist)); } return(JsonResult <dynamic>(new int[0])); }
/// <summary> /// 侧边我的资产 /// </summary> /// <returns></returns> public ActionResult MyAsset() { MyAssetViewModel result = new Models.MyAssetViewModel(); result.MyCouponCount = 0; result.isLogin = CurrentUser != null; ViewBag.isLogin = result.isLogin ? "true" : "false"; //用户积分 result.MyMemberIntegral = result.isLogin ? MemberIntegralApplication.GetAvailableIntegral(CurrentUser.Id) : 0; //关注商品 result.MyConcernsProducts = result.isLogin ? _iProductService.GetUserAllConcern(CurrentUser.Id, 10) : new List <Entities.FavoriteInfo>(); //优惠卷 var coupons = result.isLogin ? _iCouponService.GetAllUserCoupon(CurrentUser.Id).ToList() : new List <UserCouponInfo>(); coupons = coupons == null ? new List <UserCouponInfo>() : coupons; result.MyCoupons = coupons; result.MyCouponCount += result.MyCoupons.Count(); //红包 result.MyShopBonus = ShopBonusApplication.GetShopBounsByUser(CurrentUser.Id); result.MyCouponCount += result.MyShopBonus.Count(); //浏览的商品 var browsingPro = result.isLogin ? BrowseHistrory.GetBrowsingProducts(10, CurrentUser == null ? 0 : CurrentUser.Id) : new List <ProductBrowsedHistoryModel>(); result.MyBrowsingProducts = browsingPro; ViewBag.Keyword = SiteSettings.Keyword; return(View(result)); }
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 ActionResult OrderShare(string orderids, string source) { if (string.IsNullOrWhiteSpace(orderids)) { throw new MallException("订单号不能为空!"); } long orderId = 0; var ids = orderids.Split(',').Select(e => { if (long.TryParse(e, out orderId)) { return(orderId); } else { return(0); } } ); if (MemberIntegralApplication.OrderIsShared(ids)) { ViewBag.IsShared = true; } ViewBag.Source = source; ViewBag.OrderIds = orderids; var orders = OrderApplication.GetOrderDetailViews(ids); return(View(orders)); }
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 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(ErrorResult("优惠券已经过期.", 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(ErrorResult("达到个人领取最大张数,不能再领取.", 3)); } crQuery = new CouponRecordQuery() { CouponId = couponId }; pageModel = couponService.GetCouponRecordList(crQuery); if (pageModel.Total >= couponInfo.Num) { //达到领取最大张数 return(ErrorResult("此优惠券已经领完了.", 4)); } if (couponInfo.ReceiveType == CouponInfo.CouponReceiveType.IntegralExchange) { var integral = MemberIntegralApplication.GetAvailableIntegral(CurrentUserId); if (integral < couponInfo.NeedIntegral) { return(ErrorResult("积分不足 " + couponInfo.NeedIntegral.ToString(), 5)); } } CouponRecordInfo couponRecordInfo = new CouponRecordInfo() { CouponId = couponId, UserId = CurrentUser.Id, UserName = CurrentUser.UserName, ShopId = couponInfo.ShopId }; couponService.AddCouponRecord(couponRecordInfo); return(SuccessResult("", 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 PostOrderShareAddIntegral(OrderShareAddIntegralModel OrderIds) { this.CheckUserLogin(); string orderids1 = OrderIds.orderids; if (string.IsNullOrWhiteSpace(orderids1)) { throw new HimallException("订单号不能为空!"); } long orderId = 0L; IEnumerable <long> orderids2 = Enumerable.Select <string, long>((IEnumerable <string>)orderids1.Split(','), (Func <string, long>)(e => { if (long.TryParse(e, out orderId)) { return(orderId); } throw new HimallException("订单分享增加积分时,订单号异常!"); })); if (MemberIntegralApplication.OrderIsShared(orderids2)) { throw new HimallException("订单已经分享过!"); } MemberIntegralRecord model = new MemberIntegralRecord(); model.MemberId = this.CurrentUser.Id; model.UserName = this.CurrentUser.UserName; model.RecordDate = new DateTime?(DateTime.Now); model.TypeId = MemberIntegral.IntegralType.Share; model.ReMark = string.Format("订单号:{0}", (object)orderids1); List <MemberIntegralRecordAction> list = new List <MemberIntegralRecordAction>(); foreach (long num in orderids2) { list.Add(new MemberIntegralRecordAction() { VirtualItemId = num, VirtualItemTypeId = new MemberIntegral.VirtualItemType?(MemberIntegral.VirtualItemType.ShareOrder) }); } model.Himall_MemberIntegralRecordAction = (ICollection <MemberIntegralRecordAction>)list; MemberIntegralApplication.AddMemberIntegralByEnum(model, MemberIntegral.IntegralType.Share); return((object)this.Json(new { success = true, msg = "晒单添加积分成功!" })); }
public object PostOrderShareAddIntegral(OrderShareAddIntegralModel OrderIds) { CheckUserLogin(); var orderids = OrderIds.orderids; if (string.IsNullOrWhiteSpace(orderids)) { throw new HimallException("订单号不能为空!"); } long orderId = 0; var ids = orderids.Split(',').Select(e => { if (long.TryParse(e, out orderId)) { return(orderId); } else { throw new HimallException("订单分享增加积分时,订单号异常!"); } } ); if (MemberIntegralApplication.OrderIsShared(ids)) { throw new HimallException("订单已经分享过!"); } MemberIntegralRecord record = new MemberIntegralRecord(); record.MemberId = CurrentUser.Id; record.UserName = CurrentUser.UserName; record.RecordDate = DateTime.Now; record.TypeId = MemberIntegral.IntegralType.Share; record.ReMark = string.Format("订单号:{0}", orderids); List <MemberIntegralRecordAction> recordAction = new List <MemberIntegralRecordAction>(); foreach (var id in ids) { recordAction.Add(new MemberIntegralRecordAction { VirtualItemId = id, VirtualItemTypeId = MemberIntegral.VirtualItemType.ShareOrder }); } record.Himall_MemberIntegralRecordAction = recordAction; MemberIntegralApplication.AddMemberIntegralByEnum(record, MemberIntegral.IntegralType.Share); return(Json(new { success = true, msg = "晒单添加积分成功!" })); }
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 JsonResult OrderShareAddIntegral(string orderids) { if (string.IsNullOrWhiteSpace(orderids)) { throw new MallException("订单号不能为空!"); } long orderId = 0; var ids = orderids.Split(',').Select(e => { if (long.TryParse(e, out orderId)) { return(orderId); } else { throw new MallException("订单分享增加积分时,订单号异常!"); } } ); if (MemberIntegralApplication.OrderIsShared(ids)) { throw new MallException("订单已经分享过!"); } Mall.Entities.MemberIntegralRecordInfo record = new Mall.Entities.MemberIntegralRecordInfo(); record.MemberId = CurrentUser.Id; record.UserName = CurrentUser.UserName; record.RecordDate = DateTime.Now; record.TypeId = Mall.Entities.MemberIntegralInfo.IntegralType.Share; record.ReMark = string.Format("订单号:{0}", orderids); List <Mall.Entities.MemberIntegralRecordActionInfo> recordAction = new List <Mall.Entities.MemberIntegralRecordActionInfo>(); foreach (var id in ids) { recordAction.Add(new Mall.Entities.MemberIntegralRecordActionInfo { VirtualItemId = id, VirtualItemTypeId = Mall.Entities.MemberIntegralInfo.VirtualItemType.ShareOrder }); } record.MemberIntegralRecordActionInfo = recordAction; MemberIntegralApplication.AddMemberIntegralByEnum(record, Mall.Entities.MemberIntegralInfo.IntegralType.Share); return(SuccessResult("晒单添加积分成功!")); }
public JsonResult OrderShareAddIntegral(string orderids) { if (string.IsNullOrWhiteSpace(orderids)) { throw new HimallException("预约单号不能为空!"); } long orderId = 0L; IEnumerable <long> enumerable = orderids.Split(new char[] { ',' }).Select <string, long>(delegate(string e) { if (!long.TryParse(e, out orderId)) { throw new HimallException("预约单分享增加积分时,预约单号异常!"); } return(orderId); }); if (MemberIntegralApplication.OrderIsShared(enumerable)) { throw new HimallException("预约单已经分享过!"); } MemberIntegralRecord model = new MemberIntegralRecord { MemberId = base.CurrentUser.Id, UserName = base.CurrentUser.UserName, RecordDate = new DateTime?(DateTime.Now), TypeId = MemberIntegral.IntegralType.Share, ReMark = string.Format("预约单号:{0}", orderids) }; List <MemberIntegralRecordAction> list = new List <MemberIntegralRecordAction>(); foreach (long num in enumerable) { MemberIntegralRecordAction item = new MemberIntegralRecordAction { VirtualItemId = num, VirtualItemTypeId = MemberIntegral.VirtualItemType.ShareOrder }; list.Add(item); } model.Himall_MemberIntegralRecordAction = list; MemberIntegralApplication.AddMemberIntegralByEnum(model, MemberIntegral.IntegralType.Share); return(base.Json(new { success = true, msg = "晒单添加积分成功!" })); }
/// <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)); }
// GET: Web/UserIntegral public ActionResult Index(int?type, int pageSize = 10, int pageNo = 1) { var model = _iMemberIntegralService.GetIntegralChangeRule(); ViewBag.IntegralPerMoney = model == null ? 0 : model.IntegralPerMoney; ViewBag.Integral = MemberIntegralApplication.GetAvailableIntegral(CurrentUser.Id); Mall.Entities.MemberIntegralInfo.IntegralType?integralType = null; if (type.HasValue) { integralType = (Mall.Entities.MemberIntegralInfo.IntegralType)type.Value; } var query = new IntegralRecordQuery() { IntegralType = integralType, UserId = CurrentUser.Id, PageNo = pageNo, PageSize = pageSize }; var result = _iMemberIntegralService.GetIntegralRecordListForWeb(query); var list = result.Models.Select(item => { var actions = _iMemberIntegralService.GetIntegralRecordAction(item.Id); return(new MemberIntegralRecordInfo { Id = item.Id, UserName = item.UserName, RecordDate = item.RecordDate, Integral = item.Integral, TypeId = item.TypeId, ReMark = GetRemarkFromIntegralType(item.TypeId, actions, item.ReMark) }); }); PagingInfo info = new PagingInfo { CurrentPage = pageNo, ItemsPerPage = pageSize, TotalItems = result.Total }; ViewBag.pageInfo = info; ViewBag.Keyword = string.IsNullOrWhiteSpace(SiteSettings.SearchKeyword) ? SiteSettings.Keyword : SiteSettings.SearchKeyword; ViewBag.Keywords = SiteSettings.HotKeyWords; return(View(list)); }
public ActionResult Index(long id) { WeiActivityModel activityModel = WeiActivityApplication.GetActivityModelByBigWheel(id); activityModel.userId = curUserId; activityModel.participationCount = GetParticipationCount(activityModel); consumePoint = activityModel.consumePoint; ViewBag.Integrals = MemberIntegralApplication.GetAvailableIntegral(curUserId); //TODO:改成统一的方式取 Token try { var settings = SiteSettingApplication.SiteSettings; var token = AccessTokenContainer.TryGetToken(settings.WeixinAppId, settings.WeixinAppSecret); var qrTicket = Senparc.Weixin.MP.AdvancedAPIs.QrCode.QrCodeApi.Create(token, 86400, 7758259).ticket; ViewBag.QRTicket = qrTicket; } catch { } return(View(activityModel)); }
/// <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); }
/// <summary> /// 个人中心主页 /// </summary> /// <returns></returns> public new JsonResult <Result <dynamic> > GetUser() { CheckUserLogin(); dynamic d = new System.Dynamic.ExpandoObject(); long id = CurrentUser.Id; var member = MemberApplication.GetMember(id); DistributorInfo currentDistributor = DistributionApplication.GetDistributor(member.Id); d.UserName = member.UserName; //用户名 d.RealName = member.RealName; //真实姓名 d.Nick = member.Nick; //昵称 d.UserId = member.Id.ToString(); d.CellPhone = member.CellPhone; //绑定的手机号码 d.Photo = String.IsNullOrEmpty(member.Photo) ? "" : HimallIO.GetRomoteImagePath(member.Photo); //头像 var statistic = StatisticApplication.GetMemberOrderStatistic(id, true); d.AllOrders = statistic.OrderCount; d.WaitingForPay = statistic.WaitingForPay; d.WaitingForRecieve = statistic.WaitingForRecieve + OrderApplication.GetWaitConsumptionOrderNumByUserId(id); d.WaitingForDelivery = statistic.WaitingForDelivery; d.WaitingForComments = statistic.WaitingForComments; d.RefundOrders = statistic.RefundCount; d.FavoriteShop = ShopApplication.GetUserConcernShopsCount(member.Id); //收藏的店铺数 d.FavoriteProduct = FavoriteApplication.GetFavoriteCountByUser(member.Id); //收藏的商品数 d.Counpon = MemberApplication.GetAvailableCouponCount(id); d.Integral = MemberIntegralApplication.GetAvailableIntegral(member.Id); //我的积分 d.Balance = MemberCapitalApplication.GetBalanceByUserId(member.Id); //我的资产 d.IsOpenRechargePresent = SiteSettingApplication.SiteSettings.IsOpenRechargePresent; var phone = SiteSettingApplication.SiteSettings.SitePhone; d.ServicePhone = string.IsNullOrEmpty(phone) ? "" : phone; d.IsDistributor = (currentDistributor != null && currentDistributor.DistributionStatus == (int)DistributorStatus.Audited); return(JsonResult <dynamic>(d)); }
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); }
public ActionResult Index(long id) { //TODO:改成统一的方式取 Token var settings = SiteSettingApplication.SiteSettings; if (settings.IsOpenH5) { var token = AccessTokenContainer.TryGetAccessToken(settings.WeixinAppId, settings.WeixinAppSecret); SceneHelper helper = new SceneHelper(); var qrTicket = QrCodeApi.Create(token, 86400, 7758258, Senparc.Weixin.MP.QrCode_ActionName.QR_LIMIT_SCENE, null).ticket; ViewBag.QRTicket = qrTicket; } WeiActivityModel activityModel = WeiActivityApplication.GetActivityModel(id); activityModel.userId = curUserId; activityModel.winModel = AddWinInfo(activityModel); activityModel.winModel.integrals = MemberIntegralApplication.GetAvailableIntegral(curUserId); activityModel.participationCount = GetParticipationCount(activityModel); consumePoint = activityModel.consumePoint; return(View(activityModel)); }
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)); }