/// <summary> /// 兑换商品时处理积分,动态 /// </summary> /// <param name="record">兑换申请</param> /// <param name="eventArgs"></param> public void RecordAcitivityEventModule_After(PointGiftExchangeRecord record, CommonEventArgs eventArgs) { //生成动态 ActivityService activityService = new ActivityService(); if (eventArgs.EventOperationType == EventOperationType.Instance().Approved()) { //初始化Owner为用户的动态 Activity activity = Activity.New(); activity.ActivityItemKey = ActivityItemKeys.Instance().ExchangeGift(); activity.ApplicationId = PointMallConfig.Instance().ApplicationId; activity.HasImage = true; activity.HasMusic = false; activity.HasVideo = false; activity.IsOriginalThread = true; activity.IsPrivate = false; activity.UserId = record.PayerUserId; activity.ReferenceId = record.GiftId; activity.ReferenceTenantTypeId = TenantTypeIds.Instance().PointGift(); activity.SourceId = record.RecordId; activity.TenantTypeId = TenantTypeIds.Instance().PointGiftExchangeRecord(); activity.OwnerId = record.PayerUserId; activity.OwnerName = record.Payer; activity.OwnerType = ActivityOwnerTypes.Instance().User(); activityService.Generate(activity, true); //通知 Notice notice = Notice.New(); notice.UserId = record.PayerUserId; notice.ApplicationId = PointMallConfig.Instance().ApplicationId; notice.TypeId = NoticeTypeIds.Instance().Hint(); notice.LeadingActor = record.Payer; notice.LeadingActorUrl = SiteUrls.FullUrl(SiteUrls.Instance().SpaceHome(record.PayerUserId)); notice.RelativeObjectName = record.GiftName; notice.RelativeObjectUrl = SiteUrls.FullUrl(SiteUrls.Instance().GiftDetail(record.GiftId)); notice.TemplateName = NoticeTemplateNames.Instance().ApplyRecord(); noticeService.Create(notice); } else if (eventArgs.EventOperationType == EventOperationType.Instance().Disapproved()) { //通知 Notice notice = Notice.New(); notice.UserId = record.PayerUserId; notice.ApplicationId = PointMallConfig.Instance().ApplicationId; notice.TypeId = NoticeTypeIds.Instance().Hint(); notice.LeadingActor = record.Payer; notice.LeadingActorUrl = SiteUrls.FullUrl(SiteUrls.Instance().SpaceHome(record.PayerUserId)); notice.RelativeObjectName = record.GiftName; notice.RelativeObjectUrl = SiteUrls.FullUrl(SiteUrls.Instance().GiftDetail(record.GiftId)); notice.TemplateName = NoticeTemplateNames.Instance().CancelRecord(); noticeService.Create(notice); } }
public ActionResult _Appraise(long recordId) { PointGiftExchangeRecord record = pointMallService.GetRecord(recordId); if (record.PayerUserId != UserContext.CurrentUser.UserId) { return(Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel { Body = "没有评价的权限", Title = "没有权限", StatusMessageType = StatusMessageType.Hint }))); } return(View(record)); }
public ActionResult _CancelExchange(long recordId) { PointGiftExchangeRecord record = pointMallService.GetRecord(recordId); if (record.PayerUserId != UserContext.CurrentUser.UserId) { return(Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel { Body = "没有取消兑换申请的权限", Title = "没有权限", StatusMessageType = StatusMessageType.Hint }))); } pointMallService.CancelRecord(pointMallService.GetRecord(recordId)); return(Json(new StatusMessageData(StatusMessageType.Success, "取消兑换成功!"))); }
public ActionResult _Appraise(long recordId, string appraise) { PointGiftExchangeRecord record = pointMallService.GetRecord(recordId); if (record.PayerUserId != UserContext.CurrentUser.UserId) { return(Redirect(SiteUrls.Instance().SystemMessage(TempData, new SystemMessageViewModel { Body = "没有评价的权限", Title = "没有权限", StatusMessageType = StatusMessageType.Hint }))); } pointMallService.SetAppraise(recordId, Formatter.FormatMultiLinePlainTextForStorage(appraise, true) ?? string.Empty); return(Json(new StatusMessageData(StatusMessageType.Success, "评价成功!"))); }
public ActionResult _CreateRecord(RecordEditModel recordEditModel) { PointGiftExchangeRecord record = recordEditModel.AsPointGiftExchangeRecord(); if (record.PointGift == null) { return(Json(new StatusMessageData(StatusMessageType.Error, "找不到商品"))); } if (!record.PointGift.IsEnabled) { return(Json(new StatusMessageData(StatusMessageType.Error, "该商品已下架,不允许兑换!"))); } if (record.Number <= 0) { return(Json(new StatusMessageData(StatusMessageType.Error, "兑换数量必须为正整数!"))); } var user = DIContainer.Resolve <UserService>().GetUser(recordEditModel.PayerUserId); var totalPrice = record.Number * record.PointGift.Price; record.Price = totalPrice; if (totalPrice > user.TradePoints) { return(Json(new StatusMessageData(StatusMessageType.Error, "你没有这么多积分!"))); } pointMallService.CreateRecord(record); if (record.RecordId <= 0) { return(Json(new StatusMessageData(StatusMessageType.Error, "兑换商品失败!"))); } //兑换数增加 record.PointGift.ExchangedCount += record.Number; pointMallService.UpdateGift(record.PointGift); return(Json(new StatusMessageData(StatusMessageType.Success, "兑换商品成功!"))); }
public ActionResult _ChangeRecordStatus(IEnumerable <long> recordIds, bool isApprove) { int count = 0; foreach (var recordId in recordIds) { PointGiftExchangeRecord record = pointMallService.GetRecord(recordId); //待批准的才能操作 if (record.Status == ApproveStatus.Pending) { pointMallService.IsApprove(record, isApprove); count++; } } if (count == recordIds.Count()) { return(Json(new StatusMessageData(StatusMessageType.Success, isApprove ? "批准操作成功!" : "拒绝操作成功!"))); } else { return(Json(new StatusMessageData(StatusMessageType.Error, isApprove ? "共有" + count + "个申请批准成功,共" + (recordIds.Count() - count) + "个已处理的申请无法被批准。" : "共有" + count + "个申请拒绝成功,共" + (recordIds.Count() - count) + "个已处理的申请无法被拒绝。"))); } }