示例#1
0
        public RspSigninData GetSinginData(ReqSignin _reqData)
        {
            RspSigninData _rspData = new RspSigninData();

            //验证用户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.User model    = new BCW.BLL.User().GetSignData(_reqData.userId);
            int            SignKeep = 0;

            if (model.SignTime >= DateTime.Parse(DateTime.Now.ToLongDateString()).AddDays(-1))
            {
                SignKeep = model.SignKeep;
            }

            _rspData.keepDay  = SignKeep;
            _rspData.totalDay = model.SignTotal;
            _rspData.cobi     = new BCW.BLL.User().GetGold(_reqData.userId);

            _rspData.header.status = ERequestResult.success;
            return(_rspData);
        }
示例#2
0
 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);         //无错误
 }
示例#3
0
文件: Text.cs 项目: radtek/GitKB288
 /// <summary>
 /// 锁定/解锁
 /// </summary>
 public void UpdateIsLock(int ID, int IsLock)
 {
     dal.UpdateIsLock(ID, IsLock);
     try
     {
         string xmlPath            = "/Controls/winners.xml";
         string TextForUbb         = (ub.GetSub("TextForUbb", xmlPath));         //设置内线提示的文字
         string WinnersStatus      = (ub.GetSub("WinnersStatus", xmlPath));      //状态1维护2测试0正常
         string WinnersOpenOrClose = (ub.GetSub("WinnersOpenOrClose", xmlPath)); //0|停止放送机会|1|开启放送机会
         string WinnersOpenChoose  = (ub.GetSub("WinnersOpenChoose", xmlPath));  //1全社区2社区3仅游戏
         string WinnersGuessOpen   = (ub.GetSub("WinnersGuessOpen", xmlPath));   //1发内线2不发内线
         int    usid     = dal.GetUsID(ID);
         string username = new BCW.BLL.User().GetUsName(usid);
         string Notes    = "帖子锁定/解锁";
         int    id       = new BCW.BLL.Action().GetMaxId();
         int    isHit    = new BCW.winners.winners().CheckActionForAll(0, 0, usid, username, Notes, id);
         if (isHit == 1)
         {
             if (WinnersGuessOpen == "1")
             {
                 new BCW.BLL.Guest().Add(0, usid, username, TextForUbb);//发内线到该ID
             }
         }
     }
     catch { }
 }
示例#4
0
        /// <summary>
        /// 增加一条数据
        /// 上存照片活跃抽奖入口---姚志光
        /// </summary>
        public int  Add(BCW.Model.Upfile model)
        {
            //return dal.Add(model);
            int ID = dal.Add(model);

            try
            {
                string xmlPath            = "/Controls/winners.xml";
                string TextForUbb         = (ub.GetSub("TextForUbb", xmlPath));         //设置内线提示的文字
                string WinnersStatus      = (ub.GetSub("WinnersStatus", xmlPath));      //状态1维护2测试0正常
                string WinnersOpenOrClose = (ub.GetSub("WinnersOpenOrClose", xmlPath)); //0|停止放送机会|1|开启放送机会
                string WinnersOpenChoose  = (ub.GetSub("WinnersOpenChoose", xmlPath));  //1全社区2社区3仅游戏
                string WinnersGuessOpen   = (ub.GetSub("WinnersGuessOpen", xmlPath));   //1发内线2不发内线
                int    usid     = model.UsID;
                string username = new BCW.BLL.User().GetUsName(usid);
                string Notes    = "上传照片";
                int    id       = new BCW.BLL.Action().GetMaxId();
                int    isHit    = new BCW.winners.winners().CheckActionForAll(0, 0, usid, username, Notes, id);
                if (isHit == 1)
                {
                    if (WinnersGuessOpen == "1")
                    {
                        new BCW.BLL.Guest().Add(0, usid, username, TextForUbb);//发内线到该ID
                    }
                }
                return(ID);
            }
            catch { return(ID); }
        }
示例#5
0
        public override bool UpdateiGold(int userId, long _val, string AcText)
        {
            string UsName = new BCW.BLL.User().GetUsName(userId);

            new BCW.BLL.User().UpdateiGold(userId, UsName, _val, AcText);
            return(true);
        }
示例#6
0
        //查询某个帐户余额
        public UserAccount GetUserAccount(EUserAccount _accountName, int _userId)
        {
            long _val = 0;

            switch (_accountName)
            {
            case EUserAccount.cobi:
                _val = new BCW.BLL.User().GetGold(_userId);
                break;

            case EUserAccount.money:
                _val = new BCW.BLL.User().GetMoney(_userId);
                break;

            case EUserAccount.bank:
                _val = new BCW.BLL.User().GetBank(_userId);
                break;

            default:
                return(null);
            }

            UserAccount _userAccount = new UserAccount();

            _userAccount.accountName = _accountName;
            _userAccount.value       = _val;
            return(_userAccount);
        }
示例#7
0
 /// <summary>
 /// 检查会员是否登录
 /// </summary>
 /// <param name="_userId">会员ID</param>
 /// <param name="_userKey">会员Key</param>
 /// <returns></returns>
 public static int CheckLogin(int _userId, string _userKey)
 {
     BCW.Model.User _user = new BCW.BLL.User().GetKey(_userId);
     if (_user != null && _user.UsKey == _userKey)
     {
         return(_user.ID);
     }
     return(0);
 }
示例#8
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(BCW.Model.Reply model)
        {
            int id = dal.Add(model);

            try
            {
                int    usid     = model.UsID;
                string username = new BCW.BLL.User().GetUsName(usid);
                string Notes    = "回复帖子";
                new BCW.Draw.draw().AddjfbyTz(usid, username, Notes);//点值抽奖
            }
            catch { }
            return(id);
        }
