Beispiel #1
0
        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 + "&amp;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&amp;forumid=" + forumid + "&amp;bid=" + bid + "&amp;reid=" + reid + "&amp;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&amp;forumid=" + threadModel.ForumId + "&amp;bid=" + _reqData.threadId + "&amp;reid=" + reid + "]" + reid + "楼[/url]:" + neirong + "<br/>回复内容为:" + Content + "[url=/bbs/reply.aspx?act=view&amp;forumid=" + threadModel.ForumId + "&amp;bid=" + _reqData.threadId + "&amp;reid=" + Floor + "]更多[/url]<br/>[url=/bbs/reply.aspx?act=reply&amp;forumid=" + threadModel.ForumId + "&amp;bid=" + _reqData.threadId + "&amp;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 + "&amp;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 + "&amp;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);
        }
Beispiel #2
0
        /// <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 + "&amp;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 + "&amp;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 + "&amp;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 + "&amp;bid=" + k + "]" + _reqData.title + "[/URL]的帖子");
                    }
                }
            }
            #endregion

            _rspAddThread.header.status = ERequestResult.success;
            _rspAddThread.threadId      = k;
            return(_rspAddThread);
        }