/// <summary> /// 积分抵扣 /// </summary> /// <param name="member"></param> /// <param name="Id"></param> /// <param name="integral"></param> private void DeductionIntegral(UserMemberInfo member, long Id, int integral) { if (integral == 0) { return; } MemberIntegralRecord record = new MemberIntegralRecord(); record.UserName = member.UserName; record.MemberId = member.Id; record.RecordDate = DateTime.Now; var remark = "礼品预约单号:"; record.TypeId = MemberIntegral.IntegralType.Exchange; remark += Id.ToString(); MemberIntegralRecordAction action = new MemberIntegralRecordAction(); action.VirtualItemTypeId = MemberIntegral.VirtualItemType.Exchange; action.VirtualItemId = Id; record.Himall_MemberIntegralRecordAction.Add(action); record.ReMark = remark; var memberIntegral = ServiceProvider.Instance <IMemberIntegralConversionFactoryService> .Create.Create(MemberIntegral.IntegralType.Exchange, integral); ServiceProvider.Instance <IMemberIntegralService> .Create.AddMemberIntegral(record, memberIntegral); }
public JsonResult AddComment(long subOrderId, int star, string content) { ProductCommentInfo model = new ProductCommentInfo(); model.ReviewDate = DateTime.Now; model.ReviewContent = content; model.UserId = CurrentUser.Id; model.UserName = CurrentUser.UserName; model.Email = CurrentUser.Email; model.SubOrderId = subOrderId; model.ReviewMark = star; _iCommentService.AddComment(model); //TODO发表评论获得积分 MemberIntegralRecord info = new MemberIntegralRecord(); info.UserName = CurrentUser.UserName; info.MemberId = CurrentUser.Id; info.RecordDate = DateTime.Now; info.TypeId = MemberIntegral.IntegralType.Comment; MemberIntegralRecordAction action = new MemberIntegralRecordAction(); action.VirtualItemTypeId = MemberIntegral.VirtualItemType.Comment; action.VirtualItemId = model.ProductId; info.Himall_MemberIntegralRecordAction.Add(action); var memberIntegral = _iMemberIntegralConversionFactoryService.Create(MemberIntegral.IntegralType.Comment); _iMemberIntegralService.AddMemberIntegral(info, memberIntegral); return(Json(new Result() { success = true, msg = "发表成功" })); }
private void DeductionIntegral(UserMemberInfo member, long Id, int integral) { if (integral == 0) { return; } MemberIntegralRecord memberIntegralRecord = new MemberIntegralRecord() { UserName = member.UserName, MemberId = member.Id, RecordDate = new DateTime?(DateTime.Now) }; string str = "礼品订单号:"; memberIntegralRecord.TypeId = MemberIntegral.IntegralType.Exchange; str = string.Concat(str, Id.ToString()); MemberIntegralRecordAction memberIntegralRecordAction = new MemberIntegralRecordAction() { VirtualItemTypeId = new MemberIntegral.VirtualItemType?(MemberIntegral.VirtualItemType.Exchange), VirtualItemId = Id }; memberIntegralRecord.Himall_MemberIntegralRecordAction.Add(memberIntegralRecordAction); memberIntegralRecord.ReMark = str; IConversionMemberIntegralBase conversionMemberIntegralBase = Instance <IMemberIntegralConversionFactoryService> .Create.Create(MemberIntegral.IntegralType.Exchange, integral); Instance <IMemberIntegralService> .Create.AddMemberIntegral(memberIntegralRecord, conversionMemberIntegralBase); }
/// <summary> /// 通过多个RecordAction,增加用户积分 /// </summary> /// <param name="model"></param> /// <param name="type"></param> public static void AddMemberIntegralByEnum(MemberIntegralRecord model, MemberIntegral.IntegralType type) { var conversionService = ServiceProvider.Instance <IMemberIntegralConversionFactoryService> .Create; var conversionMemberIntegralEntity = conversionService.Create(MemberIntegral.IntegralType.Share); _iMemberIntegralService.AddMemberIntegralByRecordAction(model, conversionMemberIntegralEntity); }
private void AddBindInergral(UserMemberInfo member) { if (context.MemberIntegralRecord.Any((MemberIntegralRecord a) => a.MemberId == member.Id && (int)a.TypeId == 6)) { return; } try { MemberIntegralRecord memberIntegralRecord = new MemberIntegralRecord() { UserName = member.UserName, MemberId = member.Id, RecordDate = new DateTime?(DateTime.Now), TypeId = MemberIntegral.IntegralType.BindWX, ReMark = "BiindWeiXin" }; IConversionMemberIntegralBase conversionMemberIntegralBase = Instance <IMemberIntegralConversionFactoryService> .Create.Create(MemberIntegral.IntegralType.BindWX, 0); Instance <IMemberIntegralService> .Create.AddMemberIntegral(memberIntegralRecord, conversionMemberIntegralBase); } catch (Exception exception) { Log.Error(exception); } }
public CouponRecordInfo AddCouponRecord(CouponRecordInfo info) { string shopName = base.Context.ShopInfo.FindById <ShopInfo>(info.ShopId).ShopName; CouponInfo info2 = base.Context.CouponInfo.FirstOrDefault <CouponInfo>(d => d.Id == info.CouponId); if ((info2.IsSyncWeiXin == 1) && (info2.WXAuditStatus != 1)) { throw new HimallException("优惠券状态错误,不可领取"); } if (info2.ReceiveType == CouponInfo.CouponReceiveType.IntegralExchange) { MemberIntegralRecord model = new MemberIntegralRecord { UserName = info.UserName, MemberId = info.UserId, RecordDate = new DateTime?(DateTime.Now), TypeId = MemberIntegral.IntegralType.Exchange, Integral = info2.NeedIntegral, ReMark = "兑换优惠券:面值" + info2.Price.ToString("f2") }; IConversionMemberIntegralBase conversionMemberIntegralEntity = Instance <IMemberIntegralConversionFactoryService> .Create.Create(MemberIntegral.IntegralType.Exchange, model.Integral); Instance <IMemberIntegralService> .Create.AddMemberIntegral(model, conversionMemberIntegralEntity); } info.CounponStatus = CouponRecordInfo.CounponStatuses.Unuse; info.CounponSN = Guid.NewGuid().ToString().Replace("-", ""); info.UsedTime = null; info.CounponTime = DateTime.Now; info.ShopName = shopName; info.OrderId = null; CouponRecordInfo info3 = base.Context.CouponRecordInfo.Add(info); base.Context.SaveChanges(); return(info3); }
public JsonResult Save(string Operation, int Integral, string userName, int?userId, string reMark) { if (string.IsNullOrWhiteSpace(userName)) { throw new Core.HimallException("该用户不存在"); } var memeber = _iMemberService.GetMemberByName(userName); if (memeber == null) { throw new Core.HimallException("该用户不存在"); } if (Integral <= 0 || Integral > 100000) { throw new Core.HimallException("积分必须为大于0且小于十万的整数"); } MemberIntegralRecord info = new MemberIntegralRecord(); info.UserName = userName; info.MemberId = memeber.Id; info.RecordDate = DateTime.Now; info.TypeId = MemberIntegral.IntegralType.SystemOper; info.ReMark = reMark; if (Operation == "sub") { Integral = -Integral; } var memberIntegral = _iMemberIntegralConversionFactoryService.Create(MemberIntegral.IntegralType.SystemOper, Integral); _iMemberIntegralService.AddMemberIntegral(info, memberIntegral); return(Json(new Result() { success = true, msg = "操作成功" })); }
public void AddMemberIntegral(MemberIntegralRecord model, IConversionMemberIntegralBase conversionMemberIntegralEntity = null) { if (null == model) { throw new NullReferenceException("添加会员积分记录时,会员积分Model为空."); } if (0 == model.MemberId) { throw new NullReferenceException("添加会员积分记录时,会员Id为空."); } if (!Context.UserMemberInfo.Any(a => a.Id == model.MemberId && a.UserName == model.UserName)) { throw new Himall.Core.HimallException("不存在此会员"); } if (null != conversionMemberIntegralEntity) { model.Integral = conversionMemberIntegralEntity.ConversionIntegral(); } if (model.Integral == 0) { return; } var userIntegral = Context.MemberIntegral.FirstOrDefault(a => a.MemberId == model.MemberId); if (userIntegral == null) { userIntegral = new MemberIntegral(); userIntegral.MemberId = model.MemberId; userIntegral.UserName = model.UserName; if (model.Integral > 0) { userIntegral.HistoryIntegrals += model.Integral; } else { throw new Himall.Core.HimallException("用户积分不足以扣减该积分!"); } userIntegral.AvailableIntegrals += model.Integral; Context.MemberIntegral.Add(userIntegral); } else { if (model.Integral > 0) { userIntegral.HistoryIntegrals += model.Integral; } else { if (userIntegral.AvailableIntegrals < Math.Abs(model.Integral)) { throw new Himall.Core.HimallException("用户积分不足以扣减该积分!"); } } userIntegral.AvailableIntegrals += model.Integral; } Context.MemberIntegralRecord.Add(model); Context.SaveChanges(); }
public void AddMemberIntegral(MemberIntegralRecord model, IConversionMemberIntegralBase conversionMemberIntegralEntity = null) { if (model == null) { throw new NullReferenceException("添加会员积分记录时,会员积分Model为空."); } if (0 == model.MemberId) { throw new NullReferenceException("添加会员积分记录时,会员Id为空."); } if (!context.UserMemberInfo.Any((UserMemberInfo a) => a.Id == model.MemberId && (a.UserName == model.UserName))) { throw new HimallException("不存在此会员"); } if (conversionMemberIntegralEntity != null) { model.Integral = conversionMemberIntegralEntity.ConversionIntegral(); } if (model.Integral == 0) { return; } MemberIntegral memberIntegral = context.MemberIntegral.FirstOrDefault((MemberIntegral a) => a.MemberId == model.MemberId); if (memberIntegral != null) { if (model.Integral > 0) { MemberIntegral historyIntegrals = memberIntegral; historyIntegrals.HistoryIntegrals = historyIntegrals.HistoryIntegrals + model.Integral; } else if (memberIntegral.AvailableIntegrals < Math.Abs(model.Integral)) { throw new HimallException("用户积分不足以扣减该积分!"); } MemberIntegral availableIntegrals = memberIntegral; availableIntegrals.AvailableIntegrals = availableIntegrals.AvailableIntegrals + model.Integral; } else { memberIntegral = new MemberIntegral() { MemberId = new long?(model.MemberId), UserName = model.UserName }; if (model.Integral <= 0) { throw new HimallException("用户积分不足以扣减该积分!"); } MemberIntegral historyIntegrals1 = memberIntegral; historyIntegrals1.HistoryIntegrals = historyIntegrals1.HistoryIntegrals + model.Integral; MemberIntegral availableIntegrals1 = memberIntegral; availableIntegrals1.AvailableIntegrals = availableIntegrals1.AvailableIntegrals + model.Integral; context.MemberIntegral.Add(memberIntegral); } context.MemberIntegralRecord.Add(model); context.SaveChanges(); }
protected override object OnCheckCheckCodeSuccess(string contact) { CheckUserLogin(); string pluginId = PluginsManagement.GetInstalledPluginInfos(Core.Plugins.PluginType.SMS).First().PluginId; var _iMemberIntegralConversionFactoryService = ServiceProvider.Instance <IMemberIntegralConversionFactoryService> .Create; var _iMemberIntegralService = ServiceProvider.Instance <IMemberIntegralService> .Create; var _iMemberInviteService = ServiceProvider.Instance <IMemberInviteService> .Create; var member = CurrentUser; if (Application.MessageApplication.GetMemberContactsInfo(pluginId, contact, MemberContactsInfo.UserTypes.General) != null) { return(Json(new { success = false, msg = contact + "已经绑定过了!" })); } member.CellPhone = contact; MemberApplication.UpdateMember(member.Map <DTO.Members>()); Application.MessageApplication.UpdateMemberContacts(new MemberContactsInfo() { Contact = contact, ServiceProvider = pluginId, UserId = CurrentUser.Id, UserType = MemberContactsInfo.UserTypes.General }); Core.Cache.Remove(CacheKeyCollection.MemberPluginCheck(CurrentUser.UserName, pluginId)); Core.Cache.Remove(CacheKeyCollection.Member(CurrentUser.Id)); //移除用户缓存 Core.Cache.Remove("Rebind" + CurrentUser.Id); UserMemberInfo inviteMember = null; if (member.InviteUserId.HasValue) { inviteMember = Application.MemberApplication.GetMember(member.InviteUserId.Value); } MemberIntegralRecord info = new MemberIntegralRecord(); info.UserName = member.UserName; info.MemberId = member.Id; info.RecordDate = DateTime.Now; info.TypeId = MemberIntegral.IntegralType.Reg; info.ReMark = "绑定手机"; var memberIntegral = _iMemberIntegralConversionFactoryService.Create(MemberIntegral.IntegralType.Reg); _iMemberIntegralService.AddMemberIntegral(info, memberIntegral); if (inviteMember != null) { _iMemberInviteService.AddInviteIntegel(member, inviteMember); } return(base.OnCheckCheckCodeSuccess(contact)); }
public void AddInviteIntegel(UserMemberInfo RegMember, UserMemberInfo InviteMember) { InviteRuleInfo inviteRule = GetInviteRule(); if (inviteRule != null) { int?inviteIntegral = inviteRule.InviteIntegral; if ((inviteIntegral.GetValueOrDefault() != 0 ? true : !inviteIntegral.HasValue)) { if (!HasInviteIntegralRecord(RegMember.Id)) { IMemberIntegralConversionFactoryService create = Instance <IMemberIntegralConversionFactoryService> .Create; IMemberIntegralService memberIntegralService = Instance <IMemberIntegralService> .Create; MemberIntegralRecord memberIntegralRecord = new MemberIntegralRecord() { UserName = RegMember.UserName, MemberId = RegMember.Id, RecordDate = new DateTime?(DateTime.Now), ReMark = "被邀请注册", TypeId = MemberIntegral.IntegralType.Others }; IConversionMemberIntegralBase conversionMemberIntegralBase = create.Create(MemberIntegral.IntegralType.Others, inviteRule.RegIntegral.Value); memberIntegralService.AddMemberIntegral(memberIntegralRecord, conversionMemberIntegralBase); MemberIntegralRecord memberIntegralRecord1 = new MemberIntegralRecord() { UserName = InviteMember.UserName, MemberId = InviteMember.Id, RecordDate = new DateTime?(DateTime.Now), ReMark = "邀请会员", TypeId = MemberIntegral.IntegralType.InvitationMemberRegiste }; memberIntegralService.AddMemberIntegral(memberIntegralRecord1, create.Create(MemberIntegral.IntegralType.InvitationMemberRegiste, 0)); InviteRecordInfo inviteRecordInfo = new InviteRecordInfo() { RegIntegral = new int?(inviteRule.RegIntegral.GetValueOrDefault()), InviteIntegral = inviteRule.InviteIntegral.GetValueOrDefault(), RecordTime = new DateTime?(DateTime.Now), RegTime = new DateTime?(RegMember.CreateDate), RegUserId = new long?(RegMember.Id), RegName = RegMember.UserName, UserId = new long?(InviteMember.Id), UserName = InviteMember.UserName }; AddInviteRecord(inviteRecordInfo); } return; } } }
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 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 = "晒单添加积分成功!" })); }
private void AddIntegel(UserMemberInfo member) { if (!Instance <IMemberIntegralService> .Create.HasLoginIntegralRecord(member.Id)) { MemberIntegralRecord memberIntegralRecord = new MemberIntegralRecord() { UserName = member.UserName, MemberId = member.Id, RecordDate = new DateTime?(DateTime.Now), ReMark = "每天登录", TypeId = MemberIntegral.IntegralType.Login }; IConversionMemberIntegralBase conversionMemberIntegralBase = Instance <IMemberIntegralConversionFactoryService> .Create.Create(MemberIntegral.IntegralType.Login, 0); Instance <IMemberIntegralService> .Create.AddMemberIntegral(memberIntegralRecord, conversionMemberIntegralBase); } }
public void AddOrderComment(OrderCommentInfo info) { OrderInfo orderInfo = ( from a in context.OrderInfo where a.Id == info.OrderId && a.UserId == info.UserId select a).FirstOrDefault(); if (orderInfo == null) { throw new HimallException("该订单不存在,或者不属于该用户!"); } if (( from a in context.OrderCommentInfo where a.OrderId == info.OrderId && a.UserId == info.UserId select a).Count() > 0) { throw new HimallException("您已经评论过该订单!"); } info.ShopId = orderInfo.ShopId; info.ShopName = orderInfo.ShopName; info.UserName = orderInfo.UserName; info.CommentDate = DateTime.Now; context.OrderCommentInfo.Add(info); context.SaveChanges(); MemberIntegralRecord memberIntegralRecord = new MemberIntegralRecord() { UserName = info.UserName, ReMark = string.Concat("订单号:", info.OrderId), MemberId = info.UserId, RecordDate = new DateTime?(DateTime.Now), TypeId = MemberIntegral.IntegralType.Comment }; MemberIntegralRecordAction memberIntegralRecordAction = new MemberIntegralRecordAction() { VirtualItemTypeId = new MemberIntegral.VirtualItemType?(MemberIntegral.VirtualItemType.Comment), VirtualItemId = info.OrderId }; memberIntegralRecord.ChemCloud_MemberIntegralRecordAction.Add(memberIntegralRecordAction); IConversionMemberIntegralBase conversionMemberIntegralBase = Instance <IMemberIntegralConversionFactoryService> .Create.Create(MemberIntegral.IntegralType.Comment, 0); Instance <IMemberIntegralService> .Create.AddMemberIntegral(memberIntegralRecord, conversionMemberIntegralBase); }
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 = "晒单添加积分成功!" })); }
public void AddInviteIntegel(UserMemberInfo RegMember, UserMemberInfo InviteMember) { var InviteRule = GetInviteRule(); if (InviteRule == null) { return; } if (!HasInviteIntegralRecord(RegMember.Id)) //没有过邀请得分,加积分 { var factoryService = ServiceProvider.Instance <IMemberIntegralConversionFactoryService> .Create; var integralService = ServiceProvider.Instance <IMemberIntegralService> .Create; MemberIntegralRecord info = new MemberIntegralRecord(); info.UserName = RegMember.UserName; info.MemberId = RegMember.Id; info.RecordDate = DateTime.Now; info.ReMark = "被邀请注册"; info.TypeId = MemberIntegral.IntegralType.Others; var memberIntegral = factoryService.Create(MemberIntegral.IntegralType.Others, InviteRule.RegIntegral.Value); integralService.AddMemberIntegral(info, memberIntegral); MemberIntegralRecord info2 = new MemberIntegralRecord(); info2.UserName = InviteMember.UserName; info2.MemberId = InviteMember.Id; info2.RecordDate = DateTime.Now; info2.ReMark = "邀请会员"; info2.TypeId = MemberIntegral.IntegralType.InvitationMemberRegiste; var memberIntegral2 = factoryService.Create(MemberIntegral.IntegralType.InvitationMemberRegiste); integralService.AddMemberIntegral(info2, memberIntegral2); InviteRecordInfo inviteInfo = new InviteRecordInfo(); inviteInfo.RegIntegral = InviteRule.RegIntegral.GetValueOrDefault(); inviteInfo.InviteIntegral = InviteRule.InviteIntegral.GetValueOrDefault(); inviteInfo.RecordTime = DateTime.Now; inviteInfo.RegTime = RegMember.CreateDate; inviteInfo.RegUserId = RegMember.Id; inviteInfo.RegName = RegMember.UserName; inviteInfo.UserId = InviteMember.Id; inviteInfo.UserName = InviteMember.UserName; AddInviteRecord(inviteInfo); } }
public JsonResult Management(string Operation, int Integral, string userName, int?userId, string reMark) { if (string.IsNullOrWhiteSpace(userName)) { throw new HimallException("该用户不存在"); } UserMemberInfo memberByName = ServiceHelper.Create <IMemberService>().GetMemberByName(userName); if (memberByName == null) { throw new HimallException("该用户不存在"); } if (Integral <= 0) { throw new HimallException("积分必须为大于0的整数"); } MemberIntegralRecord memberIntegralRecord = new MemberIntegralRecord() { UserName = userName, MemberId = memberByName.Id, RecordDate = new DateTime?(DateTime.Now), TypeId = MemberIntegral.IntegralType.SystemOper, ReMark = reMark }; if (Operation == "sub") { Integral = -Integral; } IConversionMemberIntegralBase conversionMemberIntegralBase = ServiceHelper.Create <IMemberIntegralConversionFactoryService>().Create(MemberIntegral.IntegralType.SystemOper, Integral); ServiceHelper.Create <IMemberIntegralService>().AddMemberIntegral(memberIntegralRecord, conversionMemberIntegralBase); Result result = new Result() { success = true, msg = "操作成功" }; return(Json(result)); }
public JsonResult AddComment(long subOrderId, int star, string content) { ProductCommentInfo productCommentInfo = new ProductCommentInfo() { ReviewDate = DateTime.Now, ReviewContent = content, UserId = base.CurrentUser.Id, UserName = base.CurrentUser.UserName, Email = base.CurrentUser.Email, SubOrderId = new long?(subOrderId), ReviewMark = star }; ServiceHelper.Create <ICommentService>().AddComment(productCommentInfo); MemberIntegralRecord memberIntegralRecord = new MemberIntegralRecord() { UserName = base.CurrentUser.UserName, MemberId = base.CurrentUser.Id, RecordDate = new DateTime?(DateTime.Now), TypeId = MemberIntegral.IntegralType.Comment }; MemberIntegralRecordAction memberIntegralRecordAction = new MemberIntegralRecordAction() { VirtualItemTypeId = new MemberIntegral.VirtualItemType?(MemberIntegral.VirtualItemType.Comment), VirtualItemId = productCommentInfo.ProductId }; memberIntegralRecord.ChemCloud_MemberIntegralRecordAction.Add(memberIntegralRecordAction); IConversionMemberIntegralBase conversionMemberIntegralBase = ServiceHelper.Create <IMemberIntegralConversionFactoryService>().Create(MemberIntegral.IntegralType.Comment, 0); ServiceHelper.Create <IMemberIntegralService>().AddMemberIntegral(memberIntegralRecord, conversionMemberIntegralBase); Result result = new Result() { success = true, msg = "发表成功" }; return(Json(result)); }
public void AddCouponRecord(CouponRecordInfo info) { string shopName = context.ShopInfo.FindById <ShopInfo>(info.ShopId).ShopName; CouponInfo couponInfo = context.CouponInfo.FirstOrDefault((CouponInfo d) => d.Id == info.CouponId); if (couponInfo.IsSyncWeiXin == 1 && couponInfo.WXAuditStatus != 1) { throw new HimallException("优惠券状态错误,不可领取"); } if (couponInfo.ReceiveType == CouponInfo.CouponReceiveType.IntegralExchange) { MemberIntegralRecord memberIntegralRecord = new MemberIntegralRecord() { UserName = info.UserName, MemberId = info.UserId, RecordDate = new DateTime?(DateTime.Now), TypeId = MemberIntegral.IntegralType.Exchange, Integral = couponInfo.NeedIntegral }; decimal price = couponInfo.Price; memberIntegralRecord.ReMark = string.Concat("兑换优惠券:面值", price.ToString("f2")); IConversionMemberIntegralBase conversionMemberIntegralBase = Instance <IMemberIntegralConversionFactoryService> .Create.Create(MemberIntegral.IntegralType.Exchange, memberIntegralRecord.Integral); Instance <IMemberIntegralService> .Create.AddMemberIntegral(memberIntegralRecord, conversionMemberIntegralBase); } info.CounponStatus = CouponRecordInfo.CounponStatuses.Unuse; CouponRecordInfo couponRecordInfo = info; Guid guid = Guid.NewGuid(); couponRecordInfo.CounponSN = guid.ToString().Replace("-", ""); info.UsedTime = null; info.CounponTime = DateTime.Now; info.ShopName = shopName; info.OrderId = null; context.CouponRecordInfo.Add(info); context.SaveChanges(); }
/// <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); MemberIntegralRecord record = new MemberIntegralRecord(); record.UserName = member.UserName; record.MemberId = member.Id; record.RecordDate = DateTime.Now; var remark = "签到奖励"; if (isReward) { remark += "(含额外奖励)"; } record.TypeId = MemberIntegral.IntegralType.SignIn; record.ReMark = remark; var memberIntegral = ServiceProvider.Instance <IMemberIntegralConversionFactoryService> .Create.Create(MemberIntegral.IntegralType.SignIn, integral); ServiceProvider.Instance <IMemberIntegralService> .Create.AddMemberIntegral(record, memberIntegral); }
public void AddOrderComment(OrderCommentInfo info) { var order = Context.OrderInfo.Where(a => a.Id == info.OrderId && a.UserId == info.UserId).FirstOrDefault(); if (order == null) { throw new HimallException("该订单不存在,或者不属于该用户!"); } var orderComment = Context.OrderCommentInfo.Where(a => a.OrderId == info.OrderId && a.UserId == info.UserId); if (orderComment.Count() > 0) { throw new HimallException("您已经评论过该订单!"); } info.ShopId = order.ShopId; info.ShopName = order.ShopName; info.UserName = order.UserName; info.CommentDate = DateTime.Now; Context.OrderCommentInfo.Add(info); Context.SaveChanges(); MemberIntegralRecord record = new MemberIntegralRecord(); record.UserName = info.UserName; record.ReMark = "订单号:" + info.OrderId; record.MemberId = info.UserId; record.RecordDate = DateTime.Now; record.TypeId = MemberIntegral.IntegralType.Comment; MemberIntegralRecordAction action = new MemberIntegralRecordAction(); action.VirtualItemTypeId = MemberIntegral.VirtualItemType.Comment; action.VirtualItemId = info.OrderId; record.Himall_MemberIntegralRecordAction.Add(action); var memberIntegral = ServiceProvider.Instance <IMemberIntegralConversionFactoryService> .Create.Create(MemberIntegral.IntegralType.Comment); ServiceProvider.Instance <IMemberIntegralService> .Create.AddMemberIntegral(record, memberIntegral); }
public CouponRecordInfo AddCouponRecord(CouponRecordInfo info) { var shopName = Context.ShopInfo.FindById(info.ShopId).ShopName; var coupondata = Context.CouponInfo.FirstOrDefault(d => d.Id == info.CouponId); if (coupondata.IsSyncWeiXin == 1 && coupondata.WXAuditStatus != (int)WXCardLogInfo.AuditStatusEnum.Audited) { throw new HimallException("优惠券状态错误,不可领取"); } //扣积分 if (coupondata.ReceiveType == Himall.Model.CouponInfo.CouponReceiveType.IntegralExchange) { MemberIntegralRecord mirinfo = new MemberIntegralRecord(); mirinfo.UserName = info.UserName; mirinfo.MemberId = info.UserId; mirinfo.RecordDate = DateTime.Now; mirinfo.TypeId = MemberIntegral.IntegralType.Exchange; mirinfo.Integral = coupondata.NeedIntegral; mirinfo.ReMark = "兑换优惠券:面值" + coupondata.Price.ToString("f2"); var memberIntegral = ServiceProvider.Instance <IMemberIntegralConversionFactoryService> .Create.Create(MemberIntegral.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 item = Context.CouponRecordInfo.Add(info); Context.SaveChanges(); return(item); }
public ActionResult CheckCode(string pluginId, string code, string destination) { string str = CacheKeyCollection.MemberPluginCheck(base.CurrentUser.UserName, pluginId); object obj = Cache.Get(str); UserMemberInfo currentUser = base.CurrentUser; string str1 = ""; if (obj == null || !(obj.ToString() == code)) { Result result = new Result() { success = false, msg = "验证码不正确或者已经超时" }; return(Json(result)); } IMessageService messageService = ServiceHelper.Create <IMessageService>(); if (messageService.GetMemberContactsInfo(pluginId, destination, MemberContactsInfo.UserTypes.General) != null) { Result result1 = new Result() { success = false, msg = string.Concat(destination, "已经绑定过了!") }; return(Json(result1)); } if (pluginId.ToLower().Contains("email")) { currentUser.Email = destination; str1 = "邮箱"; } else if (pluginId.ToLower().Contains("sms")) { currentUser.CellPhone = destination; str1 = "手机"; } ServiceHelper.Create <IMemberService>().UpdateMember(currentUser); MemberContactsInfo memberContactsInfo = new MemberContactsInfo() { Contact = destination, ServiceProvider = pluginId, UserId = base.CurrentUser.Id, UserType = MemberContactsInfo.UserTypes.General }; messageService.UpdateMemberContacts(memberContactsInfo); Cache.Remove(CacheKeyCollection.MemberPluginCheck(base.CurrentUser.UserName, pluginId)); Cache.Remove(CacheKeyCollection.Member(base.CurrentUser.Id)); Cache.Remove(string.Concat("Rebind", base.CurrentUser.Id)); UserMemberInfo member = null; if (currentUser.InviteUserId.HasValue) { member = ServiceHelper.Create <IMemberService>().GetMember(currentUser.InviteUserId.Value); } Task.Factory.StartNew(() => { MemberIntegralRecord memberIntegralRecord = new MemberIntegralRecord() { UserName = currentUser.UserName, MemberId = currentUser.Id, RecordDate = new DateTime?(DateTime.Now), TypeId = MemberIntegral.IntegralType.Reg, ReMark = string.Concat("绑定", str1) }; IConversionMemberIntegralBase conversionMemberIntegralBase = ServiceHelper.Create <IMemberIntegralConversionFactoryService>().Create(MemberIntegral.IntegralType.Reg, 0); ServiceHelper.Create <IMemberIntegralService>().AddMemberIntegral(memberIntegralRecord, conversionMemberIntegralBase); if (member != null) { ServiceHelper.Create <IMemberInviteService>().AddInviteIntegel(currentUser, member); } }); Result result2 = new Result() { success = true, msg = "验证正确" }; return(Json(result2)); }
/// <summary> /// //用户积分记录增加 /// </summary> /// <param name="model"></param> /// <param name="conversionMemberIntegralEntity"></param> public static void AddMemberIntegral(MemberIntegralRecord model, IConversionMemberIntegralBase conversionMemberIntegralEntity = null) { _iMemberIntegralService.AddMemberIntegral(model, conversionMemberIntegralEntity); }
public void ConfirmRefund(long refundId, string managerRemark, string managerName) { decimal? nullable; OrderRefundInfo now = context.OrderRefundInfo.FindById <OrderRefundInfo>(refundId); if (now.RefundPayType.HasValue) { switch (now.RefundPayType.Value) { case OrderRefundInfo.OrderRefundPayType.BackOut: { if (now.RefundPayStatus.HasValue && now.RefundPayStatus.Value == OrderRefundInfo.OrderRefundPayStatus.PaySuccess) { break; } string paymentTypeGateway = now.OrderItemInfo.OrderInfo.PaymentTypeGateway; IEnumerable <Plugin <IPaymentPlugin> > plugins = from item in PluginsManagement.GetPlugins <IPaymentPlugin>(true) where item.PluginInfo.PluginId == paymentTypeGateway select item; if (plugins.Count <Plugin <IPaymentPlugin> >() <= 0) { throw new HimallException("退款时,未找到支付方式!"); } OrderPayInfo orderPayInfo = context.OrderPayInfo.FirstOrDefault((OrderPayInfo e) => e.PayState && e.OrderId == now.OrderId); IQueryable <long> nums = from item in context.OrderPayInfo where item.PayId == orderPayInfo.PayId && item.PayState select item into e select e.OrderId; decimal num = ( from o in context.OrderInfo where nums.Contains(o.Id) select o).ToList().Sum <OrderInfo>((OrderInfo e) => e.OrderTotalAmount); if (orderPayInfo == null) { throw new HimallException("退款时,未找到原支付订单信息!"); } PaymentPara paymentPara = new PaymentPara() { out_refund_no = now.Id.ToString(), out_trade_no = orderPayInfo.PayId.ToString(), refund_fee = now.Amount, total_fee = num }; PaymentPara paymentPara1 = paymentPara; PaymentInfo paymentInfo = plugins.FirstOrDefault <Plugin <IPaymentPlugin> >().Biz.ProcessRefundFee(paymentPara1); if (paymentInfo.OrderIds == null || paymentInfo.OrderIds.Count() <= 0) { break; } now.RefundPayStatus = new OrderRefundInfo.OrderRefundPayStatus?(OrderRefundInfo.OrderRefundPayStatus.PaySuccess); context.SaveChanges(); break; } case OrderRefundInfo.OrderRefundPayType.BackCapital: { if (now.RefundPayStatus.HasValue && now.RefundPayStatus.Value == OrderRefundInfo.OrderRefundPayStatus.PaySuccess) { break; } CapitalInfo capitalInfo = context.CapitalInfo.FirstOrDefault((CapitalInfo e) => e.MemId == now.UserId); OrderBO orderBO = new OrderBO(); if (capitalInfo != null) { CapitalDetailInfo capitalDetailInfo = new CapitalDetailInfo() { Amount = now.Amount, CapitalID = capitalInfo.Id, CreateTime = new DateTime?(DateTime.Now), SourceType = CapitalDetailInfo.CapitalDetailType.Refund, SourceData = now.Id.ToString(), Id = orderBO.GenerateOrderNumber() }; CapitalDetailInfo capitalDetailInfo1 = capitalDetailInfo; CapitalInfo capitalInfo1 = capitalInfo; decimal? balance = capitalInfo1.Balance; decimal amount = now.Amount; if (balance.HasValue) { nullable = new decimal?(balance.GetValueOrDefault() + amount); } else { nullable = null; } capitalInfo1.Balance = nullable; context.CapitalDetailInfo.Add(capitalDetailInfo1); } else { CapitalInfo capitalInfo2 = new CapitalInfo() { Balance = new decimal?(now.Amount), MemId = now.UserId, FreezeAmount = new decimal?(new decimal(0)), ChargeAmount = new decimal?(new decimal(0)) }; List <CapitalDetailInfo> capitalDetailInfos = new List <CapitalDetailInfo>(); CapitalDetailInfo capitalDetailInfo2 = new CapitalDetailInfo() { Amount = now.Amount, CreateTime = new DateTime?(DateTime.Now), SourceData = now.Id.ToString(), SourceType = CapitalDetailInfo.CapitalDetailType.Refund, Id = orderBO.GenerateOrderNumber() }; capitalDetailInfos.Add(capitalDetailInfo2); capitalInfo2.ChemCloud_CapitalDetail = capitalDetailInfos; capitalInfo = capitalInfo2; context.CapitalInfo.Add(capitalInfo); } now.RefundPayStatus = new OrderRefundInfo.OrderRefundPayStatus?(OrderRefundInfo.OrderRefundPayStatus.PaySuccess); context.SaveChanges(); break; } } } if (now.ManagerConfirmStatus != OrderRefundInfo.OrderRefundConfirmStatus.UnConfirm) { throw new HimallException("只有未确认状态的退款/退货才能进行确认操作"); } now.ManagerConfirmStatus = OrderRefundInfo.OrderRefundConfirmStatus.Confirmed; now.ManagerConfirmDate = DateTime.Now; now.ManagerRemark = managerRemark; OrderOperationLogInfo orderOperationLogInfo = new OrderOperationLogInfo() { Operator = managerName, OrderId = now.OrderId, OperateDate = DateTime.Now, OperateContent = "确认退款/退货" }; context.OrderOperationLogInfo.Add(orderOperationLogInfo); UserMemberInfo userMemberInfo = context.UserMemberInfo.FindById <UserMemberInfo>(now.UserId); OrderInfo orderInfo = context.OrderInfo.FindById <OrderInfo>(now.OrderId); decimal orderTotalAmount = orderInfo.OrderTotalAmount - orderInfo.Freight; decimal amount1 = now.Amount - (orderInfo.IntegralDiscount * (now.Amount / orderTotalAmount)); amount1 = Math.Round(amount1, 2); if (amount1 > new decimal(0)) { OrderInfo refundTotalAmount = orderInfo; refundTotalAmount.RefundTotalAmount = refundTotalAmount.RefundTotalAmount + amount1; if (orderInfo.RefundTotalAmount > orderTotalAmount) { orderInfo.RefundTotalAmount = orderTotalAmount; } } if (now.RefundMode != OrderRefundInfo.OrderRefundMode.OrderRefund) { MemberIntegralExchangeRules integralChangeRule = Instance <IMemberIntegralService> .Create.GetIntegralChangeRule(); if (integralChangeRule != null) { int moneyPerIntegral = integralChangeRule.MoneyPerIntegral; int num1 = (int)Math.Floor(now.Amount / moneyPerIntegral); MemberIntegral memberIntegral = userMemberInfo.ChemCloud_MemberIntegral.FirstOrDefault(); int num2 = (memberIntegral == null ? 0 : memberIntegral.AvailableIntegrals); if (num1 > 0 && num2 > 0 && orderInfo.OrderStatus == OrderInfo.OrderOperateStatus.Finish) { MemberIntegralRecord memberIntegralRecord = new MemberIntegralRecord() { UserName = userMemberInfo.UserName, MemberId = userMemberInfo.Id, RecordDate = new DateTime?(DateTime.Now), TypeId = MemberIntegral.IntegralType.Others }; object[] id = new object[] { "售后编号【", now.Id, "】退款应扣除积分", num1.ToString() }; memberIntegralRecord.ReMark = string.Concat(id); num1 = (num1 > num2 ? num2 : num1); num1 = -num1; IConversionMemberIntegralBase conversionMemberIntegralBase = Instance <IMemberIntegralConversionFactoryService> .Create.Create(MemberIntegral.IntegralType.Others, num1); Instance <IMemberIntegralService> .Create.AddMemberIntegral(memberIntegralRecord, conversionMemberIntegralBase); } } } context.SaveChanges(); MessageOrderInfo messageOrderInfo = new MessageOrderInfo() { OrderId = orderInfo.Id.ToString(), ShopId = orderInfo.ShopId, ShopName = orderInfo.ShopName, RefundMoney = now.Amount, SiteName = Instance <ISiteSettingService> .Create.GetSiteSettings().SiteName, TotalMoney = orderInfo.OrderTotalAmount }; Task.Factory.StartNew(() => Instance <IMessageService> .Create.SendMessageOnOrderRefund(orderInfo.UserId, messageOrderInfo)); if (orderInfo.PayDate.HasValue) { UpdateShopVisti(now, orderInfo.PayDate.Value); UpdateProductVisti(now, orderInfo.PayDate.Value); } }
public UserMemberInfo Register(string username, string password, string email = "", long introducer = 0L) { UserMemberInfo nullable; if (string.IsNullOrWhiteSpace(username)) { throw new ArgumentNullException("用户名不能为空"); } if (CheckMemberExist(username)) { throw new HimallException(string.Concat("用户名 ", username, " 已经被其它会员注册")); } if (string.IsNullOrWhiteSpace(password)) { throw new ArgumentNullException("密码不能为空"); } if (!string.IsNullOrEmpty(email) && CheckEmailExist(email)) { throw new HimallException("邮箱已经被其它会员注册"); } password = password.Trim(); Guid guid = Guid.NewGuid(); string str = guid.ToString("N").Substring(12); password = GetPasswrodWithTwiceEncode(password, str); using (TransactionScope transactionScope = new TransactionScope()) { UserMemberInfo userMemberInfo = new UserMemberInfo() { UserName = username, PasswordSalt = str, CreateDate = DateTime.Now, LastLoginDate = DateTime.Now, Nick = username, RealName = username, Email = email }; nullable = userMemberInfo; if (introducer != 0) { nullable.InviteUserId = new long?(introducer); } nullable.Password = password; nullable = context.UserMemberInfo.Add(nullable); context.SaveChanges(); if (!string.IsNullOrEmpty(email)) { IMessageService create = Instance <IMessageService> .Create; MemberContactsInfo memberContactsInfo = new MemberContactsInfo() { Contact = email, ServiceProvider = "Himall.Plugin.Message.Email", UserId = nullable.Id, UserType = MemberContactsInfo.UserTypes.General }; create.UpdateMemberContacts(memberContactsInfo); MemberIntegralRecord memberIntegralRecord = new MemberIntegralRecord() { UserName = username, MemberId = nullable.Id, RecordDate = new DateTime?(DateTime.Now), TypeId = MemberIntegral.IntegralType.Reg, ReMark = "Bind Email" }; IConversionMemberIntegralBase conversionMemberIntegralBase = Instance <IMemberIntegralConversionFactoryService> .Create.Create(MemberIntegral.IntegralType.Reg, 0); Instance <IMemberIntegralService> .Create.AddMemberIntegral(memberIntegralRecord, conversionMemberIntegralBase); IMemberInviteService memberInviteService = Instance <IMemberInviteService> .Create; if (introducer != 0) { UserMemberInfo member = GetMember(introducer); if (member != null) { memberInviteService.AddInviteIntegel(nullable, member); } } } transactionScope.Complete(); } return(nullable); }
public static void WinnerSubmit(WeiActivityWinModel winModel) { //添加中奖信息记录 WeiActivityWinInfo activityWinInfo = new WeiActivityWinInfo(); activityWinInfo.ActivityId = winModel.activityId; activityWinInfo.AddDate = DateTime.Now; activityWinInfo.UserId = winModel.userId; activityWinInfo.IsWin = winModel.isWin; if (activityWinInfo.IsWin) { if (winModel.awardType == WeiActivityAwardType.Integral)//积分 { activityWinInfo.AwardName = winModel.awardName + " 积分"; //新增积分记录 var factoryService = ServiceProvider.Instance <IMemberIntegralConversionFactoryService> .Create; MemberIntegralRecord info = new MemberIntegralRecord(); info.UserName = _iMemberService.GetMember(activityWinInfo.UserId).UserName; info.MemberId = activityWinInfo.UserId; info.RecordDate = DateTime.Now; info.ReMark = "微信活动中奖"; info.TypeId = MemberIntegral.IntegralType.WeiActivity; var memberIntegral = factoryService.Create(MemberIntegral.IntegralType.WeiActivity, Convert.ToInt32(winModel.awardName));//winModel.integrals为消耗积分 此处不是用户总积分 _iMemberIntegralService.AddMemberIntegral(info, memberIntegral); } else if (winModel.awardType == WeiActivityAwardType.Bonus)//红包 { activityWinInfo.AwardName = winModel.awardName; _iBonusService.SetShareByUserId(winModel.bonusId, false, winModel.userId);//添加红包记录 _iBonusService.IncrReceiveCount(winModel.bonusId); } else { activityWinInfo.AwardName = winModel.awardName; //添加优惠券记录 CouponRecordInfo recordInfo = new CouponRecordInfo(); recordInfo.UserId = winModel.userId; recordInfo.UserName = _iMemberService.GetMember(winModel.userId).UserName; recordInfo.ShopId = _iCouponService.GetCouponInfo(winModel.couponId).ShopId; recordInfo.CouponId = winModel.couponId; _iCouponService.AddCouponRecord(recordInfo); } } else { activityWinInfo.AwardName = winModel.awardName; } activityWinInfo.AwardId = winModel.awardId; _iWeiActivityWinService.AddWinner(activityWinInfo); //消耗积分 if (winModel.integrals > 0) { var factoryService = ServiceProvider.Instance <IMemberIntegralConversionFactoryService> .Create; MemberIntegralRecord info = new MemberIntegralRecord(); info.UserName = _iMemberService.GetMember(activityWinInfo.UserId).UserName; info.MemberId = activityWinInfo.UserId; info.RecordDate = DateTime.Now; info.ReMark = "微信活动消耗"; info.TypeId = MemberIntegral.IntegralType.WeiActivity; var memberIntegral = factoryService.Create(MemberIntegral.IntegralType.WeiActivity, -winModel.integrals); _iMemberIntegralService.AddMemberIntegral(info, memberIntegral); } }
public ActionResult CheckCode(string pluginId, string code, string destination) { var cache = CacheKeyCollection.MemberPluginCheck(CurrentUser.UserName, pluginId + destination); var cacheCode = Core.Cache.Get(cache); var member = CurrentUser; var mark = ""; if (cacheCode != null && cacheCode.ToString() == code) { var service = _iMessageService; if (service.GetMemberContactsInfo(pluginId, destination, MemberContactsInfo.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 Model.MemberContactsInfo() { Contact = destination, ServiceProvider = pluginId, UserId = CurrentUser.Id, UserType = MemberContactsInfo.UserTypes.General }); Core.Cache.Remove(CacheKeyCollection.MemberPluginCheck(CurrentUser.UserName, pluginId)); Core.Cache.Remove(CacheKeyCollection.Member(CurrentUser.Id));//移除用户缓存 Core.Cache.Remove("Rebind" + CurrentUser.Id); MemberIntegralRecord info = new MemberIntegralRecord(); //_iMemberIntegralConversionFactoryService = ServiceHelper.Create<im; //_iMemberIntegralService = ServiceHelper.Create<IMemberIntegralService>(); //_iMemberInviteService = ServiceHelper.Create<IMemberInviteService>(); info.UserName = member.UserName; info.MemberId = member.Id; info.RecordDate = DateTime.Now; info.TypeId = MemberIntegral.IntegralType.Reg; info.ReMark = "绑定" + mark; var memberIntegral = ServiceHelper.Create <IMemberIntegralConversionFactoryService>().Create(MemberIntegral.IntegralType.Reg); ServiceHelper.Create <IMemberIntegralService>().AddMemberIntegral(info, memberIntegral); if (member.InviteUserId.HasValue) { var inviteMember = _iMemberService.GetMember(member.InviteUserId.Value); if (inviteMember != null) { ServiceHelper.Create <IMemberInviteService>().AddInviteIntegel(member, inviteMember); } } return(Json(new Result() { success = true, msg = "验证正确" })); } else { return(Json(new Result() { success = false, msg = "验证码不正确或者已经超时" })); } }
public void AppendComment(List <AppendCommentModel> list) { var userid = 0L; var userName = ""; long orderId = 0; foreach (var model in list) { var m = Context.ProductCommentInfo.FindBy(item => item.Id == model.Id && item.UserId == model.UserId).FirstOrDefault(); if (model.UserId == 0 || m == null) { throw new Himall.Core.HimallException("该诊疗项目尚未评论,请先评论。"); } if (m.AppendDate.HasValue) { throw new Himall.Core.HimallException("您已追加评价过了,不需再重复操作。"); } userid = m.UserId; userName = m.UserName; orderId = m.Himall_OrderItems.OrderId; m.AppendContent = model.AppendContent; m.AppendDate = DateTime.Now; if (model.Images != null && model.Images.Length > 0) { foreach (var img in model.Images) { var p = new ProductCommentsImagesInfo(); p.CommentType = 1;//1代表表示追加评论的图片 p.CommentImage = MoveImages(img, model.UserId); m.Himall_ProductCommentsImages.Add(p); } } else if (model.WXmediaId != null && model.WXmediaId.Length > 0) { foreach (var img in model.WXmediaId) { var p = new ProductCommentsImagesInfo(); p.CommentType = 1;//1表示追加的图片 p.CommentImage = DownloadWxImage(img); if (!string.IsNullOrEmpty(p.CommentImage)) { m.Himall_ProductCommentsImages.Add(p); } } } } Context.SaveChanges(); try { //TODO发表追加评论获得积分 MemberIntegralRecord info = new MemberIntegralRecord(); info.UserName = userName; info.MemberId = userid; info.RecordDate = DateTime.Now; info.TypeId = MemberIntegral.IntegralType.Comment; info.ReMark = "追加评论,预约单号:" + orderId; MemberIntegralRecordAction action = new MemberIntegralRecordAction(); action.VirtualItemTypeId = MemberIntegral.VirtualItemType.Comment; action.VirtualItemId = orderId; info.Himall_MemberIntegralRecordAction.Add(action); var memberIntegral = ServiceProvider.Instance <IMemberIntegralConversionFactoryService> .Create.Create(MemberIntegral.IntegralType.Comment); ServiceProvider.Instance <IMemberIntegralService> .Create.AddMemberIntegral(info, memberIntegral); } catch (Exception ex) { Log.Error(ex.Message); } }