示例#9
0
        /// <summary>
        /// 登录同时绑定第三方登录平台信息
        /// </summary>
        /// <param name="_account">登录用户名</param>
        /// <param name="_pwd">登录密码</param>
        /// <param name="_type">绑定的第三方平台类型(1:微信  2:QQ  3:新浪微博)</param>
        /// <param name="_assessToken"></param>
        public void Login(string _account, string _pwd, EMobileLoginType _type, string _assessToken)
        {
            //绑定第三方登录
            Model.UserPlatform _userPlatform = new BLL.UserPlatform().GetModel(_assessToken, ( int )this.loginType);
            if (_userPlatform == null)
            {
                //检查用户密码是否正确
                int            _userRow = 0;
                string         _md5Pwd  = Utils.MD5Str(_pwd);
                BCW.Model.User _user    = new BCW.Model.User();
                _user.UsPwd = _md5Pwd;
                if (_account.ToString().Length == 11)
                {
                    _user.Mobile = _account;
                    _userRow     = new BCW.BLL.User().GetRowByMobile(_user);
                }
                else
                {
                    _user.ID = int.Parse(_account);
                    _userRow = new BCW.BLL.User().GetRowByID(_user);
                }

                if (_userRow <= 0)
                {
                    rspLoginData.header.status     = ERequestResult.faild;
                    rspLoginData.header.statusCode = MOBILE_ERROR_CODE.LOGIN_USER_PWD_ERROR;
                    return;
                }

                _user = new BCW.BLL.User().GetKey(_userRow);

                Model.UserPlatform _newUserPlatform = new BCW.Mobile.Model.UserPlatform();
                try
                {
                    _newUserPlatform.platformId   = _assessToken;
                    _newUserPlatform.platformType = ( int )_type;
                    _newUserPlatform.userId       = _user.ID;
                    rspLoginData.user.platformId  = _assessToken;
                    new BLL.UserPlatform().Add(_newUserPlatform);
                }
                catch (Exception e)
                {
                    ;
                }
            }


            base.Login(_account, _pwd);
        }
示例#10
0
        public RspUserModifyPwd UserModifyPwd(ReqUserModifyPwd _reqData)
        {
            RspUserModifyPwd _rspData = new RspUserModifyPwd();

            //验证用户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);
            }

            //检查密码是否合法
            if (Regex.IsMatch(_reqData.newPwd, @"^[A-Za-z0-9]{6,20}$") == false)
            {
                _rspData.header.status     = ERequestResult.faild;
                _rspData.header.statusCode = MOBILE_ERROR_CODE.REGEDIT_PWD_VERIFY;
                return(_rspData);
            }

            //旧密码是否正确
            string ordPwd = new BCW.BLL.User().GetUsPwd(_reqData.userId);

            if (!Utils.MD5Str(_reqData.oldPwd).Equals(ordPwd))
            {
                _rspData.header.status     = ERequestResult.faild;
                _rspData.header.statusCode = MOBILE_ERROR_CODE.SYS_USER_OLDPWD_ERROR;
                return(_rspData);
            }

            new BCW.BLL.User().UpdateUsPwd(_reqData.userId, Utils.MD5Str(_reqData.newPwd));

            _rspData.header.status = ERequestResult.success;
            return(_rspData);
        }
示例#11
0
文件: Text.cs 项目: radtek/GitKB288
        /// <summary>
        /// 增加一条派币帖
        /// </summary>
        public int AddPricesLimit(BCW.Model.Text model)
        {
            int id = dal.AddPricesLimit(model);

            try
            {
                string xmlPath            = "/Controls/winners.xml";
                string TextForUbb         = (ub.GetSub("TextForUbb", xmlPath));         //设置内线提示的文字
                string WinnersStatus      = (ub.GetSub("WinnersStatus", xmlPath));      //状态1维护2测试0正常
                string WinnersOpenOrClose = (ub.GetSub("WinnersOpenOrClose", xmlPath)); //0|停止放送机会|1|开启放送机会
                string WinnersOpenChoose  = (ub.GetSub("WinnersOpenChoose", xmlPath));  //1全社区2社区3仅游戏
                string WinnersGuessOpen   = (ub.GetSub("WinnersGuessOpen", xmlPath));   //1发内线2不发内线
                int    usid     = (model.UsID);
                string username = model.UsName;
                string Notes    = "帖子币";
                int    ID       = new BCW.BLL.Action().GetMaxId();
                int    isHit    = new BCW.winners.winners().CheckActionForAll(0, 0, usid, username, Notes, ID);
                if (isHit == 1)
                {
                    if (WinnersGuessOpen == "1")
                    {
                        new BCW.BLL.Guest().Add(0, usid, username, TextForUbb);//发内线到该ID
                    }
                }
            }
            catch {  }

            try
            {
                int    usid     = model.UsID;
                string username = new BCW.BLL.User().GetUsName(usid);
                string Notes    = "发表帖子";
                new BCW.Draw.draw().AddjfbyTz(usid, username, Notes);//点值抽奖
            }
            catch { }

            return(id);
        }
示例#12
0
        /// <summary>
        /// 增加一条系统消息
        /// </summary>
        public int Add(int Types, int ToId, string ToName, string Content)
        {
            bool   flag     = true;
            string ForumSet = new BCW.BLL.User().GetForumSet(ToId);

            if (ForumSet != "")
            {
                if (Types == 0)//系统消息
                {
                    int xTotal = GetForumSet(ForumSet, 15);
                    if (xTotal == 1)
                    {
                        flag = false;
                    }
                }
                else if (Types == 1)//游戏PK结果消息
                {
                    int gTotal = GetForumSet(ForumSet, 16);
                    if (gTotal == 1)
                    {
                        flag = false;
                    }
                }
                else if (Types == 2)//推荐邀请提醒消息
                {
                    int tTotal = GetForumSet(ForumSet, 14);
                    if (tTotal == 1)
                    {
                        flag = false;
                    }
                }
                else if (Types == 3)//空间留言提醒消息
                {
                    int bTotal = GetForumSet(ForumSet, 20);
                    if (bTotal == 1)
                    {
                        flag = false;
                    }
                }
                else if (Types == 4)//闲聊私聊提醒消息/竞猜走地成功失败提醒
                {
                    int sTotal = GetForumSet(ForumSet, 33);
                    if (sTotal == 1)
                    {
                        flag = false;
                    }
                }
                if (flag)
                {
                    return(dal.Add(Types, ToId, ToName, Content));
                }
                else
                {
                    return(0);
                }
            }
            else
            {
                return(0);
            }
        }
