Пример #1
0
        /// <summary>
        /// 用户中心创建邀请码
        /// </summary>
        public bool Code_Create(int count, M_UserInfo mu)
        {
            M_User_InviteCode inviteMod = new M_User_InviteCode();

            inviteMod.CAdmin    = 0;
            inviteMod.CUser     = mu.UserID;
            inviteMod.UserID    = mu.UserID;
            inviteMod.UserName  = mu.UserName;
            inviteMod.JoinGroup = SiteConfig.UserConfig.InviteJoinGroup;
            return(Code_Create(count, SiteConfig.UserConfig.InviteFormat, inviteMod));
        }
Пример #2
0
 /// <summary>
 /// 创建邀请码,model仅需指定创建人和所属人和将加入的组
 /// </summary>
 public bool Code_Create(int count, string format, M_User_InviteCode model)
 {
     model.Flow = DateTime.Now.ToString("yyyyMMddHHmmss") + function.GetRandomString(4);
     if (model.UserID < 1)
     {
         throw new Exception("未指定所属用户");
     }
     for (int i = 0; i < count; i++)
     {
         model.Code = function.GetCodeByFormat(format);
         Insert(model);
     }
     return(true);
 }
        protected void Create_Btn_Click(object sender, EventArgs e)
        {
            M_AdminInfo       adminMod  = B_Admin.GetLogin();
            M_UserInfo        mu        = buser.SelReturnModel(DataConverter.CLng(User_Hid.Value));
            int               count     = DataConverter.CLng(Count_T.Text);
            M_User_InviteCode inviteMod = new M_User_InviteCode();

            inviteMod.CAdmin    = adminMod.AdminId;
            inviteMod.CUser     = 0;
            inviteMod.UserID    = mu.UserID;
            inviteMod.UserName  = mu.UserName;
            inviteMod.JoinGroup = DataConverter.CLng(Group_Rad.SelectedValue);
            inviteBll.Code_Create(count, SiteConfig.UserConfig.InviteFormat, inviteMod);
            function.WriteSuccessMsg("邀请码创建成功", "InviteCodeList.aspx");
        }
Пример #4
0
        //邀请码校验
        private bool CheckInvitCode(string code, ref string err)
        {
            if (string.IsNullOrEmpty(code))
            {
                err = "邀请码为空"; return(false);
            }
            M_User_InviteCode inviteMod = utBll.Code_SelModel(code);

            if (inviteMod == null)
            {
                err = "邀请码不存在"; return(false);
            }
            if (inviteMod.ZStatus != 0)
            {
                err = "邀请码已被使用过"; return(false);
            }
            return(true);
        }
