/// <summary> /// 积分抵扣 /// </summary> /// <param name="member"></param> /// <param name="Id"></param> /// <param name="integral"></param> private void AddIntegralToUser(long memberId, int integral, bool isReward) { if (integral == 0) { return; } //var member = Context.UserMemberInfo.FirstOrDefault(d => d.Id == memberId); var member = DbFactory.Default.Get <MemberInfo>().Where(d => d.Id == memberId).FirstOrDefault(); Mall.Entities.MemberIntegralRecordInfo record = new Mall.Entities.MemberIntegralRecordInfo(); record.UserName = member.UserName; record.MemberId = member.Id; record.RecordDate = DateTime.Now; var remark = "签到奖励"; if (isReward) { remark += "(含额外奖励)"; } record.TypeId = Mall.Entities.MemberIntegralInfo.IntegralType.SignIn; record.ReMark = remark; var memberIntegral = ServiceProvider.Instance <IMemberIntegralConversionFactoryService> .Create.Create(Mall.Entities.MemberIntegralInfo.IntegralType.SignIn, integral); ServiceProvider.Instance <IMemberIntegralService> .Create.AddMemberIntegral(record, memberIntegral); }
public CouponRecordInfo AddCouponRecord(CouponRecordInfo info) { var shop = DbFactory.Default.Get <ShopInfo>().Where(p => p.Id == info.ShopId).FirstOrDefault(); if (shop == null) { throw new MallException("错误的店铺信息"); } if (shop.ShopStatus != ShopInfo.ShopAuditStatus.Open) { throw new MallException("兑换失败,当前店铺已过期/冻结"); } if (shop.EndDate < DateTime.Now) { throw new MallException("兑换失败,当前店铺已过期/冻结"); } var shopName = shop.ShopName; var coupondata = DbFactory.Default.Get <CouponInfo>().Where(d => d.Id == info.CouponId).FirstOrDefault(); if (coupondata.IsSyncWeiXin == 1 && coupondata.WXAuditStatus != (int)WXCardLogInfo.AuditStatusEnum.Audited) { throw new MallException("优惠券状态错误,不可领取"); } DbFactory.Default .InTransaction(() => { //扣积分 if (coupondata.ReceiveType == CouponInfo.CouponReceiveType.IntegralExchange) { Mall.Entities.MemberIntegralRecordInfo mirinfo = new Mall.Entities.MemberIntegralRecordInfo(); mirinfo.UserName = info.UserName; mirinfo.MemberId = info.UserId; mirinfo.RecordDate = DateTime.Now; mirinfo.TypeId = Mall.Entities.MemberIntegralInfo.IntegralType.Exchange; mirinfo.Integral = coupondata.NeedIntegral; mirinfo.ReMark = "兑换优惠券:面值" + coupondata.Price.ToString("f2"); var memberIntegral = ServiceProvider.Instance <IMemberIntegralConversionFactoryService> .Create.Create(Mall.Entities.MemberIntegralInfo.IntegralType.Exchange, mirinfo.Integral); ServiceProvider.Instance <IMemberIntegralService> .Create.AddMemberIntegral(mirinfo, memberIntegral); } info.CounponStatus = CouponRecordInfo.CounponStatuses.Unuse; info.CounponSN = Guid.NewGuid().ToString().Replace("-", ""); info.UsedTime = null; info.CounponTime = DateTime.Now; info.ShopName = shopName; info.OrderId = null; var flag = DbFactory.Default.Add(info); }); return(info); }
public object PostOrderShareAddIntegral(OrderShareAddIntegralModel OrderIds) { CheckUserLogin(); var orderids = OrderIds.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(new { success = true, msg = "晒单添加积分成功!" }); }
public void AddOrderComment(OrderCommentInfo info, int productNum) { var order = DbFactory.Default.Get <OrderInfo>().Where(a => a.Id == info.OrderId && a.UserId == info.UserId).FirstOrDefault(); if (order == null) { throw new MallException("该订单不存在,或者不属于该用户!"); } var orderComment = DbFactory.Default.Get <OrderCommentInfo>().Where(a => a.OrderId == info.OrderId && a.UserId == info.UserId); if (orderComment.Count() > 0) { throw new MallException("您已经评论过该订单!"); } info.ShopId = order.ShopId; info.ShopName = order.ShopName; info.UserName = order.UserName; info.CommentDate = DateTime.Now; info.OrderId = order.Id; DbFactory.Default.Add(info); Mall.Entities.MemberIntegralRecordInfo record = new Mall.Entities.MemberIntegralRecordInfo(); record.UserName = info.UserName; record.ReMark = "订单号:" + info.OrderId; record.MemberId = info.UserId; record.RecordDate = DateTime.Now; record.TypeId = Mall.Entities.MemberIntegralInfo.IntegralType.Comment; Mall.Entities.MemberIntegralRecordActionInfo action = new Mall.Entities.MemberIntegralRecordActionInfo(); action.VirtualItemTypeId = Mall.Entities.MemberIntegralInfo.VirtualItemType.Comment; action.VirtualItemId = info.OrderId; record.MemberIntegralRecordActionInfo.Add(action); var memberIntegral = ServiceProvider.Instance <IMemberIntegralConversionFactoryService> .Create.Create(Mall.Entities.MemberIntegralInfo.IntegralType.Comment); if (memberIntegral != null) { record.Integral = productNum * memberIntegral.ConversionIntegral(); } ServiceProvider.Instance <IMemberIntegralService> .Create.AddMemberIntegral(record, null); }
public ActionResult CheckCode(string pluginId, string code, string destination) { var cache = CacheKeyCollection.MemberPluginCheck(CurrentUser.UserName, pluginId + destination); var cacheCode = Core.Cache.Get <string>(cache); var member = CurrentUser; var mark = ""; if (cacheCode != null && cacheCode == code) { var service = _iMessageService; if (service.GetMemberContactsInfo(pluginId, destination, Entities.MemberContactInfo.UserTypes.General) != null) { return(Json(new Result() { success = false, msg = destination + "已经绑定过了!" })); } if (pluginId.ToLower().Contains("email")) { member.Email = destination; mark = "邮箱"; } else if (pluginId.ToLower().Contains("sms")) { member.CellPhone = destination; mark = "手机"; } _iMemberService.UpdateMember(member); service.UpdateMemberContacts(new Entities.MemberContactInfo() { Contact = destination, ServiceProvider = pluginId, UserId = CurrentUser.Id, UserType = Entities.MemberContactInfo.UserTypes.General }); Core.Cache.Remove(CacheKeyCollection.MemberPluginCheck(CurrentUser.UserName, pluginId)); Core.Cache.Remove(CacheKeyCollection.Member(CurrentUser.Id));//移除用户缓存 Core.Cache.Remove("Rebind" + CurrentUser.Id); Mall.Entities.MemberIntegralRecordInfo info = new Mall.Entities.MemberIntegralRecordInfo(); //_iMemberIntegralConversionFactoryService = ServiceApplication.Create<im; //_iMemberIntegralService = ServiceApplication.Create<IMemberIntegralService>(); //_iMemberInviteService = ServiceApplication.Create<IMemberInviteService>(); info.UserName = member.UserName; info.MemberId = member.Id; info.RecordDate = DateTime.Now; info.TypeId = Mall.Entities.MemberIntegralInfo.IntegralType.Reg; info.ReMark = "绑定" + mark; var memberIntegral = ServiceApplication.Create <IMemberIntegralConversionFactoryService>().Create(Mall.Entities.MemberIntegralInfo.IntegralType.Reg); ServiceApplication.Create <IMemberIntegralService>().AddMemberIntegral(info, memberIntegral); var inviteMember = _iMemberService.GetMember(member.InviteUserId); if (inviteMember != null) { ServiceApplication.Create <IMemberInviteService>().AddInviteIntegel(member, inviteMember); } return(Json(new Result() { success = true, msg = "验证正确" })); } else { return(Json(new Result() { success = false, msg = "验证码不正确或者已经超时" })); } }
public static void WinnerSubmit(WeiActivityWinModel winModel) { Entities.WeiActivityInfoInfo model = _iActivityInfoService.GetActivityModel(winModel.activityId); //添加中奖信息记录 Entities.WeiActivityWinInfoInfo activityWinInfo = new Entities.WeiActivityWinInfoInfo(); activityWinInfo.ActivityId = winModel.activityId; activityWinInfo.AddDate = DateTime.Now; activityWinInfo.UserId = winModel.userId; activityWinInfo.IsWin = winModel.isWin; //消耗积分 if (winModel.integrals > 0) { var factoryService = ServiceProvider.Instance <IMemberIntegralConversionFactoryService> .Create; Mall.Entities.MemberIntegralRecordInfo info = new Mall.Entities.MemberIntegralRecordInfo(); info.UserName = MemberApplication.GetMember(activityWinInfo.UserId).UserName; info.MemberId = activityWinInfo.UserId; info.RecordDate = DateTime.Now; info.ReMark = ((WeiActivityType)model.ActivityType).ToDescription() + "消耗"; info.TypeId = Entities.MemberIntegralInfo.IntegralType.WeiActivity; var memberIntegral = factoryService.Create(Mall.Entities.MemberIntegralInfo.IntegralType.WeiActivity, -winModel.integrals); MemberIntegralApplication.AddMemberIntegral(info, memberIntegral); } if (activityWinInfo.IsWin) { if (winModel.awardType == WeiActivityAwardType.Integral)//积分 { activityWinInfo.AwardName = winModel.awardName + " 积分"; //新增积分记录 var factoryService = ServiceProvider.Instance <IMemberIntegralConversionFactoryService> .Create; Entities.MemberIntegralRecordInfo info = new Entities.MemberIntegralRecordInfo(); info.UserName = MemberApplication.GetMember(activityWinInfo.UserId).UserName; info.MemberId = activityWinInfo.UserId; info.RecordDate = DateTime.Now; info.ReMark = ((WeiActivityType)model.ActivityType).ToDescription() + "中奖"; info.TypeId = Mall.Entities.MemberIntegralInfo.IntegralType.WeiActivity; var memberIntegral = factoryService.Create(Entities.MemberIntegralInfo.IntegralType.WeiActivity, Convert.ToInt32(winModel.awardName));//winModel.integrals为消耗积分 此处不是用户总积分 MemberIntegralApplication.AddMemberIntegral(info, memberIntegral); } else if (winModel.awardType == WeiActivityAwardType.Bonus)//红包 { activityWinInfo.AwardName = winModel.awardName; BonusApplication.SetShareByUserId(winModel.bonusId, false, winModel.userId);//添加红包记录 BonusApplication.IncrReceiveCount(winModel.bonusId); } else { activityWinInfo.AwardName = winModel.awardName; //添加优惠券记录 Entities.CouponRecordInfo recordInfo = new Entities.CouponRecordInfo(); recordInfo.UserId = winModel.userId; recordInfo.UserName = MemberApplication.GetMember(winModel.userId).UserName; recordInfo.ShopId = CouponApplication.GetCouponInfo(winModel.couponId).ShopId; recordInfo.CouponId = winModel.couponId; CouponApplication.AddCouponRecord(recordInfo); } } else { activityWinInfo.AwardName = winModel.awardName; } activityWinInfo.AwardId = winModel.awardId; _iWeiActivityWinService.AddWinner(activityWinInfo); }