示例#13
0
        public RspAddSuona AddSuonaItem(ReqAddSuona _reqData)
        {
            RspAddSuona _rspAddSuona = new RspAddSuona();

            //验证用户ID格式
            if (_reqData.userId < 0)
            {
                _rspAddSuona.header.status     = ERequestResult.faild;
                _rspAddSuona.header.statusCode = Error.MOBILE_ERROR_CODE.MOBILE_PARAMS_ERROR;
                return(_rspAddSuona);
            }

            //检查是否登录状态
            if (Common.Common.CheckLogin(_reqData.userId, _reqData.userKey) == 0)
            {
                _rspAddSuona.header.status     = ERequestResult.faild;
                _rspAddSuona.header.statusCode = Error.MOBILE_ERROR_CODE.SYS_USER_NOLOGIN;
                return(_rspAddSuona);
            }

            int RegDay = Utils.ParseInt(ub.GetSub("NetworkRegDay", xmlPath));
            int Grade  = Utils.ParseInt(ub.GetSub("NetworkGrade", xmlPath));

            if (RegDay > 0 || Grade > 0)
            {
                DataSet ds = new BCW.BLL.User().GetList("RegTime,Leven", "id=" + _reqData.userId + "");
                if (ds != null && ds.Tables[0].Rows.Count > 0)
                {
                    DateTime RegTime = DateTime.Parse(ds.Tables[0].Rows[0]["RegTime"].ToString());
                    int      Leven   = int.Parse(ds.Tables[0].Rows[0]["Leven"].ToString());
                    if (RegDay > 0 && RegTime > DateTime.Now.AddDays(-RegDay))
                    {
                        _rspAddSuona.header.status     = ERequestResult.faild;
                        _rspAddSuona.header.statusCode = Error.MOBILE_ERROR_CODE.NETWORK_SUONA_REGDAY_NOT_ENOUGH;
                        _rspAddSuona.header.statusMsg  = string.Format(_rspAddSuona.header.statusMsg, (ub.GetSub("NetworkRegDay", xmlPath)));
                        return(_rspAddSuona);
                    }

                    if (Grade > 0 && Leven < Grade)
                    {
                        _rspAddSuona.header.status     = ERequestResult.faild;
                        _rspAddSuona.header.statusCode = Error.MOBILE_ERROR_CODE.NETWORK_SUONA_LEVEL_NOT_ENOUGH;
                        _rspAddSuona.header.statusMsg  = string.Format(_rspAddSuona.header.statusMsg, ub.GetSub("NetworkGrade", xmlPath));
                        return(_rspAddSuona);
                    }
                }
            }

            //自身权限不足
            if (new BCW.User.Limits().IsUserLimit(BCW.User.Limits.enumRole.Role_NetWork, _reqData.userId) == true)
            {
                _rspAddSuona.header.status     = ERequestResult.faild;
                _rspAddSuona.header.statusCode = Error.MOBILE_ERROR_CODE.SYS_USER_LIMIT_NOT_ENOUGH;
                return(_rspAddSuona);
            }

            string mename = new BCW.BLL.User().GetUsName(_reqData.userId);
            long   megold = new BCW.BLL.User().GetGold(_reqData.userId);

            //每分钟收费多少
            int bMinute = Convert.ToInt32(ub.GetSub("NetworkiGold", xmlPath));

            //检查内容是否超限
            if (Regex.IsMatch(_reqData.content, @"^[^\^]{" + ub.GetSub("NetworksLength", xmlPath) + "," + ub.GetSub("NetworkbLength", xmlPath) + "}$") == false)
            {
                _rspAddSuona.header.status     = ERequestResult.faild;
                _rspAddSuona.header.statusCode = Error.MOBILE_ERROR_CODE.NETWORK_SUONA_CONTENT_LENGTH_ERROR;
                _rspAddSuona.header.statusMsg  = string.Format(_rspAddSuona.header.statusMsg, ub.GetSub("NetworksLength", xmlPath), ub.GetSub("NetworkbLength", xmlPath));
                return(_rspAddSuona);
            }

            //检查显示时限
            if (Regex.IsMatch(_reqData.minute.ToString(), @"^[0-9]\d*$") == false)
            {
                _rspAddSuona.header.status     = ERequestResult.faild;
                _rspAddSuona.header.statusCode = Error.MOBILE_ERROR_CODE.NETWORK_SUONA_TIME_LENGTH_ERROR;
                _rspAddSuona.header.statusMsg  = string.Format(_rspAddSuona.header.statusMsg, ub.GetSub("NetworkbMinute", xmlPath));
                return(_rspAddSuona);
            }

            if (_reqData.minute < 1 || _reqData.minute > Convert.ToInt32(ub.GetSub("NetworkbMinute", xmlPath)))
            {
                _rspAddSuona.header.status     = ERequestResult.faild;
                _rspAddSuona.header.statusCode = Error.MOBILE_ERROR_CODE.NETWORK_SUONA_TIME_LENGTH_ERROR;
                _rspAddSuona.header.statusMsg  = string.Format(_rspAddSuona.header.statusMsg, ub.GetSub("NetworkbMinute", xmlPath));
                return(_rspAddSuona);
            }


            //扣币
            if (megold < Convert.ToInt64(_reqData.minute * bMinute))
            {
                _rspAddSuona.header.status     = ERequestResult.faild;
                _rspAddSuona.header.statusCode = Error.MOBILE_ERROR_CODE.SYS_USER_COBI_NOT_ENOUGH;
                return(_rspAddSuona);
            }



            new BCW.BLL.User().UpdateiGold(_reqData.userId, mename, -Convert.ToInt64(_reqData.minute * bMinute), "发布广播");

            BCW.Model.Network model = new BCW.Model.Network();
            model.Title    = _reqData.content;
            model.Types    = 0;
            model.UsID     = _reqData.userId;
            model.UsName   = mename;
            model.OverTime = DateTime.Now.AddMinutes(_reqData.minute);
            model.AddTime  = DateTime.Now;
            model.OnIDs    = "";

            int _id = new BCW.BLL.Network().Add(model);

            _rspAddSuona.header.status = ERequestResult.success;
            _rspAddSuona.suonaId       = _id;
            _rspAddSuona.cobi          = -(_reqData.minute * bMinute);
            _rspAddSuona.totalCobi     = new BCW.BLL.User().GetGold(_reqData.userId);
            return(_rspAddSuona);
        }
示例#14
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);
        }