Пример #5
0
        public ActionResult Register_Submit()
        {
            B_UserBaseField bmf      = new B_UserBaseField();
            string          siteurls = SiteConfig.SiteInfo.SiteUrl.TrimEnd('/');

            if (!SiteConfig.UserConfig.EnableUserReg)
            {
                function.WriteErrMsg("服务器已关闭用户注册"); return(null);
            }
            //-----------------------------------
            M_UserInfo info = new M_UserInfo();

            info.UserBase    = new M_Uinfo();
            info.UserName    = Request.Form["TxtUserName"].Replace(" ", "");
            info.UserPwd     = Request.Form["TxtPassword"];
            info.Question    = Request.Form["Question_DP"];
            info.Answer      = Request.Form["TxtAnswer"];
            info.Email       = Request.Form["TxtEmail"].Replace(" ", "");
            info.CheckNum    = function.GetRandomString(10);
            info.GroupID     = DataConverter.CLng(Request.Form["UserGroup"]);
            info.RegisterIP  = EnviorHelper.GetUserIP();
            info.LastLoginIP = info.RegisterIP;
            //info.Purse = SiteConfig.UserConfig.PresentMoney;//注册赠送的余额,积分等
            //info.UserPoint = SiteConfig.UserConfig.PresentPoint;
            //info.UserExp = DataConverter.CLng(SiteConfig.UserConfig.PresentExp);
            info.TrueName = Request.Form["TxtTrueName"];
            info.UserPwd  = StringHelper.MD5(info.UserPwd);;
            //-----------------------------------------------------
            //会员基本信息
            info.UserBase.Address     = Request.Form["TxtAddress"];
            info.UserBase.BirthDay    = Request.Form["TxtBirthday"];
            info.UserFace             = Request.Form["TxtUserFace"];
            info.UserBase.Fax         = Request.Form["TxtFax"];
            info.UserBase.HomePage    = Request.Form["TxtHomepage"];
            info.UserBase.HomePhone   = Request.Form["TxtHomePhone"];
            info.UserBase.IDCard      = Request.Form["TxtIDCard"];
            info.UserBase.Mobile      = Request.Form["TxtMobile"];
            info.UserBase.OfficePhone = Request.Form["TxtOfficePhone"];
            info.UserBase.Privating   = DataConvert.CLng(Request.Form["DropPrivacy"]);
            info.UserBase.PHS         = Request.Form["TxtPHS"];
            info.UserBase.QQ          = Request.Form["TxtQQ"];
            info.UserBase.Sign        = Request.Form["TxtSign"];
            info.UserBase.UserSex     = DataConverter.CBool(Request.Form["DropSex"]);
            info.UserBase.ZipCode     = Request.Form["TxtZipCode"];
            info.UserBase.HoneyName   = "";
            info.UserBase.CardType    = "";
            info.UserBase.Province    = Request["selprovince"];
            info.UserBase.City        = Request["selcity"];
            info.UserBase.County      = Request["selcoutry"];
            if (!string.IsNullOrEmpty(RegisterMobile))
            {
                info.UserBase.Mobile = RegisterMobile; RegisterMobile = null;
            }
            //-----------------------------------------------------
            #region 信息检测
            string err = "";
            if (SiteConfig.UserConfig.EnableCheckCodeOfReg)
            {
                if (!ZoomlaSecurityCenter.VCodeCheck(Request.Form["VCode_hid"], Request.Form["VCode"]))
                {
                    function.WriteErrMsg("您输入的验证码和系统产生的不一致,请重新输入", "javascript:history.go(-1);"); return(null);
                }
            }
            if (!CheckUserName(info.UserName, ref err))
            {
                function.WriteErrMsg(err); return(null);
            }
            else if (!CheckUserInfo(info.UserBase))
            {
                return(null);
            }
            else if (string.IsNullOrEmpty(info.Answer))
            {
                function.WriteErrMsg("问题答案不能为空!"); return(null);
            }
            else if (!CheckEmail(info.Email, ref err))
            {
                function.WriteErrMsg(err); return(null);
            }
            #endregion
            //推荐人处理
            M_User_InviteCode utMod = null;
            {
                //支持使用用户名和用户ID
                info.ParentUserID = CheckParentUser(Request.Form["TxtParentUser"]).UserID.ToString();
                //邀请码推荐用户,高于填写的推荐人
                string inviteCode = Request.Form["TxtInvitCode"];
                if (!string.IsNullOrEmpty(inviteCode))
                {
                    utMod = utBll.Code_SelModel(inviteCode);
                    if (utMod != null)
                    {
                        if (utMod.ZStatus != 0)
                        {
                            function.WriteErrMsg("该邀请码已被使用"); return(null);
                        }
                        info.ParentUserID = utMod.UserID.ToString();
                        info.GroupID      = utMod.JoinGroup;
                    }
                }
                //计算深度
                if (DataConvert.CLng(info.ParentUserID) > 0)//从1开始
                {
                    info.RoomID = (buser.SelParentTree(DataConvert.CLng(info.ParentUserID)).Split(',').Length + 1);
                }
            }
            //用于初始状态
            if (SiteConfig.UserConfig.EmailCheckReg)
            {
                info.Status = 4;
            }                                                            //邮件认证
            else if (SiteConfig.UserConfig.AdminCheckReg)
            {
                info.Status = 2;
            }                                                                  //管理员认证
            else if (SiteConfig.UserConfig.EmailCheckReg && SiteConfig.UserConfig.AdminCheckReg)
            {
                info.Status = 3;
            }                                                                                                         //邮件认证及管理员认证
            else if (!SiteConfig.UserConfig.UserValidateType)
            {
                info.Status = 5;
            }
            else
            {
                info.Status = 0;
            }
            //自定义字段信息
            DataTable table;
            try
            {
                table = new Call().GetDTFromMVC(bmf.Select_All(), Request);
            }
            catch (Exception e)
            {
                function.WriteErrMsg(e.Message); return(Content(""));
            }
            string[] strArray2 = string.IsNullOrEmpty(SiteConfig.UserConfig.RegFieldsMustFill) ? new string[0] : SiteConfig.UserConfig.RegFieldsMustFill.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
            foreach (string str2 in strArray2)
            {
                if (Request.Form["txt_" + str2] == null || Request.Form["txt_" + str2] == "")
                {
                    DataTable tbles = bmf.SelByFieldName(str2);
                }
            }
            //------------添加新用户

            info.UserID          = buser.AddModel(info);
            info.UserBase.UserId = info.UserID;
            buser.AddBase(info.UserBase);
            if (table != null && table.Rows.Count > 0)
            {
                buser.UpdateUserFile(info.UserID, table);
            }
            buser.SetLoginState(info);
            if (info.UserID < 1)
            {
                function.WriteErrMsg("注册失败"); return(null);
            }
            //邀请码状态变更
            if (utMod != null)
            {
                utBll.Code_Used(utMod.ID, info);
            }
            //----------------------------------------------------------------------------
            string ReturnUrl  = Request.Form["ReturnUrl_Hid"];
            string RegMessage = "";
            string RegRUrl    = "";
            bool   isok       = false;
            //关联绑定微信用户
            //if (!string.IsNullOrEmpty(WXOpenID))
            //{
            //    B_User_Token tokenBll = new B_User_Token();
            //    M_User_Token tokenMod = tokenBll.SelModelByUid(info.UserID);
            //    if (tokenMod == null) { tokenMod = new M_User_Token(); }
            //    tokenMod.uid = info.UserID;
            //    tokenMod.WXOpenID = WXOpenID;
            //    tokenBll.Insert(tokenMod);
            //}
            #region 自定义模型
            int    ModelID       = DataConverter.CLng(gpBll.GetGroupModel(info.GroupID));
            string usertablename = modBll.GetModelById(ModelID).TableName;
            if (ModelID > 0 && usertablename != "" && usertablename != null)
            {
                DataTable groupset = fieldBll.GetModelFieldListall(ModelID);
                DataTable tablereg = new DataTable();
                tablereg.Columns.Add(new DataColumn("FieldName", typeof(string)));
                tablereg.Columns.Add(new DataColumn("FieldType", typeof(string)));
                tablereg.Columns.Add(new DataColumn("FieldValue", typeof(string)));
                if (groupset != null && groupset.Rows.Count > 0)
                {
                    foreach (DataRow dr in groupset.Rows)
                    {
                        if (dr["FieldType"].ToString() == "FileType")
                        {
                            string[] Sett      = dr["Content"].ToString().Split(new char[] { ',' });
                            bool     chksize   = DataConverter.CBool(Sett[0].Split(new char[] { '=' })[1]);
                            string   sizefield = Sett[1].Split(new char[] { '=' })[1];
                            if (chksize && sizefield != "")
                            {
                                DataRow row2 = tablereg.NewRow();
                                row2[0] = sizefield;
                                row2[1] = "FileSize";
                                row2[2] = Request.Form["txt_" + sizefield];
                                tablereg.Rows.Add(row2);
                            }
                        }

                        if (dr["FieldType"].ToString() == "MultiPicType")
                        {
                            string[] Sett      = dr["Content"].ToString().Split(new char[] { ',' });
                            bool     chksize   = DataConverter.CBool(Sett[0].Split(new char[] { '=' })[1]);
                            string   sizefield = Sett[1].Split(new char[] { '=' })[1];
                            if (chksize && sizefield != "")
                            {
                                if (string.IsNullOrEmpty(Request.Form["txt_" + sizefield]))
                                {
                                    function.WriteErrMsg(dr["FieldAlias"].ToString() + "的缩略图不能为空!");
                                }
                                DataRow row1 = tablereg.NewRow();
                                row1[0] = sizefield;
                                row1[1] = "ThumbField";
                                row1[2] = Request.Form["txt_" + sizefield];
                                tablereg.Rows.Add(row1);
                            }
                        }

                        DataRow row = tablereg.NewRow();
                        row[0] = dr["FieldName"].ToString();
                        string ftype = dr["FieldType"].ToString();
                        row[1] = ftype;
                        string fvalue = Request.Form["txt_" + dr["FieldName"].ToString()];
                        if (ftype == "TextType" || ftype == "MultipleTextType" || ftype == "MultipleHtmlType")
                        {
                            if (dr["IsNotNull"].Equals("True") && string.IsNullOrEmpty(fvalue))
                            {
                                function.WriteErrMsg(dr["FieldAlias"] + ":不能为空!");
                            }
                        }
                        row[2] = fvalue;
                        tablereg.Rows.Add(row);
                    }
                    try
                    {
                        if (tablereg.Select("FieldName='UserID'").Length == 0)
                        {
                            DataRow rowsd1 = tablereg.NewRow();
                            rowsd1[0] = "UserID";
                            rowsd1[1] = "int";
                            rowsd1[2] = info.UserID;
                            tablereg.Rows.Add(rowsd1);
                        }
                        else
                        {
                            tablereg.Rows[0]["UserID"] = info.UserID;
                        }
                    }
                    catch (Exception)
                    {
                    }

                    try
                    {
                        if (tablereg.Select("FieldName='UserName'").Length == 0)
                        {
                            DataRow rowsd2 = tablereg.NewRow();
                            rowsd2[0] = "UserName";
                            rowsd2[1] = "TextType";
                            rowsd2[2] = info.UserName;
                            tablereg.Rows.Add(rowsd2);
                        }
                        else
                        {
                            tablereg.Rows[0]["UserName"] = info.UserName;
                        }
                    }
                    catch (Exception) { }
                    try
                    {
                        if (tablereg.Select("FieldName='Styleid'").Length == 0)
                        {
                            DataRow rowsd3 = tablereg.NewRow();
                            rowsd3[0] = "Styleid";
                            rowsd3[1] = "int";
                            rowsd3[2] = 0;
                            tablereg.Rows.Add(rowsd3);
                        }
                        else
                        {
                            tablereg.Rows[0]["UserName"] = 0;
                        }
                    }
                    catch (Exception) { }
                    try
                    {
                        if (tablereg.Select("FieldName='Recycler'").Length == 0)
                        {
                            DataRow rowsd4 = tablereg.NewRow();
                            rowsd4[0] = "Recycler";
                            rowsd4[1] = "int";
                            rowsd4[2] = 0;
                            tablereg.Rows.Add(rowsd4);
                        }
                        else
                        {
                            tablereg.Rows[0]["Recycler"] = 0;
                        }
                    }
                    catch (Exception) { }
                    try
                    {
                        if (tablereg.Select("FieldName='IsCreate'").Length == 0)
                        {
                            DataRow rowsd5 = tablereg.NewRow();
                            rowsd5[0] = "IsCreate";
                            rowsd5[1] = "int";
                            rowsd5[2] = 0;
                            tablereg.Rows.Add(rowsd5);
                        }
                        else
                        {
                            tablereg.Rows[0]["IsCreate"] = 0;
                        }
                    }
                    catch (Exception) { }
                    try
                    {
                        if (tablereg.Select("FieldName='NewTime'").Length == 0)
                        {
                            DataRow rs6 = tablereg.NewRow();
                            rs6[0] = "NewTime";
                            rs6[1] = "DateType";
                            rs6[2] = DateTime.Now;
                            tablereg.Rows.Add(rs6);
                        }
                        else
                        {
                            tablereg.Rows[0]["NewTime"] = DateTime.Now;
                        }
                    }
                    catch (Exception) { }
                }

                if (tablereg != null && tablereg.Rows.Count > 0)
                {
                    buser.InsertModel(tablereg, usertablename);
                }
            }
            #endregion
            if (SiteConfig.UserConfig.EmailCheckReg && !string.IsNullOrEmpty(info.Email))//发送认证邮件,当需要邮件认证时
            {
                MailInfo mailInfo = new MailInfo();
                mailInfo.IsBodyHtml = true;
                mailInfo.FromName   = SiteConfig.SiteInfo.SiteName;
                MailAddress address = new MailAddress(info.Email);
                mailInfo.ToAddress = address;
                string regurl      = siteurls + "/User/RegisterCheck?UserName="******"&CheckNum=" + info.CheckNum;
                string mailcontent = mailBll.SelByType(B_MailManage.MailType.NewUserReg);
                mailInfo.MailBody = new OrderCommon().TlpDeal(mailcontent, GetRegEmailDt(info.UserName, info.CheckNum, regurl));
                mailInfo.Subject  = SiteConfig.SiteInfo.SiteName + "网站会员注册验证码";
                if (SendMail.Send(mailInfo) == SendMail.MailState.Ok)
                {
                    RegMessage = "注册验证码已成功发送到你的注册邮箱,请到邮箱查收并验证!";
                    RegMessage = RegMessage + "<a href=\"/\">返回首页</a>";
                }
                else
                {
                    RegMessage = "注册成功,但发送验证邮件失败,请检查邮件地址是否正确,或与网站管理员联系!";
                    RegMessage = RegMessage + "<a href=\"/\">返回首页</a>";
                }
            }
            switch (info.Status)
            {
            case 0:
                #region 直接注册成功
                if (!string.IsNullOrEmpty(info.Email) && SiteConfig.UserConfig.EmailTell)
                {
                    MailInfo mailInfo = new MailInfo();
                    mailInfo.IsBodyHtml = true;
                    mailInfo.FromName   = SiteConfig.SiteInfo.SiteName;
                    MailAddress address = new MailAddress(info.Email);
                    mailInfo.ToAddress = address;
                    //SiteConfig.UserConfig.EmailOfRegCheck
                    string regurl = siteurls + "/User/RegisterCheck?UserName="******"&CheckNum=" + info.CheckNum;
                    mailInfo.MailBody = new OrderCommon().TlpDeal(mailBll.SelByType(B_MailManage.MailType.NewUserReg), GetRegEmailDt(info.UserName, info.CheckNum, regurl));
                    //mailInfo.MailBody = mailInfo.MailBody.Replace("{$UserName}", info.UserName).Replace("{$UserPwd}", TxtPassword.Text);
                    mailInfo.Subject = SiteConfig.SiteInfo.SiteName + "_注册成功提醒";
                    if (SendMail.Send(mailInfo) == SendMail.MailState.Ok)
                    {
                        RegMessage = "注册基本信息已成功发送到你的注册邮箱!";
                        RegMessage = RegMessage + "<a href=\"/\">返回首页</a>";
                    }
                    else
                    {
                        RegMessage = "注册成功,但发送注册基本信息邮件失败,请检查邮件地址是否正确,或与网站管理员联系!";
                        RegMessage = RegMessage + "<a href=\"/\">返回首页</a>";
                    }
                }
                else
                {
                    RegMessage = "注册成功!";
                    if (string.IsNullOrEmpty(ReturnUrl))
                    {
                        RegMessage = RegMessage + "<a href=\"/\">返回首页</a>&nbsp;&nbsp;<a href=\"/User/Index\">进入会员中心</a>,5秒后系统自动跳转到会员中心!";
                        RegRUrl    = "/User/Index";
                    }
                    else
                    {
                        RegMessage = RegMessage + "<a href=\"/\">返回首页</a>&nbsp;&nbsp;<a href=\"" + ReturnUrl + "\">进入默认页面</a>,5秒后系统自动跳转到默认页面!";
                        RegRUrl    = ReturnUrl;
                    }
                    isok = true;
                }
                #endregion
                break;

            case 2:     //等待管理员认证
                RegMessage = "注册成功!新注册会员需管理员认证才能有效,请耐心等待!";
                RegMessage = RegMessage + "若长期没有通过管理员认证,请及时和管理员联系!";
                RegMessage = RegMessage + "<a href=\"/\">返回首页</a>";
                break;

            default:
                //未开启邮箱验证,则可以登录
                if (!SiteConfig.UserConfig.EmailCheckReg)
                {
                    RegMessage = "注册成功!";
                }
                if (string.IsNullOrEmpty(ReturnUrl))
                {
                    RegMessage = RegMessage + "<a href=\"/\">返回首页</a>&nbsp;&nbsp;<a href=\"/User/Index\">进入会员中心</a>,5秒后系统自动跳转到会员中心!";
                    RegRUrl    = "default";
                }
                else
                {
                    RegMessage = RegMessage + "<a href=\"/\">返回首页</a>&nbsp;&nbsp;<a href=\"" + ReturnUrl + "\">进入默认页面</a>,5秒后系统自动跳转到默认页面!";
                    RegRUrl    = ReturnUrl;
                }
                isok = true;
                break;
            }
            if (SiteConfig.UserConfig.EmailCheckReg)
            {
                RegMessage = "<div class='emptyDiv'><br/>注册成功! &nbsp;&nbsp;<a href='http://mail." + info.Email.Substring(info.Email.LastIndexOf('@') + 1) + "' target='_blank'>立即登录邮箱进行验证>></a><br/></div>";
                isok       = false;
            }
            ViewBag.RegMessage = RegMessage;
            ViewBag.RegRUrl    = RegRUrl;
            ViewBag.isok       = isok;//为true则自动跳转
            ViewBag.pwd        = Request.Form["TxtPassword"];
            return(View("Register_Finish", info));
        }
Пример #6
0
 public bool UpdateByID(M_User_InviteCode model)
 {
     return(DBCenter.UpdateByID(model, model.ID));
 }
Пример #7
0
 public int Insert(M_User_InviteCode model)
 {
     return(DBCenter.Insert(model));
 }