public void ProcessRequest(HttpContext context) { context.Response.ContentType = "application/json"; CY.UME.Core.Business.Account account; CY.UME.Core.Business.MiniBlog miniBlog; long miniBlogId = 0; string content = String.Empty; string strReplyedId = String.Empty; #region validate if (context.Request.Form["MiniBlogId"] == null || !long.TryParse(context.Request.Form["MiniBlogId"].ToString(), out miniBlogId)) { context.Response.Write("{success:false,msg:'操作失败'}"); return; } if (context.Request.Form["Content"] != null) { content = context.Request.Form["Content"].ToString().Trim(); content = Utility.Common.StringUtility.HTMLEncode(content); content = Regex.Replace(content, @"(http:\/\/[\w.]+\/?)([^\u4e00-\u9fa5|\u0020]*)", "<a href=\"$1$2\">$1$2</a>", RegexOptions.IgnoreCase | RegexOptions.Multiline); } if (context.Request.Form["strReplyedMinBlogId"] != null) { strReplyedId = context.Request.Form["strReplyedMinBlogId"].ToString().Trim(); } account = CY.UME.Core.Global.GetCurrentAccount(); if (account == null) { context.Response.Write("{success:false,msg:'登录超时失败'}"); return; } miniBlog = CY.UME.Core.Business.MiniBlog.Load(miniBlogId); if (miniBlog == null) { context.Response.Write("{success:false,msg:'参数错误'}"); return; } if (account.Id == miniBlog.AccountId) { context.Response.Write("{success:false,msg:'不能转发自己的博文'}"); return; } CY.UME.Core.Business.Account accountRefered = CY.UME.Core.Business.Account.Load(miniBlog.AccountId); if (accountRefered == null) { context.Response.Write("{success:false,msg:'您无法转发该篇博文'}"); return; } if (miniBlog.HasTransedByThisAccount(account)) { context.Response.Write("{success:false,msg:'您已经转发过该篇博文'}"); return; } #endregion try { CY.UME.Core.Business.MiniBlog newMiniBlog = new CY.UME.Core.Business.MiniBlog(); newMiniBlog.AccountId = account.Id; newMiniBlog.Content = content; newMiniBlog.DatePublish = DateTime.Now; newMiniBlog.IP = CY.Utility.Common.RequestUtility.ClientIP; newMiniBlog.Save(); string imgPath = String.Empty; string flashPath = String.Empty; CY.UME.Core.Business.MiniBlogExtend miniBlogExtend = CY.UME.Core.Business.MiniBlogExtend.Load(miniBlog.Id); if (miniBlogExtend != null) { imgPath = miniBlogExtend.ImgPath; flashPath = miniBlogExtend.Video; } CY.UME.Core.Business.MiniBlogExtend newMiniBlogExtend = new CY.UME.Core.Business.MiniBlogExtend(); newMiniBlogExtend.AccountId = newMiniBlog.AccountId; newMiniBlogExtend.Id = newMiniBlog.Id; newMiniBlogExtend.ImgPath = imgPath; newMiniBlogExtend.Video = flashPath; newMiniBlogExtend.IsMsgReceived = false; newMiniBlogExtend.IsPhoneSended = false; newMiniBlogExtend.ReferedId = miniBlog.Id; newMiniBlogExtend.ReferedName = accountRefered.Name; newMiniBlogExtend.ReferedAuthorId = accountRefered.Id; newMiniBlogExtend.TransferedNum = 0; newMiniBlogExtend.Save(); account.SendNoticeToAllFriendAndFollower("miniblog", "转发了一篇微博", newMiniBlog.Id.ToString()); CY.UME.Core.Business.Notice notice = new CY.UME.Core.Business.Notice(); notice.AccountId = newMiniBlogExtend.AccountId; notice.AuthorId = newMiniBlogExtend.AccountId; notice.Content = "转发了一篇微博"; notice.DateCreated = DateTime.Now; notice.InstanceId = newMiniBlogExtend.Id.ToString(); notice.IsReaded = false; notice.Type = "miniblog"; notice.Save(); #region Reply string strReplyedIdTemp = String.Empty; string[] arrReplyedId = strReplyedId.Split(','); for (int i = 0; i < arrReplyedId.Length; i++) { strReplyedIdTemp = arrReplyedId[i]; long replyedId = 0; if (long.TryParse(strReplyedIdTemp, out replyedId)) { CY.UME.Core.Business.MiniBlog replyedMiniBlog = CY.UME.Core.Business.MiniBlog.Load(replyedId); if (replyedMiniBlog != null) { CY.UME.Core.Business.MiniBlogComment mbc = new CY.UME.Core.Business.MiniBlogComment(); mbc.AccountId = replyedMiniBlog.AccountId; mbc.AuthorId = account.Id; mbc.Content = content; mbc.DateCreated = DateTime.Now; mbc.IP = Utility.Common.RequestUtility.ClientIP; mbc.InstanceId = replyedMiniBlog.Id; mbc.Save(); CY.UME.Core.Business.Notice noticeTemp = new CY.UME.Core.Business.Notice(); noticeTemp.AccountId = replyedMiniBlog.AccountId; noticeTemp.AuthorId = mbc.AuthorId; noticeTemp.Content = "评论了您的微博"; noticeTemp.DateCreated = DateTime.Now; noticeTemp.InstanceId = replyedId.ToString(); noticeTemp.IsReaded = false; noticeTemp.Type = "miniblogreply"; noticeTemp.Save(); } } } #endregion context.Response.Write("{success:true}"); } catch { context.Response.Write("{success:false,msg:'服务器忙,请稍后再试'}"); } }
/// <summary> /// 获取好友最新更新博客 /// </summary> /// <param name="context"></param> /// <returns> 0 登录失败 -1请求失败 -2系统错误</returns> public string GetMiniBlogNoticeList(HttpContext context) { string email = String.Empty; CY.UME.Core.Business.Account currentAccount; CY.UME.Core.Business.Account author; if (context.Request.QueryString["email"] == null) { return "0"; } email = context.Request.QueryString["email"].ToString(); CY.UME.Core.Business.AccountExtend ae = CY.UME.Core.Business.AccountExtend.Load(email); if (ae == null) { return "0"; } currentAccount = CY.UME.Core.Business.Account.Load(ae.Id); string[] type = { "miniblog" }; IList<CY.UME.Core.Business.Notice> nList = GetNoticeList(currentAccount, type); StringBuilder sb = new StringBuilder(); long miniBlogId = 0; try { sb.Append("["); foreach (CY.UME.Core.Business.Notice notice in nList) { CY.UME.Core.Business.MiniBlog miniBlog = new CY.UME.Core.Business.MiniBlog(); if (!CY.Utility.Common.ParseUtility.TryParseInt64(notice.InstanceId, out miniBlogId)) { continue; } else { if (miniBlogId < 1) { continue; } else { miniBlog = CY.UME.Core.Business.MiniBlog.Load(miniBlogId); } } if (miniBlog == null) { notice.DeleteOnSave(); notice.Save(); continue; } author = CY.UME.Core.Business.Account.Load(notice.AuthorId); if (author == null) { continue; } CY.UME.Core.Business.MiniBlogExtend mbe = CY.UME.Core.Business.MiniBlogExtend.Load(miniBlogId); bool IsPhoneSended = false; string picurl = String.Empty; StringBuilder Refereds = new StringBuilder(); Refereds.Append("{"); if (mbe != null) { IsPhoneSended = mbe.IsPhoneSended; picurl = mbe.ImgPath; if (mbe.ReferedId > 0) { CY.UME.Core.Business.MiniBlogExtend mbeTemp = CY.UME.Core.Business.MiniBlogExtend.Load(mbe.Id); bool check = true; long orMiniBlogId = 0; int orTraNum = 0; int i = 0; Refereds.Append("\"TraInfo\":["); while (check) { if (i < 10) { Refereds.Append("{"); Refereds.Append("\"AccountId\":\"" + mbeTemp.AccountId+"\""); Refereds.Append(",\"Name\":\"" + (notice.AccountId == mbeTemp.AccountId ? "我" : mbeTemp.ReferedName) + "\""); Refereds.Append("},"); } i++; mbeTemp = CY.UME.Core.Business.MiniBlogExtend.Load(mbeTemp.ReferedId); if (mbeTemp == null || mbeTemp.ReferedId == 0) { check = false; } orMiniBlogId = mbeTemp.Id; orTraNum = mbeTemp.TransferedNum; } Refereds.Remove(Refereds.Length - 1, 1); Refereds.Append("]"); Refereds.Append(",\"Id\":\"" + orMiniBlogId+"\""); Refereds.Append(",\"TrasNum\":\"" + orTraNum+"\""); } } Refereds.Append("}"); sb.Append("{\"id\":\""); sb.Append(notice.Id + "\""); sb.Append(",\"type\":\"" + notice.Type+"\""); sb.Append(",\"authorId\":\""); sb.Append(notice.AuthorId + "\""); sb.Append(",\"authorName\":"); sb.Append(CY.Utility.Common.JavaScriptUtility.ToEscapedJavaScriptString(author.Id == notice.AccountId ? "我" : author.Name) ); sb.Append(",\"content\":"); sb.Append(CY.Utility.Common.JavaScriptUtility.ToEscapedJavaScriptString(notice.Content)); sb.Append(",\"miniBlogId\":\""); sb.Append(miniBlogId+"\""); sb.Append(",\"miniBlogContent\":"); sb.Append(CY.Utility.Common.JavaScriptUtility.ToEscapedJavaScriptString(miniBlog.Content) ); sb.Append(",\"miniBlogPubDate\":\""); sb.Append(CY.Utility.Common.StringUtility.getDateDifference(miniBlog.DatePublish) + "\""); sb.Append(",\"Refereds\":" + Refereds.ToString()); sb.Append(",\"TrasNum\":\"" + (mbe == null ? "0" : mbe.TransferedNum.ToString()) + "\""); sb.Append(",\"ReplyNum\":\"" + miniBlog.GetCommentCount() + "\""); sb.Append(",\"IsPhoneSended\":\"" + (IsPhoneSended ? "1" : "0") + "\""); sb.Append(",\"IsHasPic\":\"" + (picurl.Length == 0 ? "0" : "1") + "\""); sb.Append("},"); } sb.Remove(sb.Length - 1, 1); sb.Append("]"); return sb.ToString(); } catch { return "-2"; } }
/// <summary> /// 0登录失败 -1 请求失败 -2异常错误 -3该微博不存在或已被删除 -4 您无法转发自己的微博 /// </summary> /// <param name="context"></param> /// <returns></returns> public string TransferMiniBlog(HttpContext context) { long miniBlogId = 0; string email = String.Empty; CY.UME.Core.Business.AccountExtend accountExtend; CY.UME.Core.Business.MiniBlog miniBlog; CY.UME.Core.Business.Account account; #region validate if (context.Request.QueryString["email"] == null || context.Request.QueryString["MiniBlogId"] == null || !long.TryParse(context.Request.QueryString["MiniBlogId"].ToString(), out miniBlogId)) { return "-1"; } email = context.Request.QueryString["email"].ToString(); accountExtend = CY.UME.Core.Business.AccountExtend.Load(email); if (accountExtend == null) { return "-1"; } account = CY.UME.Core.Business.Account.Load(accountExtend.Id); miniBlog = CY.UME.Core.Business.MiniBlog.Load(miniBlogId); if (miniBlog == null) { return "-3"; } if (miniBlog.AccountId == accountExtend.Id) { return "-4"; } CY.UME.Core.Business.Account refAccount = CY.UME.Core.Business.Account.Load(miniBlog.AccountId); #endregion CY.UME.Core.Business.MiniBlog newMiniBlog = new CY.UME.Core.Business.MiniBlog(); newMiniBlog.AccountId = accountExtend.Id; newMiniBlog.Content = miniBlog.Content; newMiniBlog.DatePublish = DateTime.Now; newMiniBlog.IP = CY.Utility.Common.RequestUtility.ClientIP; newMiniBlog.Save(); string imgPath = String.Empty; CY.UME.Core.Business.MiniBlogExtend miniBlogExtend = CY.UME.Core.Business.MiniBlogExtend.Load(miniBlog.Id); if (miniBlogExtend != null) { imgPath = miniBlogExtend.ImgPath; } CY.UME.Core.Business.MiniBlogExtend newMiniBlogExtend = new CY.UME.Core.Business.MiniBlogExtend(); newMiniBlogExtend.AccountId = newMiniBlog.AccountId; newMiniBlogExtend.Id = newMiniBlog.Id; newMiniBlogExtend.ImgPath = imgPath; newMiniBlogExtend.IsMsgReceived = false; newMiniBlogExtend.IsPhoneSended = false; newMiniBlogExtend.ReferedId = miniBlog.Id; newMiniBlogExtend.ReferedName = refAccount == null ? "用户已被删除" : refAccount.Name; newMiniBlogExtend.TransferedNum = 0; newMiniBlogExtend.Save(); account.SendNoticeToAllFriendAndFollower("miniblog", "转发了一篇微博", newMiniBlog.Id.ToString()); return newMiniBlog.Id.ToString(); }