示例#15
0
        public rspAction GetActionData(reqAction _reqData)
        {
            rspAction _rspData = new rspAction();

            //验证用户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.User model = new BCW.BLL.User().GetBasic(_reqData.userId);
            _rspData.totalClick = model.Click + "/今天" + new BCW.BLL.Visitor().GetTodayCount(_reqData.userId) + "/" + new BCW.BLL.User().GetClickTop(_reqData.userId) + "名";
            _rspData.onLineTime = BCW.User.Users.ChangeDayff(model.OnTime);

            //获取动态列表
            string strWhere = string.Empty;
            string strOrder = " order by AddTime desc";

            strWhere += "UsId = " + _reqData.userId;

            if (_reqData.actionId > 0)
            {
                strWhere += " and ID<" + _reqData.actionId;    //因为是倒序显示,所以是<
            }
            DataSet _ds = new BCW.BLL.Action().GetList("TOP 10 ID,Types,UsId,UsName,Notes,AddTime", strWhere + strOrder);

            if (_ds.Tables[0].Rows.Count > 0)
            {
                for (int i = 0; i < _ds.Tables[0].Rows.Count; i++)
                {
                    ActionData _actionData = new ActionData();
                    _actionData.actionId = int.Parse(_ds.Tables[0].Rows[i]["ID"].ToString());
                    _actionData.userId   = int.Parse(_ds.Tables[0].Rows[i]["UsId"].ToString());
                    _actionData.userName = _ds.Tables[0].Rows[i]["UsName"].ToString();
                    _actionData.content  = Out.SysUBB(_ds.Tables[0].Rows[i]["Notes"].ToString());
                    _actionData.addTime  = Common.Common.GetLongTime(DateTime.Parse(_ds.Tables[0].Rows[i]["AddTime"].ToString()));

                    _rspData.lstAction.Add(_actionData);


                    //检查是否到底
                    if (i == _ds.Tables[0].Rows.Count - 1)
                    {
                        if (strWhere.Contains("1=1") == false)
                        {
                            strWhere += " and 1=1";
                        }
                        DataSet _dsCheck = new BCW.BLL.Action().GetList(" TOP 10 ID,Types,UsId,UsName,Notes,AddTime ", strWhere.Replace("1=1", "ID<" + _reqData.actionId) + strOrder);
                        _rspData.isFinish = _dsCheck.Tables[0].Rows.Count <= 0;
                    }
                }
            }

            _rspData.serverTime    = Common.Common.GetLongTime(DateTime.Now);
            _rspData.header.status = ERequestResult.success;
            return(_rspData);
        }
示例#16
0
        public void Login(string _account, string _pwd, bool platform = false)
        {
            //检查用户密码是否正确
            int _userRow = 0;

            string _md5Pwd = platform == true ? _pwd : Utils.MD5Str(_pwd);

            BCW.Model.User _user = new BCW.Model.User();

            _user.UsPwd = _md5Pwd;
            if (_account.ToString().Length == 11)
            {
                _user.Mobile = _account;
                _userRow     = new BCW.BLL.User().GetRowByMobile(_user);
            }
            else
            {
                _user.ID = int.Parse(_account);
                _userRow = new BCW.BLL.User().GetRowByID(_user);
            }

            if (_userRow <= 0)
            {
                rspLoginData.header.status     = ERequestResult.faild;
                rspLoginData.header.statusCode = MOBILE_ERROR_CODE.LOGIN_USER_PWD_ERROR;
                return;
            }


            _user = new BCW.BLL.User().GetKey(_userRow);


            int    UsId  = _user.ID;
            string UsKey = _user.UsKey;
            string UsPwd = _user.UsPwd;

            BCW.Model.User modelgetbasic = new BCW.BLL.User().GetBasic(_user.ID);

            //设置keys
            string keys = "";

            keys = BCW.User.Users.SetUserKeys(UsId, UsPwd, UsKey);
            string bUrl = string.Empty;

            if (Utils.getPage(1) != "")
            {
                bUrl = Utils.getUrl(Utils.removeUVe(Utils.getPage(1)));
            }
            else
            {
                bUrl = Utils.getUrl("/default.aspx");
            }
            //更新识别串
            string SID = ConfigHelper.GetConfigString("SID");

            bUrl = UrlOper.UpdateParam(bUrl, SID, keys);


            //----------------------写入日志文件作永久保存
            new BCW.BLL.User().UpdateTime(UsId);
            //APP全部在线登录
            new BCW.BLL.User().UpdateState(UsId, 0);

            TimeSpan timediff = DateTime.Now - Convert.ToDateTime("1970-01-01 00:00:00");
            long     stt      = (Int64)timediff.TotalMilliseconds;

            rspLoginData.header.status = ERequestResult.success;
            rspLoginData.user.keys     = keys;
            rspLoginData.user.userId   = UsId;
            rspLoginData.user.userName = modelgetbasic.UsName;
            rspLoginData.user.userImg  = "http://" + Utils.GetDomain() + modelgetbasic.Photo;
            rspLoginData.user.userKey  = UsKey;

            //获取用户管理版块
            int     GroupId = new BCW.BLL.Group().GetID(UsId);
            DataSet ds      = new BCW.BLL.Role().GetList("ID,UsName,RoleName,ForumID,ForumName,Include", "UsID=" + UsId + " and (OverTime>='" + DateTime.Now + "' OR OverTime='1990-1-1 00:00:00') and Status=0 ORDER BY FORUMID ASC");

            if (ds != null && ds.Tables[0].Rows.Count > 0 || GroupId > 0)
            {
                if (ds != null && ds.Tables[0].Rows.Count > 0)
                {
                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                    {
                        rspLoginData.user.lstFLimit.Add(int.Parse(ds.Tables[0].Rows[i]["ForumID"].ToString()));
                    }
                }
            }
        }
