public void ProcessRequest(HttpContext context) { context.Response.ContentType = "application/json"; string accountId = context.Request.Params["accountId"]; string content = context.Request.Params["content"]; string KillingId = context.Request.Params["KillingId"]; try { if (accountId != null && content != null && KillingId != null) { CY.UME.Core.Business.SpaceComment scomment = new CY.UME.Core.Business.SpaceComment(); scomment.InstanceId = long.Parse(KillingId); scomment.AuthorId = long.Parse(accountId); scomment.AccountId = 0; scomment.Content = content; scomment.DateCreated = DateTime.Now; scomment.ReferedId = 0; scomment.IsPublic = true; scomment.IP = CY.Utility.Common.RequestUtility.ClientIP; scomment.Save(); CY.UME.Core.Business.SpaceCommentExtend scommentex = new CY.UME.Core.Business.SpaceCommentExtend(); scommentex.Id = scomment.Id; scommentex.InstanceId = KillingId; scommentex.Type = "Killing"; scommentex.AccountId = 0; scommentex.Save(); context.Response.Write("{success:true,Time:'" + scomment.DateCreated.ToString("yyyy-MM-dd HH:mm:ss") + "'}"); } else { context.Response.Write("{success:false}"); } } catch { context.Response.Write("{success:false}"); } }
public void ProcessRequest(HttpContext context) { context.Response.ContentType = "application/json"; try { long instanceId; // 空间用户的标识 || 群Id long referedId; // 回复留言的标识 string content; string type = String.Empty;//类型(SpaceCommentExtend) CY.UME.Core.Business.Account currentAccount; // 留言的用户 CY.UME.Core.Business.Account spaceAccount = new CY.UME.Core.Business.Account(); // 所在个人主页的用户 CY.UME.Core.Business.SpaceComment referedComment = new CY.UME.Core.Business.SpaceComment(); // 所回复的留言 CY.UME.Core.Business.SpaceComment comment = new CY.UME.Core.Business.SpaceComment(); // 留言 CY.UME.Core.Business.Group group = new CY.UME.Core.Business.Group();//群组 CY.UME.Core.Business.Activities active = new CY.UME.Core.Business.Activities();//活动 #region Validateion and Get Basic Data if (!CY.Utility.Common.ParseUtility.TryParseInt64(context.Request.Form["uid"], out instanceId) || !CY.Utility.Common.ParseUtility.TryParseInt64(context.Request.Form["referedId"], out referedId)) { context.Response.Write("{success:false,msg:'参数错误'}"); return; } if (context.Request.Form["type"] != null) { type = context.Request.Form["type"].ToString(); } currentAccount = CY.UME.Core.Global.GetCurrentAccount(); if (currentAccount == null) { context.Response.Write("{success:false,msg:'登录超时,请重新登录'}"); return; } // 所在个人主页的用户 if (instanceId == 0 && type.Length == 0) { instanceId = currentAccount.Id; spaceAccount = currentAccount; } else if (type.Length == 0) { spaceAccount = CY.UME.Core.Business.Account.Load(instanceId); if (spaceAccount == null) { context.Response.Write("{success:false,msg:'用户不存在'}"); return; } } else if (type == "group") { group = CY.UME.Core.Business.Group.Load((int)instanceId); if (group == null) { context.Response.Write("{success:false,msg:'该群组不存在或已被删除'}"); return; } } else if (type == "active") { active = CY.UME.Core.Business.Activities.Load((int)instanceId); if (active == null) { context.Response.Write("{success:false,msg:'该活动不存在或已被删除'}"); return; } } // 所回复的留言 if (referedId > 0) { referedComment = CY.UME.Core.Business.SpaceComment.Load(referedId); if (referedComment == null) { context.Response.Write("{success:false,msg:'所回复的留言已被删除'}"); return; } } // 留言内容 content = context.Request.Form["content"]; if (string.IsNullOrEmpty(content)) { context.Response.Write("{success:false,msg:'留言内容不能为空'}"); return; } #endregion #region Leave Msg,Notice if (type.Length == 0)//个人空间留言 { // 将留言或者回复信息发送给空间主人 comment.AccountId = spaceAccount.Id; comment.Content = content; comment.IsPublic = (context.Request.Form["isPublic"] == "0") ? false : true; comment.ReferedId = referedId; comment.AuthorId = currentAccount.Id; comment.DateCreated = DateTime.Now; comment.InstanceId = 0; comment.IP = CY.Utility.Common.RequestUtility.ClientIP; comment.Save(); if (spaceAccount.Id != currentAccount.Id) // 不是在自己空间,留言则通知空间主人,回复则通知所回复的留言的作者 { CY.UME.Core.Business.Notice notice = new CY.UME.Core.Business.Notice(); notice.AuthorId = comment.AuthorId; notice.IsReaded = false; notice.DateCreated = DateTime.Now; notice.InstanceId = comment.Id.ToString(); if (comment.ReferedId < 1) // 留言 { notice.Type = "info"; notice.AccountId = instanceId; //notice.Content = currentAccount.Name + "给您留言了"; notice.Content = "给您留言了"; notice.Save(); } else // 回复 { if (referedComment.Id > 0) { notice.Type = "inforeply"; notice.AccountId = referedComment.AuthorId; if (referedComment.AuthorId == spaceAccount.Id) // 回复空间主人 { //notice.Content = currentAccount.Name + "回复了您的留言"; notice.Content = "回复了您的留言"; } else // 在别人页面回复了另外一个人 { //notice.Content = currentAccount.Name + "回复了您在 " + spaceAccount.Name + " 处的留言"; notice.Content = "回复了您在 " + spaceAccount.Name + " 处的留言"; // 在所引用的留言的作者处添加一条回复副本 CY.UME.Core.Business.SpaceComment commentCopy = new CY.UME.Core.Business.SpaceComment(); commentCopy.AccountId = referedComment.AuthorId; commentCopy.AuthorId = currentAccount.Id; commentCopy.Content = comment.Content; commentCopy.DateCreated = comment.DateCreated; commentCopy.InstanceId = comment.InstanceId; commentCopy.IP = comment.IP; commentCopy.IsPublic = comment.IsPublic; commentCopy.ReferedId = comment.ReferedId; commentCopy.Save(); notice.InstanceId = commentCopy.Id.ToString(); } notice.Save(); } } } else // 在自己空间内 { if (referedComment.Id > 0 && referedComment.AuthorId != currentAccount.Id) // 为回复他人 { CY.UME.Core.Business.Notice notice = new CY.UME.Core.Business.Notice(); notice.AuthorId = comment.AuthorId; notice.IsReaded = false; notice.DateCreated = DateTime.Now; notice.Type = "inforeply"; notice.AccountId = referedComment.AuthorId; //notice.Content = currentAccount.Name + "回复了您的留言"; notice.Content = "回复了您的留言"; // 在所引用的留言的作者处添加一条回复副本,方便其在他的个人空间内查看到 CY.UME.Core.Business.SpaceComment commentCopy = new CY.UME.Core.Business.SpaceComment(); commentCopy.AccountId = referedComment.AuthorId; commentCopy.AuthorId = currentAccount.Id; commentCopy.Content = comment.Content; commentCopy.DateCreated = comment.DateCreated; commentCopy.InstanceId = comment.InstanceId; commentCopy.IP = comment.IP; commentCopy.IsPublic = comment.IsPublic; commentCopy.ReferedId = comment.ReferedId; commentCopy.Save(); notice.InstanceId = commentCopy.Id.ToString(); notice.Save(); } } } else if (type == "group")//群留言 { //保存留言 comment.AuthorId = currentAccount.Id; comment.AccountId = 0; comment.Content = content; comment.DateCreated = DateTime.Now; comment.InstanceId = group.Id; comment.IP = CY.Utility.Common.RequestUtility.ClientIP; comment.IsPublic = true; comment.ReferedId = referedId; comment.Save(); //保存到留言扩展信息 CY.UME.Core.Business.SpaceCommentExtend spaceCommentExtend = new CY.UME.Core.Business.SpaceCommentExtend(); spaceCommentExtend.AccountId = group.CreatorId; spaceCommentExtend.Id = comment.Id; spaceCommentExtend.InstanceId = group.Id.ToString(); spaceCommentExtend.Type = "group"; spaceCommentExtend.Save(); //留言回复通知 if (referedId > 0 && referedComment.AuthorId != currentAccount.Id) { CY.UME.Core.Business.Notice groupLeaveWordsNotice = new CY.UME.Core.Business.Notice(); groupLeaveWordsNotice.AccountId = referedComment.AuthorId; groupLeaveWordsNotice.AuthorId = comment.AuthorId; groupLeaveWordsNotice.Content = "回复了您的留言"; groupLeaveWordsNotice.DateCreated = DateTime.Now; groupLeaveWordsNotice.InstanceId = comment.InstanceId.ToString(); groupLeaveWordsNotice.IsReaded = false; groupLeaveWordsNotice.Type = "groupinforeply"; groupLeaveWordsNotice.Save(); } } else if (type == "active")//活动留言 { //保存留言 comment.AuthorId = currentAccount.Id; comment.AccountId = active.Sponsor; comment.Content = content; comment.DateCreated = DateTime.Now; comment.InstanceId = active.Id; comment.IP = CY.Utility.Common.RequestUtility.ClientIP; comment.IsPublic = true; comment.ReferedId = referedId; comment.Save(); //保存到留言扩展信息 CY.UME.Core.Business.SpaceCommentExtend spaceCommentExtend = new CY.UME.Core.Business.SpaceCommentExtend(); spaceCommentExtend.AccountId = active.Sponsor; spaceCommentExtend.Id = comment.Id; spaceCommentExtend.InstanceId = active.Id.ToString(); spaceCommentExtend.Type = "active"; spaceCommentExtend.Save(); //留言回复通知 if (referedId > 0 && referedComment.AuthorId != currentAccount.Id) { CY.UME.Core.Business.Notice groupLeaveWordsNotice = new CY.UME.Core.Business.Notice(); groupLeaveWordsNotice.AccountId = referedComment.AuthorId; groupLeaveWordsNotice.AuthorId = comment.AuthorId; groupLeaveWordsNotice.Content = "回复了您的留言"; groupLeaveWordsNotice.DateCreated = DateTime.Now; groupLeaveWordsNotice.InstanceId = comment.InstanceId.ToString(); groupLeaveWordsNotice.IsReaded = false; groupLeaveWordsNotice.Type = "activeinforeply"; groupLeaveWordsNotice.Save(); } } #endregion StringBuilder sb = new StringBuilder(); sb.Append("{success:true, msg: '添加成功!', account: {"); sb.Append("Id: " + comment.AuthorId); sb.Append(", Name: '"); sb.Append(currentAccount.Name); sb.Append("'}, commentId: "); sb.Append(comment.Id); sb.Append("}"); context.Response.Write(sb.ToString()); } catch (Exception ex) { context.Response.Write("{success:false, msg:'添加失败!错误信息:" + CY.Utility.Common.StringUtility.RemoveIllegalCharacters(ex.Message) + "'}"); } }