public static EssencePostItem AssembleItem(BCW.Model.Text _text) { EssencePostItem _item = new EssencePostItem(); _item.threadId = _text.ID; _item.authorId = _text.UsID; _item.author = _text.UsName; _item.authorImg = "http://" + Utils.GetDomain() + new BCW.BLL.User().GetPhoto(_text.UsID); _item.forumId = _text.ForumId; _item.title = _text.Title; _item.content = Out.SysUBB(_text.Content); _item.ubb_content = _text.Content; _item.preview = "http://" + Utils.GetDomain() + new BCW.BLL.User().GetPhoto(_text.UsID);//string.IsNullOrEmpty(_text.GoodSmallIcon) ? "http://" + Utils.GetDomain() + "/Files/threadImg/def.png" : "http://" + Utils.GetDomain() + new BCW.BLL.User().GetPhoto(_text.UsID); ; BCW.Model.Forum _forummodel = new BCW.BLL.Forum().GetForum(_item.forumId); _item.forum = _forummodel != null ? _forummodel.Title : ""; _item.views = _text.ReadNum; _item.replys = _text.ReplyNum; System.DateTime _startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); _item.addTime = (long)(_text.AddTime - _startTime).TotalSeconds; //打赏 DataSet _dsCent = new BCW.BLL.Textcent().GetList("isnull(SUM(Cents),0)cents", "BID='" + _item.threadId + "'"); _item.likes = int.Parse(_dsCent.Tables[0].Rows[0]["cents"].ToString()); _item.IsGood = _text.IsGood; _item.IsRecom = _text.IsRecom; _item.IsLock = _text.IsLock; _item.IsTop = _text.IsTop; return(_item); }
public static Error.MOBILE_ERROR_CODE CheckGroupLimit(int _forumId, int _meid) { //论坛限制性 BCW.Model.Forum Forummodel = new BCW.BLL.Forum().GetForum(_forumId); //圈子限制性 BCW.Model.Group modelgr = null; if (Forummodel.GroupId > 0) { modelgr = new BCW.BLL.Group().GetGroupMe(Forummodel.GroupId); if (modelgr == null) { return(Error.MOBILE_ERROR_CODE.BBS_GROUP_NOT_EXISTS); } else if (DT.FormatDate(modelgr.ExTime, 0) != "1990-01-01 00:00:00" && modelgr.ExTime < DateTime.Now) { return(Error.MOBILE_ERROR_CODE.BBS_GROUP_EXPIRE); } if (modelgr.ForumStatus == 2) { return(Error.MOBILE_ERROR_CODE.BBS_GROUP_CLOSED); } if (modelgr.ForumStatus == 1) { string GroupId = new BCW.BLL.User().GetGroupId(_meid); if (GroupId.IndexOf("#" + Forummodel.GroupId + "#") == -1 && IsCTID(_meid) == false) { return(Error.MOBILE_ERROR_CODE.BBS_GROUP_VISIT_NO_LIMIT); } } } return(Error.MOBILE_ERROR_CODE.MOBILE_MSG_NONE); //无错误 }
//初始化数据 public void InitData() { string[] _arrForumAreaName = ub.GetSub("forumAreaName", xmlPath).Split('|'); string[] _arrForumAreaId = ub.GetSub("forumAreaId", xmlPath).Split('|'); for (int _index = 0; _index < _arrForumAreaName.Length; _index++) { string[] _arrForumId = _arrForumAreaId[_index].Split(','); List <ForumItem> _lstForumItem = new List <ForumItem>(); for (int i = 0; i < _arrForumId.Length; i++) { BCW.Model.Forum _forum = new BCW.BLL.Forum().GetForum(int.Parse(_arrForumId[i])); if (_forum == null) { continue; } ForumItem _forumItem = new ForumItem(); _forumItem.forumId = _forum.ID; _forumItem.forumName = _forum.Title; _forumItem.forumLogo = "http://" + Utils.GetDomain() + _forum.Logo; DataSet _ds2 = new BCW.BLL.Forumstat().GetList("ISNULL(SUM(tTotal),0)tTotal,ISNULL((SUM(tTotal)+ sum(rTotal)),0)rTotal", "ForumID=" + _forumItem.forumId); if (_ds2.Tables[0].Rows.Count > 0) { _forumItem.themeAmount = int.Parse(_ds2.Tables[0].Rows[0]["tTotal"].ToString()); _forumItem.postAmount = int.Parse(_ds2.Tables[0].Rows[0]["rTotal"].ToString()); } DataSet _ds3 = new BCW.BLL.Forumstat().GetList("COUNT(*)todayPost", "ForumId=" + _forumItem.forumId + " and CONVERT(VARCHAR(10),AddTime,120)= CONVERT(VARCHAR(10),GETDATE(),120)"); if (_ds3.Tables[0].Rows.Count > 0) { _forumItem.todayPostAmount = int.Parse(_ds3.Tables[0].Rows[0]["todayPost"].ToString()); } _lstForumItem.Add(_forumItem); } if (_lstForumItem.Count > 0) { items.Add(_arrForumAreaName[_index], _lstForumItem); } } }
public RspDelReply DelReply(ReqDelReply _reqData) { RspDelReply _rspData = new RspDelReply(); //验证用户ID格式 if (_reqData.userId < 0) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = Error.MOBILE_ERROR_CODE.MOBILE_PARAMS_ERROR; return(_rspData); } //检查是否登录状态 if (Common.Common.CheckLogin(_reqData.userId, _reqData.userKey) == 0) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = Error.MOBILE_ERROR_CODE.SYS_USER_NOLOGIN; return(_rspData); } //检查帖子有效性 BCW.Model.Text threadModel = new BCW.BLL.Text().GetText(_reqData.threadId);//GetTextMe if (threadModel == null) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_THREAD_NOT_FOUND; return(_rspData); } //检查该论坛是否允许删除 if (new BCW.User.ForumInc().IsForum68(threadModel.ForumId) == true) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_FORUM_FORBID_DEL_REPLY; return(_rspData); } int reid = _reqData.reid; int bid = _reqData.threadId; int meid = _reqData.userId; int forumid = threadModel.ForumId; BCW.Model.Reply model = new BCW.BLL.Reply().GetReplyMe(bid, reid); if (model == null) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_REPLY_NOT_FOUND; return(_rspData); } if (ub.GetSub("BbsReplyDel", xmlPath) == "0") { if (model.UsID != meid && !new BCW.User.Role().IsUserRole(BCW.User.Role.enumRole.Role_DelReply, meid, forumid)) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_FORUM_LIMIT_NOT_ENOUGH; return(_rspData); } } else { //检查自身权限 if (!new BCW.User.Role().IsUserRole(BCW.User.Role.enumRole.Role_DelReply, meid, forumid)) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = Error.MOBILE_ERROR_CODE.SYS_USER_LIMIT_NOT_ENOUGH; return(_rspData); } } new BCW.BLL.Reply().UpdateIsDel2(bid, reid, 1); new BCW.BLL.Forumstat().Update2(2, model.UsID, forumid, model.AddTime); //更新统计表发帖 //new BCW.BLL.Reply().Delete(bid, reid); //更新回复数 //new BCW.BLL.Text().UpdateReplyNum(bid, -1); //记录日志 string strLog = string.Empty; if (model.UsID != meid) { //积分操作 int GroupId = new BCW.BLL.Forum().GetGroupId(forumid); if (GroupId == 0) { new BCW.User.Cent().UpdateCent(BCW.User.Cent.enumRole.Cent_DelReply, model.UsID); } strLog = "[url=/bbs/uinfo.aspx?uid=" + model.UsID + "]" + model.UsName + "[/url]的" + reid + "楼回帖被[url=/bbs/uinfo.aspx?uid=" + meid + "]" + new BCW.BLL.User().GetUsName(meid) + "[/url]删除!"; new BCW.BLL.Guest().Add(0, model.UsID, model.UsName, "您的" + reid + "楼回帖被[url=/bbs/uinfo.aspx?uid=" + meid + "]" + new BCW.BLL.User().GetUsName(meid) + "[/url]删除!"); } else { //积分操作 int GroupId = new BCW.BLL.Forum().GetGroupId(forumid); if (GroupId == 0) { new BCW.User.Cent().UpdateCent(BCW.User.Cent.enumRole.Cent_MeDelReply, model.UsID); } strLog = "[url=/bbs/uinfo.aspx?uid=" + model.UsID + "]" + model.UsName + "[/url]删除自己的跟帖"; } new BCW.BLL.Forumlog().Add(6, forumid, bid, reid, strLog); _rspData.header.status = ERequestResult.success; return(_rspData); }
public RspAddReplyThread AddReplyThread(ReqAddReplyThread _reqData) { RspAddReplyThread _rspData = new RspAddReplyThread(); //验证用户ID格式 if (_reqData.userId < 0) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = Error.MOBILE_ERROR_CODE.MOBILE_PARAMS_ERROR; return(_rspData); } //检查是否登录状态 if (Common.Common.CheckLogin(_reqData.userId, _reqData.userKey) == 0) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = Error.MOBILE_ERROR_CODE.SYS_USER_NOLOGIN; return(_rspData); } //检查帖子有效性 BCW.Model.Text threadModel = new BCW.BLL.Text().GetText(_reqData.threadId);//GetTextMe if (threadModel == null) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_THREAD_NOT_FOUND; return(_rspData); } //检查自身权限不足 if (Common.Common.IsUserLimit(BCW.User.Limits.enumRole.Role_Reply, _reqData.userId) == true) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = Error.MOBILE_ERROR_CODE.SYS_USER_LIMIT_NOT_ENOUGH; return(_rspData); } //板块权限不足 if (Common.Common.CheckUserFLimit(BCW.User.FLimits.enumRole.Role_Reply, _reqData.userId, threadModel.ForumId)) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_FORUM_LIMIT_NOT_ENOUGH; return(_rspData); } BCW.Model.Forum Forummodel = new BCW.BLL.Forum().GetForum(threadModel.ForumId); //检查圈子访问限制 Error.MOBILE_ERROR_CODE _groupError = Common.Common.CheckGroupLimit(threadModel.ForumId, _reqData.userId); if (_groupError != Error.MOBILE_ERROR_CODE.MOBILE_MSG_NONE) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = _groupError; return(_rspData); } //检查论坛访问限制 Error.MOBILE_ERROR_CODE _visitError = Common.Common.ShowForumLimit(_reqData.userId, Forummodel.Gradelt, Forummodel.Visitlt, Forummodel.VisitId, Forummodel.IsPc); if (_visitError != Error.MOBILE_ERROR_CODE.MOBILE_MSG_NONE) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = _visitError; return(_rspData); } //检查论坛回帖限制 Error.MOBILE_ERROR_CODE _replyError = Common.Common.ShowAddReply(_reqData.userId, Forummodel.Replylt); if (_replyError != Error.MOBILE_ERROR_CODE.MOBILE_MSG_NONE) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = _replyError; return(_rspData); } BCW.Model.Text p = new BCW.BLL.Text().GetText(_reqData.threadId); if (p.IsOver == 1) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_THREAD_IS_OVER; return(_rspData); } if (p.IsLock == 1) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_THREAD_IS_LOCK; return(_rspData); } if (p.IsTop == -1) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_THREAD_IS_BOTTOM; return(_rspData); } string Content = _reqData.replyContent; if (Regex.IsMatch(Content, @"^[\s\S]{1," + ub.GetSub("BbsReplyMax", xmlPath) + "}$") == false) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_THREAD_CONTENT_LENGTH_ERROR; _rspData.header.statusMsg = string.Format(_rspData.header.statusMsg, 1, ub.GetSub("BbsReplyMax", xmlPath)); return(_rspData); } int Remind = _reqData.Remind; //提醒的ID. int reid = _reqData.replyId; int ReplyNum = Utils.ParseInt(ub.GetSub("BbsReplyNum", xmlPath)); if (ReplyNum > 0) { int ToDayCount = new BCW.BLL.Forumstat().GetCount(_reqData.userId, 2);//今天发布回帖数 if (ToDayCount >= ReplyNum) { _rspData.header.status = ERequestResult.faild; _rspData.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_THREAD_REPLY_NUM; return(_rspData); } } string mename = new BCW.BLL.User().GetUsName(_reqData.userId); int Floor = new BCW.BLL.Reply().GetFloor(_reqData.threadId); //派币帖 string CentText = string.Empty; string PbCent = string.Empty; int iTypes = p.Types; if (iTypes == 3) { BCW.Model.Text model1 = new BCW.BLL.Text().GetText(_reqData.threadId); if (p.Prices - p.Pricel > 0) { string bzText = string.Empty; if (p.BzType == 0) { bzText = ub.Get("SiteBz"); } else { bzText = ub.Get("SiteBz2"); } long zPrice = 0; if (p.Price2 > 0) { zPrice = Convert.ToInt64(new Random().Next(p.Price, (p.Price2 + 1)));//随机得到奖币值 } else { zPrice = Convert.ToInt64(p.Price); } long GetPrice = 0; if (p.Prices - p.Pricel < zPrice) { GetPrice = p.Prices - p.Pricel; } else { GetPrice = zPrice; } bool a = ("#" + p.IsPriceID + "#").IndexOf("#" + _reqData.userId + "#") == -1; if (p.PayCi == "0") //判断派币楼层 { if (!string.IsNullOrEmpty(model1.PricesLimit)) //如果要求回复特殊内容 { // builder.Append("判断的TF"+a); // if (model1.PricesLimit.Equals(Content)) //如果回帖正确 if (model1.PricesLimit.Replace(" ", "").Equals(Content.Replace(" ", ""))) //如果回复附言正确 { if (("#" + p.IsPriceID + "#").IndexOf("#" + _reqData.userId + "#") == -1) //判断是否存在已派币ID { if (p.BzType == 0) { new BCW.BLL.User().UpdateiGold(_reqData.userId, mename, GetPrice, "派币帖回帖获得"); } else { new BCW.BLL.User().UpdateiMoney(_reqData.userId, mename, GetPrice, "派币帖回帖获得"); } //更新已派 new BCW.BLL.Text().UpdatePricel(_reqData.threadId, GetPrice); CentText = "" + GetPrice + "" + bzText + ""; PbCent = "楼主派" + GetPrice + "" + bzText + ""; //更新派币ID string IsPriceID = p.IsPriceID; if (("#" + IsPriceID + "#").IndexOf("#" + _reqData.userId + "#") == -1) { string sPriceID = string.Empty; if (string.IsNullOrEmpty(IsPriceID)) { sPriceID = _reqData.userId.ToString(); } else { sPriceID = IsPriceID + "#" + _reqData.userId; } new BCW.BLL.Text().UpdateIsPriceID(_reqData.threadId, sPriceID); } } } } else //不需要回复内容 { //builder.Append("判断的TF" + a); if (("#" + p.IsPriceID + "#").IndexOf("#" + _reqData.userId + "#") == -1) //判断是否存在已派币ID { if (p.BzType == 0) { new BCW.BLL.User().UpdateiGold(_reqData.userId, mename, GetPrice, "派币帖回帖获得"); } else { new BCW.BLL.User().UpdateiMoney(_reqData.userId, mename, GetPrice, "派币帖回帖获得"); } //更新已派 new BCW.BLL.Text().UpdatePricel(_reqData.threadId, GetPrice); CentText = "" + GetPrice + "" + bzText + ""; PbCent = "楼主派" + GetPrice + "" + bzText + ""; //更新派币ID string IsPriceID = p.IsPriceID; if (("#" + IsPriceID + "#").IndexOf("#" + _reqData.userId + "#") == -1) { string sPriceID = string.Empty; if (string.IsNullOrEmpty(IsPriceID)) { sPriceID = _reqData.userId.ToString(); } else { sPriceID = IsPriceID + "#" + _reqData.userId; } new BCW.BLL.Text().UpdateIsPriceID(_reqData.threadId, sPriceID); } } } } else { if (!string.IsNullOrEmpty(model1.PricesLimit)) //如果要求回复特殊内容 { if (("#" + p.PayCi + "#").IndexOf("#" + Utils.Right(Floor.ToString(), 1) + "#") != -1) //判断要求派币的楼层 { if (model1.PricesLimit.Replace(" ", "").Equals(Content.Replace(" ", ""))) //如果回复附言正确 // if (model1.PricesLimit.Equals(Content)) //如果回帖正确 { // builder.Append("判断的TF" + a); //if (("#" + p.IsPriceID + "#").IndexOf("#" + meid + "#") == -1) //判断是否存在已派币ID //{ if (p.BzType == 0) { new BCW.BLL.User().UpdateiGold(_reqData.userId, mename, GetPrice, "派币帖回帖获得"); } else { new BCW.BLL.User().UpdateiMoney(_reqData.userId, mename, GetPrice, "派币帖回帖获得"); } //更新已派 new BCW.BLL.Text().UpdatePricel(_reqData.threadId, GetPrice); CentText = "" + GetPrice + "" + bzText + ""; PbCent = "踩中楼层" + Utils.Right(Floor.ToString(), 1) + "尾,楼主派" + GetPrice + "" + bzText + ""; //更新派币ID string IsPriceID = p.IsPriceID; if (("#" + IsPriceID + "#").IndexOf("#" + _reqData.userId + "#") == -1) { string sPriceID = string.Empty; if (string.IsNullOrEmpty(IsPriceID)) { sPriceID = _reqData.userId.ToString(); } else { sPriceID = IsPriceID + "#" + _reqData.userId; } new BCW.BLL.Text().UpdateIsPriceID(_reqData.threadId, sPriceID); } //} } } } else //不需要回复内容 { if (("#" + p.PayCi + "#").IndexOf("#" + Utils.Right(Floor.ToString(), 1) + "#") != -1) { // builder.Append("判断的TF" + a); //if (("#" + p.IsPriceID + "#").IndexOf("#" + meid + "#") == -1) //判断是否存在已派币ID //{ if (p.BzType == 0) { new BCW.BLL.User().UpdateiGold(_reqData.userId, mename, GetPrice, "派币帖回帖获得"); } else { new BCW.BLL.User().UpdateiMoney(_reqData.userId, mename, GetPrice, "派币帖回帖获得"); } //更新已派 new BCW.BLL.Text().UpdatePricel(_reqData.threadId, GetPrice); CentText = "" + GetPrice + "" + bzText + ""; PbCent = "踩中楼层" + Utils.Right(Floor.ToString(), 1) + "尾,楼主派" + GetPrice + "" + bzText + ""; //更新派币ID string IsPriceID = p.IsPriceID; if (("#" + IsPriceID + "#").IndexOf("#" + _reqData.userId + "#") == -1) { string sPriceID = string.Empty; if (string.IsNullOrEmpty(IsPriceID)) { sPriceID = _reqData.userId.ToString(); } else { sPriceID = IsPriceID + "#" + _reqData.userId; } new BCW.BLL.Text().UpdateIsPriceID(_reqData.threadId, sPriceID); } //} } } } //检测15天前的派币帖,如果没有派完则自动清0并自动结帖 if (Utils.GetTopDomain().Contains("tuhao") || Utils.GetTopDomain().Contains("th")) { BCW.Data.SqlHelper.ExecuteSql("update tb_Text set Pricel=Prices,IsOver=1 where Types=3 and AddTime<'" + DateTime.Now.AddDays(-15) + "'"); } else { BCW.Data.SqlHelper.ExecuteSql("update tb_Text set Pricel=Prices,IsOver=1 where Types=3 and AddTime<'" + DateTime.Now.AddDays(-7) + "'"); } } else { //派完币即结帖 new BCW.BLL.Text().UpdateIsOver(_reqData.threadId, 1); } } BCW.Model.Reply model = new BCW.Model.Reply(); model.Floor = Floor; model.ForumId = threadModel.ForumId; model.Bid = _reqData.threadId; model.UsID = _reqData.userId; model.UsName = mename; model.Content = Content; model.FileNum = 0; model.ReplyId = reid; model.AddTime = DateTime.Now; model.CentText = CentText; new BCW.BLL.Reply().Add(model); //builder.Append("p.IsPriceID=" + p.IsPriceID); //更新回复ID string sReplyID = p.ReplyID; if (("#" + sReplyID + "#").IndexOf("#" + _reqData.userId + "#") == -1) { string ReplyID = string.Empty; if (string.IsNullOrEmpty(sReplyID)) { ReplyID = _reqData.userId.ToString(); } else { ReplyID = sReplyID + "#" + _reqData.userId; } new BCW.BLL.Text().UpdateReplyID(_reqData.threadId, ReplyID); } //更新回复数 new BCW.BLL.Text().UpdateReplyNum(_reqData.threadId, 1); //回复提醒:0|不提醒|1|帖子作者|2|回帖作者|3|全部提醒 string strRemind = string.Empty; //提醒费用 long Tips = Convert.ToInt64(ub.GetSub("BbsReplyTips", xmlPath)); if (Remind == 1 || Remind == 3) { if (!p.UsID.Equals(_reqData.userId)) { string pForumSet = new BCW.BLL.User().GetForumSet(p.UsID); if (BCW.User.Users.GetForumSet(pForumSet, 14) == 0) { if (new BCW.BLL.User().GetGold(_reqData.userId) >= Tips) { new BCW.BLL.Guest().Add(p.UsID, p.UsName, "[url=/bbs/uinfo.aspx?uid=" + _reqData.userId + "]" + mename + "[/url]回复了您的帖子[url=/bbs/topic.aspx?forumid=" + threadModel.ForumId + "&bid=" + _reqData.threadId + "]" + p.Title + "[/url]"); if (Tips > 0) { new BCW.BLL.User().UpdateiGold(_reqData.userId, mename, -Tips, "回帖提醒帖子作者"); } } } else { strRemind = "帖子作者拒绝接收提醒消息.<br />"; } } } if (Remind == 2 || Remind == 3) { //回帖用户实体 BCW.Model.Reply m = new BCW.BLL.Reply().GetReplyMe(_reqData.threadId, reid); if (!m.UsID.Equals(_reqData.userId)) { string mForumSet = new BCW.BLL.User().GetForumSet(m.UsID); if (BCW.User.Users.GetForumSet(mForumSet, 14) == 0) { if (new BCW.BLL.User().GetGold(_reqData.userId) >= Tips) { string neirong = new BCW.BLL.Reply().GetContent(_reqData.threadId, reid); if (neirong.Length > 30) { neirong = neirong.Substring(0, 30); neirong += "..."; //builder.Append(":" + neirong); } else { // builder.Append(":" + neirong); } if (Content.Length > 30) { Content = Content.Substring(0, 30); Content += "..."; //builder.Append(":" + neirong); } // 修改这里 // builder.Append("<a href=\"" + Utils.getUrl("reply.aspx?act=reply&forumid=" + forumid + "&bid=" + bid + "&reid=" + reid + "&backurl=" + Utils.getPage(0) + "") + "\">点评回复</a>|"); new BCW.BLL.Guest().Add(m.UsID, m.UsName, "[url=/bbs/uinfo.aspx?uid=" + _reqData.userId + "]" + mename + "[/url]点评了您的回帖[url=/bbs/reply.aspx?act=view&forumid=" + threadModel.ForumId + "&bid=" + _reqData.threadId + "&reid=" + reid + "]" + reid + "楼[/url]:" + neirong + "<br/>回复内容为:" + Content + "[url=/bbs/reply.aspx?act=view&forumid=" + threadModel.ForumId + "&bid=" + _reqData.threadId + "&reid=" + Floor + "]更多[/url]<br/>[url=/bbs/reply.aspx?act=reply&forumid=" + threadModel.ForumId + "&bid=" + _reqData.threadId + "&reid=" + Floor + "]点评回复[/url]"); if (Tips > 0) { new BCW.BLL.User().UpdateiGold(_reqData.userId, mename, -Tips, "回帖提醒回帖作者"); } } } else { if (!string.IsNullOrEmpty(strRemind)) { strRemind = "帖子作者与回帖作者拒绝接收提醒消息.<br />"; } else { strRemind = "回帖作者拒绝接收提醒消息.<br />"; } } } } //论坛统计 BCW.User.Users.UpdateForumStat(2, _reqData.userId, mename, threadModel.ForumId); //动态记录 if (Forummodel.GroupId == 0) { new BCW.BLL.Action().Add(-1, 0, _reqData.userId, mename, "在" + Forummodel.Title + "回复帖子[URL=/bbs/topic.aspx?forumid=" + threadModel.ForumId + "&bid=" + _reqData.threadId + "]" + new BCW.BLL.Text().GetTitle(_reqData.threadId) + "[/URL]"); } else { new BCW.BLL.Action().Add(-2, 0, _reqData.userId, mename, "在圈坛-" + Forummodel.Title + "回复帖子[URL=/bbs/topic.aspx?forumid=" + threadModel.ForumId + "&bid=" + _reqData.threadId + "]" + new BCW.BLL.Text().GetTitle(_reqData.threadId) + "[/URL]"); } //积分操作/论坛统计/圈子论坛不进行任何奖励 int IsAcc = -1; if (Forummodel.GroupId == 0) { IsAcc = new BCW.User.Cent().UpdateCent2(BCW.User.Cent.enumRole.Cent_Reply, _reqData.userId, true); } else { if (!Utils.GetDomain().Contains("th")) { IsAcc = new BCW.User.Cent().UpdateCent2(BCW.User.Cent.enumRole.Cent_Reply, _reqData.userId, false); } } _rspData.header.status = ERequestResult.success; if (IsAcc >= 0) { _rspData.rewardItem = BCW.User.Users.GetWinCent(1, _reqData.userId); } _rspData.header.status = ERequestResult.success; return(_rspData); }
/// <summary> /// 设置精华贴 /// </summary> /// <param name="_reqData"></param> /// <returns></returns> public RspGoodThread SetGoodThread(ReqGoodThread _reqData) { RspGoodThread _rspGoodThread = new RspGoodThread(); int uid = _reqData.userId; int bid = _reqData.threadId; //检查是否登录状态 if (Common.Common.CheckLogin(uid, _reqData.userKey) == 0) { _rspGoodThread.header.status = ERequestResult.faild; _rspGoodThread.header.statusCode = Error.MOBILE_ERROR_CODE.SYS_USER_NOLOGIN; return(_rspGoodThread); } BCW.Model.Text model = new BCW.BLL.Text().GetText(bid);//GetTextMe if (model == null) { _rspGoodThread.header.status = ERequestResult.faild; _rspGoodThread.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_THREAD_NOT_FOUND; return(_rspGoodThread); } string sText = string.Empty; if (_reqData.goodType == 1) { sText = "加为"; } else { sText = "解除"; } int IsGood = new BCW.BLL.Text().GetIsGood(bid); if (_reqData.goodType == 1 && IsGood == 1) { _rspGoodThread.header.status = ERequestResult.faild; _rspGoodThread.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_THREAD_IS_GOOD; return(_rspGoodThread); } //不能操作自己的 if (uid == model.UsID) { _rspGoodThread.header.status = ERequestResult.faild; _rspGoodThread.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_THREAD_OPER_MYSELF; return(_rspGoodThread); } //积分操作/论坛统计/圈子论坛不进行任何奖励 int GroupId = new BCW.BLL.Forum().GetGroupId(model.ForumId); if (GroupId == 0) { //检查权限 if (_reqData.goodType == 1 && new BCW.User.Role().IsUserRole(BCW.User.Role.enumRole.Role_GoodText, uid, model.ForumId) == false) { _rspGoodThread.header.status = ERequestResult.faild; _rspGoodThread.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_FORUM_LIMIT_NOT_ENOUGH; return(_rspGoodThread); } else if (_reqData.goodType == 0 && new BCW.User.Role().IsUserRole(BCW.User.Role.enumRole.Role_DelGoodText, uid, model.ForumId) == false) { _rspGoodThread.header.status = ERequestResult.faild; _rspGoodThread.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_FORUM_LIMIT_NOT_ENOUGH; return(_rspGoodThread); } } string strLog = "主题[url=/bbs/topic.aspx?forumid=" + model.ForumId + "&bid=" + bid + "]《" + model.Title + "》[/url]被[url=/bbs/uinfo.aspx?uid=" + uid + "]" + new BCW.BLL.User().GetUsName(uid) + "[/url]" + sText + "精华!"; new BCW.BLL.Text().UpdateIsGood(bid, _reqData.goodType); new BCW.BLL.Forumlog().Add(1, model.ForumId, bid, "[url=/bbs/uinfo.aspx?uid=" + model.UsID + "]" + model.UsName + "[/url]的" + strLog); new BCW.BLL.Guest().Add(0, model.UsID, model.UsName, "您的" + strLog); _rspGoodThread.header.status = ERequestResult.success; return(_rspGoodThread); }
/// <summary> /// 发贴 /// </summary> /// <param name="ForumId"></param> /// <returns>发表贴子结果类</returns> public RspAddThread AddThread(ReqAddThread _reqData) { RspAddThread _rspAddThread = new RspAddThread(); //验证用户ID格式 if (_reqData.userId < 0) { _rspAddThread.header.status = ERequestResult.faild; _rspAddThread.header.statusCode = Error.MOBILE_ERROR_CODE.MOBILE_PARAMS_ERROR; return(_rspAddThread); } //验证帖子类型 if (Regex.IsMatch(_reqData.pType.ToString(), @"^[0-4]$|^6$|^7$|^8$") == false) { _rspAddThread.header.status = ERequestResult.faild; _rspAddThread.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_THREAD_TYPE_ERROR; return(_rspAddThread); } //验证帖子类型 if (Regex.IsMatch(_reqData.forumId.ToString(), @"^[0-9]\d*$") == false) { _rspAddThread.header.status = ERequestResult.faild; _rspAddThread.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_THREAD_TYPE_ERROR; return(_rspAddThread); } //验证贴子标题长度 if (Regex.IsMatch(_reqData.title, @"^[\s\S]{" + ub.GetSub("BbsThreadMin", xmlPath) + "," + ub.GetSub("BbsThreadMax", xmlPath) + "}$") == false) { _rspAddThread.header.status = ERequestResult.faild; _rspAddThread.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_THREAD_TITLE_LENGTH_ERROR; _rspAddThread.header.statusMsg = string.Format(_rspAddThread.header.statusMsg, ub.GetSub("BbsThreadMin", xmlPath), ub.GetSub("BbsThreadMax", xmlPath)); return(_rspAddThread); } //验证内容长度 if (Regex.IsMatch(_reqData.content, @"^[\s\S]{" + ub.GetSub("BbsContentMin", xmlPath) + "," + ub.GetSub("BbsContentMax", xmlPath) + "}$") == false) { _rspAddThread.header.status = ERequestResult.faild; _rspAddThread.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_THREAD_CONTENT_LENGTH_ERROR; _rspAddThread.header.statusMsg = string.Format(_rspAddThread.header.statusMsg, ub.GetSub("BbsContentMin", xmlPath), ub.GetSub("BbsContentMax", xmlPath)); return(_rspAddThread); } //检查是否登录状态 if (Common.Common.CheckLogin(_reqData.userId, _reqData.userKey) == 0) { _rspAddThread.header.status = ERequestResult.faild; _rspAddThread.header.statusCode = Error.MOBILE_ERROR_CODE.SYS_USER_NOLOGIN; return(_rspAddThread); } //版块是否可用 if (!new BCW.BLL.Forum().Exists2(_reqData.forumId)) { _rspAddThread.header.status = ERequestResult.faild; _rspAddThread.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_FORUM_NOT_FOUND; return(_rspAddThread); } //自身权限不足 if (new BCW.User.Limits().IsUserLimit(BCW.User.Limits.enumRole.Role_Text, _reqData.userId) == true) { _rspAddThread.header.status = ERequestResult.faild; _rspAddThread.header.statusCode = Error.MOBILE_ERROR_CODE.SYS_USER_LIMIT_NOT_ENOUGH; return(_rspAddThread); } //板块权限不足 if (Common.Common.CheckUserFLimit(BCW.User.FLimits.enumRole.Role_Text, _reqData.userId, _reqData.forumId)) { _rspAddThread.header.status = ERequestResult.faild; _rspAddThread.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_FORUM_LIMIT_NOT_ENOUGH; return(_rspAddThread); } string mename = new BCW.BLL.User().GetUsName(_reqData.userId); int ThreadNum = Utils.ParseInt(ub.GetSub("BbsThreadNum", xmlPath)); if (ThreadNum > 0) { int ToDayCount = new BCW.BLL.Forumstat().GetCount(_reqData.userId, 1);//今天发布帖子数 if (ToDayCount >= ThreadNum) { _rspAddThread.header.status = ERequestResult.faild; _rspAddThread.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_THREAD_THREAD_NUM; return(_rspAddThread); } } BCW.Model.Forum model = new BCW.BLL.Forum().GetForum(_reqData.forumId); //论坛限制性 //BCW.User.Users.ShowForumLimit(_reqData.userId, model.Gradelt, model.Visitlt, model.VisitId, model.IsPc); //浏览限制 //发贴限制 Error.MOBILE_ERROR_CODE _result = Common.Common.ShowAddThread(_reqData.userId, model.Postlt); if (_result != Error.MOBILE_ERROR_CODE.MOBILE_MSG_NONE) { _rspAddThread.header.status = ERequestResult.faild; _rspAddThread.header.statusCode = _result; return(_rspAddThread); } //判断玩家是否刷屏 string Hide = string.Empty; int Price = 0; int Price2 = 0; long Prices = 0; int BzType = 0; int HideType = 0; int IsSeen = 0; string PayCi = string.Empty; string Vote = string.Empty; DateTime VoteExTime = DateTime.Now; int LabelId = 0; BCW.Model.Text addmodel = new BCW.Model.Text(); addmodel.ForumId = _reqData.forumId; addmodel.Types = _reqData.pType; addmodel.LabelId = LabelId; addmodel.Title = _reqData.title; addmodel.Content = _reqData.content; addmodel.HideContent = Hide; addmodel.UsID = _reqData.userId; addmodel.UsName = mename; addmodel.Price = Price; addmodel.Price2 = Price2; addmodel.Prices = Prices; addmodel.HideType = HideType; addmodel.BzType = BzType; addmodel.PayCi = PayCi; addmodel.IsSeen = IsSeen; addmodel.IsDel = 0; addmodel.AddTime = DateTime.Now; addmodel.ReTime = DateTime.Now; addmodel.PricesLimit = ""; addmodel.Gaddnum = 0; addmodel.Gqinum = 0; int k = 0; k = new BCW.BLL.Text().Add(addmodel); //论坛统计 BCW.User.Users.UpdateForumStat(1, _reqData.userId, mename, _reqData.forumId); //动态记录 if (model.GroupId > 0) { new BCW.BLL.Action().Add(-2, 0, _reqData.userId, mename, "在圈坛-" + model.Title + "发表了[URL=/bbs/topic.aspx?forumid=" + _reqData.forumId + "&bid=" + k + "]" + _reqData.title + "[/URL]的帖子"); } else { new BCW.BLL.Action().Add(-1, 0, _reqData.userId, mename, "在" + model.Title + "发表了[URL=/bbs/topic.aspx?forumid=" + _reqData.forumId + "&bid=" + k + "]" + _reqData.title + "[/URL]的帖子"); } //积分操作/论坛统计/圈子论坛不进行任何奖励 int GroupId = new BCW.BLL.Forum().GetGroupId(_reqData.forumId); int IsAcc = -1; if (GroupId == 0) { IsAcc = new BCW.User.Cent().UpdateCent2(BCW.User.Cent.enumRole.Cent_Text, _reqData.userId, true); } else { if (!Utils.GetDomain().Contains("th")) { IsAcc = new BCW.User.Cent().UpdateCent2(BCW.User.Cent.enumRole.Cent_Text, _reqData.userId, false); } } #region 这里开始修改提醒ID 发内线 string remind = ub.GetSub("remindid" + _reqData.forumId, xmlPath); //获取XML的值 if (remind != "") //如果有提醒ID { string[] IDS = remind.Split('#'); for (int i = 0; i < IDS.Length; i++) { if (model.GroupId > 0) { new BCW.BLL.Guest().Add(0, int.Parse(IDS[i]), new BCW.BLL.User().GetUsName(int.Parse(IDS[i])), "请注意!用户[url=/bbs/uinfo.aspx?uid=" + _reqData.userId + "]" + mename + "(" + _reqData.userId + ")[/url]在圈坛-" + model.Title + "发表了[URL=/bbs/topic.aspx?forumid=" + _reqData.forumId + "&bid=" + k + "]" + _reqData.title + "[/URL]的帖子"); } else { new BCW.BLL.Guest().Add(0, int.Parse(IDS[i]), new BCW.BLL.User().GetUsName(int.Parse(IDS[i])), "请注意!用户[url=/bbs/uinfo.aspx?uid=" + _reqData.userId + "]" + mename + "(" + _reqData.userId + ")[/url]在" + model.Title + "发表了[URL=/bbs/topic.aspx?forumid=" + _reqData.forumId + "&bid=" + k + "]" + _reqData.title + "[/URL]的帖子"); } } } #endregion _rspAddThread.header.status = ERequestResult.success; _rspAddThread.threadId = k; return(_rspAddThread); }