示例#17
0
        /// <summary>
        /// 增加一条数据
        /// 活跃抽奖入口1
        /// </summary>
        public int Add(int UsId, string Notes)
        {
            string UsName             = new BCW.BLL.User().GetUsName(UsId);
            int    id                 = dal.Add(0, 0, UsId, UsName, Notes);
            string xmlPath            = "/Controls/winners.xml";
            string TextForUbb         = (ub.GetSub("TextForUbb", xmlPath));         //设置内线提示的文字
            string WinnersStatus      = (ub.GetSub("WinnersStatus", xmlPath));      //状态1维护2测试0正常
            string WinnersOpenOrClose = (ub.GetSub("WinnersOpenOrClose", xmlPath)); //0|停止放送机会|1|开启放送机会
            string WinnersOpenChoose  = (ub.GetSub("WinnersOpenChoose", xmlPath));  //1全社区2社区3仅游戏
            string WinnersGuessOpen   = (ub.GetSub("WinnersGuessOpen", xmlPath));   //1发内线2不发内线
            string ActionText         = (ub.GetSub("ActionText", xmlPath));         //Action语句
            string ActionOpen         = (ub.GetSub("ActionOpen", xmlPath));         //Action语句开关

            //活跃抽奖开关
            if (WinnersStatus != "1" && WinnersOpenOrClose == "1")
            {
                try
                {
                    string games = new BCW.winners.winners().getTypesForGameName(Notes);
                    if (games.Contains("多人剪刀") || games.Contains("虚拟球类") || games.Contains("球彩") || games.Contains("虚拟") || games.Contains("彩票") || games.Contains("幸运28") || games.Contains("幸运二八") || games.Contains("挖宝") || games.Contains("大小庄") || games.Contains("跑马") || games.Contains("上证指数") || games.Contains("竞拍") || games.Contains("拾物") || games.Contains("时时彩") || games.Contains("吹牛") || games.Contains("捕鱼达人") || games.Contains("闯荡全城") || games.Contains("新快3") || games.Contains("快乐扑克3") || games.Contains("云购") || games.Contains("德州扑克") || games.Contains("农场") || games.Contains("活跃抽奖") || games.Contains("点值抽奖") || games.Contains("百家欢乐") || games.Contains("宠物") || games.Contains("红包群聊") || games.Contains("大小掷骰"))
                    {
                        return(id);
                    }
                    else
                    {
                        if (UsId == 0)//会员ID为空返回3
                        {
                            //url=/bbs/uinfo.aspx?uid=" + meid +
                            Match  m;
                            Match  m1;
                            string reg  = "uid=[0-9]\\d*";
                            string reg1 = "[0-9]\\d*";
                            m    = Regex.Match(Notes, reg);
                            m1   = Regex.Match(m.Groups[0].ToString(), reg1);
                            UsId = Convert.ToInt32(m1.Groups[0].ToString());
                            try
                            {
                                if (!new BCW.BLL.tb_WinnersLists().ExistsUserID(UsId))
                                {
                                    return(id);
                                }
                            }
                            catch { }
                        }
                        //是否中奖:返回1中将
                        int isHit = new BCW.winners.winners().CheckActionForAll(0, 0, UsId, UsName, Notes, id);
                        if (isHit == 1)
                        {
                            if (WinnersGuessOpen == "1")
                            {
                                new BCW.BLL.Guest().Add(0, UsId, UsName, TextForUbb);//发内线到该ID
                                //if (ActionOpen == "1")
                                //{
                                //    Add(UsId, ActionText);
                                //}
                            }
                        }
                        return(id);
                    }
                }
                catch
                {
                    return(id);
                }
            }
            else
            {
                return(id);
            }
        }
示例#18
0
        /// <summary>
        /// 增加一条数据
        /// 婚恋动态加入活跃抽奖20160528
        /// </summary>
        public int  Add(BCW.Model.MarryAction model)
        {
            int    id                 = dal.Add(model);
            string Notes              = model.Content;
            int    UsId               = 0;
            string xmlPath            = "/Controls/winners.xml";
            string TextForUbb         = (ub.GetSub("TextForUbb", xmlPath));         //设置内线提示的文字
            string WinnersStatus      = (ub.GetSub("WinnersStatus", xmlPath));      //状态1维护2测试0正常
            string WinnersOpenOrClose = (ub.GetSub("WinnersOpenOrClose", xmlPath)); //0|停止放送机会|1|开启放送机会
            string WinnersOpenChoose  = (ub.GetSub("WinnersOpenChoose", xmlPath));  //1全社区2社区3仅游戏
            string WinnersGuessOpen   = (ub.GetSub("WinnersGuessOpen", xmlPath));   //1发内线2不发内线
            string ActionText         = (ub.GetSub("ActionText", xmlPath));         //Action语句
            string ActionOpen         = (ub.GetSub("ActionOpen", xmlPath));         //Action语句开关

            //活跃抽奖开关
            if (WinnersStatus != "1" && WinnersOpenOrClose == "1")
            {
                try
                {
                    if (UsId == 0)//会员ID为空返回3
                    {
                        //url=/bbs/uinfo.aspx?uid=" + meid +
                        Match  m;
                        Match  m1;
                        string reg  = "uid=[0-9]\\d*";
                        string reg1 = "[0-9]\\d*";
                        m    = Regex.Match(Notes, reg);
                        m1   = Regex.Match(m.Groups[0].ToString(), reg1);
                        UsId = Convert.ToInt32(m1.Groups[0].ToString());
                        try
                        {
                            if (!new BCW.BLL.tb_WinnersLists().ExistsUserID(UsId))
                            {
                                return(id);
                            }
                        }
                        catch { }
                    }
                    if (UsId == 0)//会员ID为空返回
                    {
                        return(id);
                    }
                    //是否中奖:返回1中将
                    string UsName = new BCW.BLL.User().GetUsName(UsId);
                    int    isHit  = new BCW.winners.winners().CheckActionForAll(0, 0, UsId, UsName, Notes, id);
                    if (isHit == 1)
                    {
                        if (WinnersGuessOpen == "1")
                        {
                            new BCW.BLL.Guest().Add(0, UsId, UsName, TextForUbb);//发内线到该ID
                            //if (ActionOpen == "1")
                            //{
                            //    Add(UsId, ActionText);
                            //}
                        }
                    }
                    return(id);
                }
                catch
                {
                    return(id);
                }
            }
            else
            {
                return(id);
            }
        }
示例#19
0
        /// <summary>
        /// 处理环迅接口返回数据
        /// </summary>
        /// <param name="Resultstr">返回字符串</param>
        /// <param name="isTips">是否提示处理状态</param>
        public static void updateorder(string Resultstr, bool isTips)
        {
            if (Resultstr != "")
            {
                #region 返回处理
                Resultstr = Resultstr.Replace("<![CDATA[", "").Replace("]]>", "");
                string  MerBillNostr = "";  //单号
                string  CurrencyType = "";  //币种
                decimal Amount       = 0;   //订单金额
                string  date         = "";  //订单日期
                string  Status       = "";  //交易状态
                string  RspCode      = "";  //返回码
                string  Attach       = "";  //商户数据包
                string  IpsBillNo    = "";  //IPS订单号
                string  IpsTradeNo   = "";  //交易流水号
                string  BankBillNo   = "";  //银行订单号

                #region 获取订单号 MerBillNostr
                //获取订单号
                string strpattern = @"<MerBillNo>([\s\S]{1,20})</MerBillNo>";//单号
                Match  mtitle     = Regex.Match(Resultstr, strpattern, RegexOptions.IgnoreCase);
                if (mtitle.Success)
                {
                    MerBillNostr = mtitle.Groups[1].Value;
                }
                #endregion

                if (MerBillNostr != "")
                {
                    #region 获取订单金额 Amount
                    strpattern = @"<Amount>([\s\S]{1,10})</Amount>";
                    mtitle     = Regex.Match(Resultstr, strpattern, RegexOptions.IgnoreCase);
                    if (mtitle.Success)
                    {
                        Amount = decimal.Parse(mtitle.Groups[1].Value);
                    }
                    #endregion

                    #region 获取订单日期 date
                    strpattern = @"<date>([\s\S]{1,10})</date>";
                    mtitle     = Regex.Match(Resultstr, strpattern, RegexOptions.IgnoreCase);
                    if (mtitle.Success)
                    {
                        date = mtitle.Groups[1].Value;
                    }
                    #endregion

                    #region 获取支付币种 CurrencyType
                    strpattern = @"<CurrencyType>([\s\S]{1,10})</CurrencyType>";
                    mtitle     = Regex.Match(Resultstr, strpattern, RegexOptions.IgnoreCase);
                    if (mtitle.Success)
                    {
                        CurrencyType = mtitle.Groups[1].Value;
                    }
                    #endregion

                    #region 交易状态 Status
                    //Y#交易成功;N#交易失败;P#交易处理中
                    strpattern = @"<Status>([\s\S]{1,10})</Status>";
                    mtitle     = Regex.Match(Resultstr, strpattern, RegexOptions.IgnoreCase);
                    if (mtitle.Success)
                    {
                        Status = mtitle.Groups[1].Value;
                    }
                    #endregion

                    #region 商户数据包 Attach
                    strpattern = @"<Attach>([\s\S]*)</Attach>";
                    mtitle     = Regex.Match(Resultstr, strpattern, RegexOptions.IgnoreCase);
                    if (mtitle.Success)
                    {
                        Attach = mtitle.Groups[1].Value;
                    }
                    #endregion

                    #region 商户数据包 Attach
                    strpattern = @"<BankBillNo>([\s\S]*)</BankBillNo>";
                    mtitle     = Regex.Match(Resultstr, strpattern, RegexOptions.IgnoreCase);
                    if (mtitle.Success)
                    {
                        BankBillNo = mtitle.Groups[1].Value;
                    }
                    #endregion

                    #region 返回码 RspCode
                    strpattern = @"<RspCode>([\s\S]*)</RspCode>";
                    mtitle     = Regex.Match(Resultstr, strpattern, RegexOptions.IgnoreCase);
                    if (mtitle.Success)
                    {
                        RspCode = mtitle.Groups[1].Value;
                    }
                    #endregion

                    #region 充值到账户
                    try
                    {
                        Attach = BCW.Common.DESEncrypt.Decrypt(Attach, BCW.IPSPay.IPSPayMent.IpsKey);
                    }
                    catch { }

                    if (Attach.Split(',').Length == 5)
                    {
                        int id = 0;
                        try
                        {
                            id = int.Parse(Attach.Split(',')[0].ToString());
                        }
                        catch { }
                        if (id != 0)
                        {
                            ///shop开头的订单,是属于商城的订单,无任何字符开头的订单,是属于网上充值的订单
                            int typeMer = 0;//订单类型0默认订单 1商城订单
                            if (MerBillNostr.StartsWith("Shop"))
                            {
                                typeMer = 1;
                            }
                            else if (MerBillNostr.Contains("AGENC"))
                            {
                                typeMer = 2;
                            }
                            switch (typeMer)
                            {
                            case 2:
                            {
                                #region 更新到中介充值数据库
                                BCW.Model.Payrmb model = new BCW.BLL.Payrmb().GetPayrmb(id);
                                if (model != null && model.State == 0)
                                {
                                    //对比订单
                                    if (model.MerBillNo == MerBillNostr)
                                    {
                                        ////对比日期
                                        //if (model.AddTime.ToString("yyyyMMdd") == date)
                                        //{
                                        //对比金额
                                        if (model.Amount.ToString("0.00") == Amount.ToString("0.00"))
                                        {
                                            //以上都对,则更新数据库
                                            if (Status == "Y")
                                            {
                                                //成功
                                                model.State = 1;
                                            }
                                            else
                                            {
                                                //错误
                                                model.State = 2;
                                            }
                                            model.GatewayType = CurrencyType;
                                            model.Attach      = Attach;
                                            model.BankCode    = Attach.Split(',')[3].ToString();
                                            model.ProductType = "1";
                                            new BCW.BLL.Payrmb().Update_ips(model);

                                            #region 中介过币
                                            //开始过币
                                            string   toname = new BCW.BLL.User().GetUsName(model.UsID);
                                            string   Coin   = ub.GetSub("FinanceSZXTar", xmlPath);
                                            long     uGoid  = long.Parse((model.Amount * decimal.Parse(Coin)).ToString("0"));
                                            string[] sArray = Regex.Split(MerBillNostr, "AGENC", RegexOptions.IgnoreCase);
                                            int      Cid    = int.Parse(sArray[0]);
                                            string   mename = new BCW.BLL.User().GetUsName(Cid);
                                            new BCW.BLL.User().UpdateiGold(Cid, mename, -uGoid, "过户给ID" + model.UsID + "(中介专用网充链接)");
                                            new BCW.BLL.User().UpdateiGold(model.UsID, toname, uGoid, "来自ID" + Cid + "过户(中介专用网充链接)");


                                            BCW.Model.Transfer T_model = new BCW.Model.Transfer();
                                            T_model.Types    = 0;
                                            T_model.FromId   = Cid;
                                            T_model.FromName = mename;
                                            T_model.ToId     = model.UsID;
                                            T_model.ToName   = toname;
                                            T_model.AcCent   = uGoid;
                                            T_model.AddTime  = DateTime.Now;
                                            T_model.zfbNo    = MerBillNostr;
                                            new BCW.BLL.Transfer().Add(T_model);

                                            //系统内线消息
                                            new BCW.BLL.Guest().Add(model.UsID, toname, "[url=/bbs/uinfo.aspx?uid=" + Cid + "]" + mename + "[/url]过户" + uGoid + "" + ub.Get("SiteBz") + "给您(网," + MerBillNostr + ")");
                                            new BCW.BLL.Guest().Add(Cid, mename, "您过户" + uGoid + "" + ub.Get("SiteBz") + "给[url=/bbs/uinfo.aspx?uid=" + model.UsID + "] " + toname + " [/url]成功(网," + MerBillNostr + ")");

                                            #endregion

                                            if (isTips)
                                            {
                                                new BCW.BLL.Guest().Add(10086, "客服", "ID:" + model.UsID + "商城购物支付,订单支付成功,单号:" + model.MerBillNo);
                                                Utils.Success("充值成功", "充值成功", Attach.Split(',')[4].ToString(), "1");
                                            }
                                        }
                                        //}
                                    }
                                }
                                else
                                {
                                    if (isTips)
                                    {
                                        Utils.Success("订单已处理", "订单已处理", Attach.Split(',')[4].ToString(), "1");
                                    }
                                }
                                #endregion
                            }
                            break;

                            case 1:
                            {
                                #region 更新商城订单
                                BCW.Model.Shopkeep model = new BCW.BLL.Shopkeep().GetShopkeep(id);
                                if (model != null && model.State == 0)
                                {
                                    //对比订单
                                    if (model.MerBillNo == MerBillNostr)
                                    {
                                        ////对比日期
                                        //if (model.AddTime.ToString("yyyyMMdd") == date)
                                        //{
                                        //对比金额
                                        if (model.Amount.ToString("0.00") == Amount.ToString("0.00"))
                                        {
                                            //以上都对,则更新数据库
                                            if (Status == "Y")
                                            {
                                                //成功
                                                model.State = 1;
                                            }
                                            else
                                            {
                                                //错误
                                                model.State = 2;
                                            }
                                            model.GatewayType = CurrencyType;
                                            model.Attach      = Attach;
                                            model.BankCode    = Attach.Split(',')[3].ToString();
                                            model.ProductType = "1";
                                            new BCW.BLL.Shopkeep().Update_ips(model);
                                            string Coin  = model.Para;
                                            long   uGoid = long.Parse((model.Total * decimal.Parse(Coin)).ToString("0"));
                                            //充值酷币
                                            new BCW.BLL.User().UpdateiGold(model.UsID, new BCW.BLL.User().GetUsName(model.UsID), uGoid, "商品" + model.Title + "(" + model.GiftId + ")支付成功,订单号:" + MerBillNostr);
                                            new BCW.BLL.Guest().Add(model.UsID, new BCW.BLL.User().GetUsName(model.UsID), "支付订单:" + model.MerBillNo + "成功[url=" + Attach.Split(',')[4].ToString() + "]查看[/url]");
                                            if (isTips)
                                            {
                                                new BCW.BLL.Guest().Add(10086, "客服", "ID:" + model.UsID + "商城购物支付,订单支付成功,单号:" + model.MerBillNo);
                                                Utils.Success("支付成功", "支付成功", Attach.Split(',')[4].ToString(), "1");
                                            }
                                        }
                                        //}
                                    }
                                }
                                else
                                {
                                    if (isTips)
                                    {
                                        Utils.Success("订单已处理", "订单已处理", Attach.Split(',')[4].ToString(), "1");
                                    }
                                }
                                #endregion
                            }
                            break;

                            case 0:
                            {
                                #region 更新到网上支付数据库
                                BCW.Model.Payrmb model = new BCW.BLL.Payrmb().GetPayrmb(id);
                                if (model != null && model.State == 0)
                                {
                                    //对比订单
                                    if (model.MerBillNo == MerBillNostr)
                                    {
                                        ////对比日期
                                        //if (model.AddTime.ToString("yyyyMMdd") == date)
                                        //{
                                        //对比金额
                                        if (model.Amount.ToString("0.00") == Amount.ToString("0.00"))
                                        {
                                            //以上都对,则更新数据库
                                            if (Status == "Y")
                                            {
                                                //成功
                                                model.State = 1;
                                            }
                                            else
                                            {
                                                //错误
                                                model.State = 2;
                                            }
                                            model.GatewayType = CurrencyType;
                                            model.Attach      = Attach;
                                            model.BankCode    = Attach.Split(',')[3].ToString();
                                            model.ProductType = "1";
                                            new BCW.BLL.Payrmb().Update_ips(model);
                                            if (ub.GetSub("FinanceSZXType", xmlPath) == "0")
                                            {
                                                string Coin  = ub.GetSub("FinanceSZXTar", xmlPath);
                                                long   uGoid = long.Parse((model.Amount * decimal.Parse(Coin)).ToString("0"));
                                                //充值酷币
                                                new BCW.BLL.User().UpdateiGold(model.UsID, new BCW.BLL.User().GetUsName(model.UsID), uGoid, "网上支付成功,订单号:" + MerBillNostr);
                                                new BCW.BLL.Guest().Add(model.UsID, new BCW.BLL.User().GetUsName(model.UsID), "网上支付订单:" + model.MerBillNo + "成功[url=" + Attach.Split(',')[4].ToString() + "]查看[/url]");

                                                //点值抽奖
                                                try
                                                {
                                                    new BCW.Draw.draw().Addjfbychongzhi(model.UsID, new BCW.BLL.User().GetUsName(model.UsID), model.Amount, "网上充值" + model.Amount + "奖励");
                                                }
                                                catch { }
                                            }
                                            else
                                            {
                                            }
                                            if (isTips)
                                            {
                                                new BCW.BLL.Guest().Add(10086, "客服", "ID:" + model.UsID + "商城购物支付,订单支付成功,单号:" + model.MerBillNo);
                                                Utils.Success("充值成功", "充值成功", Attach.Split(',')[4].ToString(), "1");
                                            }
                                        }
                                        //}
                                    }
                                }
                                else
                                {
                                    if (isTips)
                                    {
                                        Utils.Success("订单已处理", "订单已处理", Attach.Split(',')[4].ToString(), "1");
                                    }
                                }
                                #endregion
                            }
                            break;
                            }
                        }
                    }
                    #endregion
                }
                #endregion
            }
            else
            {
                //Utils.Success("数据错误", "提交数据错误", "Default.aspx", "1");
            }
        }
示例#20
0
        public RspSignin UserSignin(ReqSignin _reqData)
        {
            RspSignin _rspData = new RspSignin();

            //验证用户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.User model = new BCW.BLL.User().GetSignData(_reqData.userId);
            if (string.IsNullOrEmpty(model.SignTime.ToString()))
            {
                model.SignTime = DateTime.Now.AddDays(-1);
            }
            if (model.SignTime > DateTime.Parse(DateTime.Now.ToLongDateString()))
            {
                _rspData.header.status     = ERequestResult.faild;
                _rspData.header.statusCode = Error.MOBILE_ERROR_CODE.BBS_SIGNIN_HAS_TODAY;
                return(_rspData);
            }
            int SignKeep  = 1;
            int SignTotal = model.SignTotal + 1;

            if (model.SignTime >= DateTime.Parse(DateTime.Now.ToLongDateString()).AddDays(-1))
            {
                SignKeep = model.SignKeep + 1;
            }
            //更新签到信息
            new BCW.BLL.User().UpdateSingData(_reqData.userId, SignTotal, SignKeep);
            _rspData.signinRewardStr = BCW.User.Users.GetWinCent(12, _reqData.userId);

            _rspData.cobi          = new BCW.BLL.User().GetGold(_reqData.userId);
            _rspData.header.status = ERequestResult.success;

            //积分操作
            new BCW.User.Cent().UpdateCent(BCW.User.Cent.enumRole.Cent_Sign, _reqData.userId);

            if (SignKeep % 30 == 0)     //连续签到1个月奖励
            {
                _rspData.monthRewardStr = BCW.User.Users.GetWinCent(14, _reqData.userId);
                //动态记录
                new BCW.BLL.Action().Add(_reqData.userId, "在空间连续一个月签到获得奖励");
                //积分操作
                new BCW.User.Cent().UpdateCent(BCW.User.Cent.enumRole.Cent_Sign3, _reqData.userId);
            }
            else if (SignKeep % 7 == 0)
            {
                _rspData.weekRewardStr = BCW.User.Users.GetWinCent(13, _reqData.userId);

                //动态记录
                new BCW.BLL.Action().Add(_reqData.userId, "在空间连续一周签到获得奖励");
                //积分操作
                new BCW.User.Cent().UpdateCent(BCW.User.Cent.enumRole.Cent_Sign2, _reqData.userId);
            }
            else
            {
                //动态记录
                new BCW.BLL.Action().Add(_reqData.userId, "在空间签到获得奖励");
            }

            _rspData.keepDay  = SignKeep;
            _rspData.totalDay = SignTotal;

            //银行利息更新
            string ForumSet = new BCW.BLL.User().GetForumSet(_reqData.userId);
            object BankTime = BCW.User.Users.GetForumSet2(ForumSet, 10);

            if (BankTime != null)
            {
                int iDay = 1;
                if (ub.GetSub("FinanceBankType", xmlPath) == "0")
                {
                    iDay = 7;
                }
                DateTime getBankTime = Convert.ToDateTime(BankTime);
                if (DT.TwoDateDiff(DateTime.Now, getBankTime) >= iDay)
                {
                    long   iBank   = new BCW.BLL.User().GetBank(_reqData.userId);
                    double iTar    = Convert.ToDouble(ub.GetSub("FinanceBankTar", xmlPath));
                    long   intBank = Convert.ToInt64(iBank * (iTar / 1000));
                    new BCW.BLL.User().UpdateiBank(_reqData.userId, intBank);
                    string GetForumSet = BCW.User.Users.GetForumSetData(ForumSet, DateTime.Now.ToString(), 10);
                    new BCW.BLL.User().UpdateForumSet(_reqData.userId, GetForumSet);
                }
            }

            //VIP成长更新
            BCW.Model.User vip = new BCW.BLL.User().GetVipData(_reqData.userId);
            if (vip != null)
            {
                if (string.IsNullOrEmpty(vip.UpdateDayTime.ToString()) || DT.TwoDateDiff(DateTime.Now, vip.UpdateDayTime) >= 1)
                {
                    if (vip.VipDate > DateTime.Now)
                    {
                        new BCW.BLL.User().UpdateVipGrow(_reqData.userId, vip.VipDayGrow);
                    }
                }
            }


            return(_rspData);
        }
示例#21
0
        /// <summary>
        /// 检查论坛访问限制
        /// </summary>
        /// <param name="meid">会员ID</param>
        /// <param name="Gradelt">可以访问的级别</param>
        /// <param name="Visitlt">特定访问对象(如管理员、版主)</param>
        /// <param name="VisitId">特定访问IP</param>
        /// <param name="IsPc">是否PC</param>
        /// <returns></returns>
        public static BCW.Mobile.Error.MOBILE_ERROR_CODE ShowForumLimit(int meid, int Gradelt, int Visitlt, string VisitId, int IsPc)
        {
            bool flag = false;

            #region Gradelt
            flag = (Gradelt <= 0);
            if (!flag)
            {
                if (meid == 0)
                {
                    return(Error.MOBILE_ERROR_CODE.SYS_USER_NOLOGIN);
                }
                //
                int leven = new BCW.BLL.User().GetLeven(meid);
                flag = (leven >= Gradelt);
                if (!flag)
                {
                    return(Error.MOBILE_ERROR_CODE.BBS_FORUM_VISIT_LIMIT_LEVEL);
                }
            }
            #endregion
            //
            #region Visitlt
            flag = (Visitlt <= 0);
            if (!flag)
            {
                if (meid == 0)
                {
                    return(Error.MOBILE_ERROR_CODE.SYS_USER_NOLOGIN);
                }
                //
                switch (Visitlt)
                {
                case 2:
                    int num2 = BCW.User.Users.VipLeven(meid);
                    if (num2 == 0)
                    {
                        return(Error.MOBILE_ERROR_CODE.BBS_FORUM_VISIT_LIMIT_VIP);
                    }
                    break;

                case 3:
                    flag = new BCW.BLL.Role().IsAllModeNoGroup(meid);
                    if (!flag)
                    {
                        return(Error.MOBILE_ERROR_CODE.BBS_FORUM_VISIT_LIMIT_BBS_MODERATOR);
                    }
                    break;

                case 4:
                    flag = new BCW.BLL.Role().IsAdmin(meid);
                    if (!flag)
                    {
                        return(Error.MOBILE_ERROR_CODE.BBS_FORUM_VISIT_LIMIT_ADMIN);
                    }
                    break;

                default:
                    break;
                }
            }
            #endregion
            //
            #region VisitID
            flag = string.IsNullOrEmpty(VisitId);
            if (!flag)
            {
                if (meid == 0)
                {
                    return(Error.MOBILE_ERROR_CODE.SYS_USER_NOLOGIN);
                }
                //
                VisitId = "#" + VisitId + "#";
                flag    = (VisitId.IndexOf("#" + meid + "#") != -1);
                if (!flag)
                {
                    return(Error.MOBILE_ERROR_CODE.BBS_FORUM_VISIT_LIMIT_IP);
                }
            }
            #endregion
            //
            #region IsPc
            flag = (IsPc != 1);
            if (!flag)
            {
                flag = Utils.IsMobileUa();
                if (!flag)
                {
                    return(Error.MOBILE_ERROR_CODE.BBS_FORUM_VISIT_LIMIT_MOBILE);
                }
            }

            return(Error.MOBILE_ERROR_CODE.MOBILE_MSG_NONE);

            #endregion
        }
示例#22
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);
        }