Example #1
0
        protected void Save_Btn_Click(object sender, EventArgs e)
        {
            string domain = domain_t.Text.Replace(" ", "");

            if (string.IsNullOrEmpty(domain_t.Text))
            {
                function.WriteErrMsg("域名不能为空,示例格式:bbs.z01.com");
            }
            if (Mid > 0)
            {
                domMod = domBll.SelReturnModel(Mid);
            }
            else
            {
                if (domBll.SelModelByDomain(domain) != null)
                {
                    function.WriteErrMsg("该域名已存在,不能重复添加路由");
                }
                domMod = new M_IDC_DomainList();
            }
            domMod.SType   = DataConvert.CLng(SType_DP.SelectedValue);
            domMod.DomName = domain;
            domMod.Url     = ConverUrl(Url_T.Text);
            domMod.UserID  = DataConvert.CLng(UserID_Hid.Value).ToString();
            if (domMod.Url.StartsWith("~/"))
            {
            }
            else if (domMod.Url.StartsWith("/"))
            {
                domMod.Url = "~" + domMod.Url;
            }

            if (Mid > 0)
            {
                domBll.UpdateByID(domMod);
            }
            else
            {
                domBll.Insert(domMod);
            }
            RouteHelper.RouteDT = domBll.Sel();
            function.WriteSuccessMsg("操作成功", "RouteConfig.aspx");
        }
        protected void checkBtn_Click(object sender, EventArgs e)
        {
            M_UserInfo mu     = new B_User().GetLogin();
            string     domain = domNameT.Text.Replace(" ", "").ToLower();

            if (banDomain.Contains(domain))
            {
                function.WriteErrMsg("该域名禁止申请");
            }
            M_IDC_DomainList domMod = domBll.SelModelByDomain(domain);

            if (domMod != null)
            {
                function.WriteErrMsg("该域名已存在,请更新一个名称");
            }
            domMod         = new M_IDC_DomainList();
            domMod.DomName = domain + GetDomName();
            domMod.UserID  = mu.UserID.ToString();
            domMod.SType   = 2;
            domBll.Insert(domMod);
            RouteHelper.RouteDT = domBll.Sel();
            Response.Redirect("MyDomain.aspx");
        }
        //为用户添加域名
        protected void domListBtn_Click(object sender, EventArgs e)
        {
            string datavalue = Request.Form["dataValue"] + ",";

            datavalue += "prvinceDP:" + prvinceDP.SelectedValue + ",";
            datavalue += "uteln:" + Request.Form["uteln"];
            string     t1      = domListT1.Text.Trim(); //域名
            string     t2      = domListT2.Text.Trim(); //用户名
            string     t3      = domListT3.Text.Trim(); //日期
            int        year    = Convert.ToInt32(yearDP.SelectedValue);
            DateTime   endtime = DataConvert.CDate(t3).AddYears(year);
            M_UserInfo mu      = buser.GetUserIDByUserName(t2);

            if (year < 1)
            {
                function.WriteErrMsg("年限错误!");
            }
            else if (string.IsNullOrEmpty(t1) || string.IsNullOrEmpty(t2))
            {
                function.WriteErrMsg("用户名与域名不能为空");
            }
            else if (mu.IsNull)
            {
                function.WriteErrMsg("用户不存在");
            }

            if (Request.QueryString["Edit"] == "1" && Request.QueryString["id"] != "")
            {
                domListBll.UpdateByID(t1, DataConvert.CDate(t3), endtime, mu.UserID, datavalue, year, Request.QueryString["id"]);
                function.WriteSuccessMsg("修改成功", "DomManage.aspx");
            }
            else
            {
                domListBll.Insert(t1, DataConvert.CDate(t3), endtime, mu.UserID, datavalue, year);
                function.WriteSuccessMsg("添加成功", "DomManage.aspx");
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            B_User.CheckIsLogged(Request.RawUrl);
            M_UserInfo   mu     = buser.GetLogin(false);
            M_Design_Tlp tlpMod = null;

            if (TlpID == -1)
            {
                tlpMod = tlpBll.SelModelByDef(0);
            }
            else
            {
                tlpBll.SelReturnModel(TlpID);
            }
            if (tlpMod == null)
            {
                function.WriteErrMsg("模板不存在");
            }
            //为其注册二级域名
            string           domain    = domainBll.GetNewDomain(mu.UserID.ToString());
            M_IDC_DomainList domainMod = new M_IDC_DomainList();

            domainMod.SType    = 2;
            domainMod.MyStatus = 1;
            domainMod.UserID   = mu.UserID.ToString();
            domainMod.DomName  = domain;
            domainMod.ID       = domainBll.Insert(domainMod);
            //else if (domainMod.UserID == mu.UserID.ToString()) { }//以前注册过,不需要做特殊处理
            //else if (domainMod.UserID != mu.UserID.ToString()) { function.WriteErrMsg("该域名已被占用"); }
            //生成站点信息(用户只能拥有一个站点)
            M_Design_SiteInfo sfMod = sfBll.SelModelByUid(mu.UserID);

            if (sfMod != null)
            {
                mu.SiteID = sfMod.ID;
                if (mu.SiteID < 1)
                {
                    DBCenter.UpdateSQL("ZL_User", "SiteID=" + mu.SiteID, "UserID=" + mu.UserID);
                }
                //function.WriteSuccessMsg("你已经创建站点了,将自动转至用户中心", "/design/user/default.aspx");
            }
            else
            {
                sfMod = new M_Design_SiteInfo();
            }
            //M_Design_SiteInfo sfMod = new M_Design_SiteInfo();
            sfMod.SiteFlag = function.GetRandomString(8).ToLower();
            sfMod.UserID   = mu.UserID.ToString();
            sfMod.UserName = mu.UserName;
            sfMod.ZStatus  = 1;
            sfMod.SiteName = mu.UserName + "的站点";
            sfMod.DomainID = domainMod.ID;
            sfMod.ID       = sfBll.Insert(sfMod);
            //拷贝站点文件
            string tlpdir  = Server.MapPath("/Design/Tlp/" + tlpMod.TlpName + "/");
            string userdir = Server.MapPath("/Site/" + sfMod.ID + "/");

            if (Directory.Exists(userdir))
            {
                Directory.CreateDirectory(userdir);
            }
            if (Directory.Exists(tlpdir))
            {
                FileSystemObject.CopyDirectory(tlpdir, userdir);
            }
            //创建用户节点,先检测是否通过其他途径创建了根节点
            M_Node nodeMod = desNodeBll.GetUserRootNode(mu);

            if (nodeMod.IsNull)
            {
                nodeMod = desNodeBll.CreateUserRootNode(mu);
            }
            nodeMod.NodeBySite = sfMod.ID;
            nodeBll.UpdateByID(nodeMod);
            //导入节点和内容数据(从公用数据区)
            string commonDir = Server.MapPath("/design/tlp/common/init/");
            //DataTable nodeDT = XmlToDT(function.VToP(commonDir + "Node.xml"));
            DataTable nodeDT = DBCenter.Sel("ZL_Node", "ParentID=797");//1站点,非根节点信息
            DataTable conDT  = XmlToDT(function.VToP(commonDir + "CommonModel.xml"));
            DataTable artDT  = XmlToDT(function.VToP(commonDir + "Article.xml"));

            for (int i = 0; i < nodeDT.Rows.Count; i++)
            {
                DataRow dr = nodeDT.Rows[i];
                dr["NodeBySite"] = sfMod.ID;
                dr["ParentID"]   = nodeMod.NodeID;
                dr["CUser"]      = sfMod.UserID;
            }
            //修改逻辑,支持来源拷贝,将站点数据拷贝后-->修改-->写入,即nodedt不再来自XML
            desHelper.ImportContentFromDT(nodeDT, conDT, artDT);
            //根据所选模板,拷贝内容
            string guid = tlpBll.CopyTlp(tlpMod.ID, sfMod);

            if (string.IsNullOrEmpty(guid))
            {
                function.WriteErrMsg("站点创建失败");
            }
            RouteHelper.RouteDT = domainBll.Sel();
            mu.SiteID           = sfMod.ID;
            DBCenter.UpdateSQL("ZL_User", "SiteID=" + mu.SiteID, "UserID=" + mu.UserID);
            if (string.IsNullOrEmpty(RUrl))
            {
                Response.Redirect("/Design/Default.aspx?ID=" + guid);
            }
            else
            {
                Response.Redirect(RUrl);
            }
        }
        //注册,并写入日志
        public void RegisterDomain(DataTable dt)
        {
            DataTable resultDT = new DataTable();

            resultDT.Columns.Add(new DataColumn("Index", typeof(int)));
            resultDT.Columns.Add(new DataColumn("DomName", typeof(string)));
            resultDT.Columns.Add(new DataColumn("Year", typeof(string)));
            resultDT.Columns.Add(new DataColumn("Money", typeof(double)));
            resultDT.Columns.Add(new DataColumn("Result", typeof(string)));
            double money = 0;

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                Dictionary <string, string> dic = DomNameHelper.ConvertToHashMap(dt.Rows[i]["Attribute"].ToString());
                string            url           = dt.Rows[i]["ProName"].ToString();
                string            uname1        = dic["uname1"];
                string            uname2        = dic["uname2"];
                string            ucity1        = dic["prvinceDP"] + dic["cityText"];
                string            aemail        = dic["aemail"];
                string            checksum      = DomNameHelper.MD5("Register" + clientID + apiPasswd + url + aemail + uname2, 32); //以32位
                List <QueryParam> param         = new List <QueryParam>();
                param.Add(new QueryParam("dn", url));                                                                               //域名
                param.Add(new QueryParam("enc", "E"));
                param.Add(new QueryParam("client", clientID));
                param.Add(new QueryParam("period", dt.Rows[i]["ProNum"].ToString())); //1-10年,不填默认1年
                                                                                      //param.Add(new QueryParam("checksum", checksum));//***MD5加密摘要,,
                                                                                      //英文必须有空格
                                                                                      //----注册信信息
                param.Add(new QueryParam("uname1", uname1));                          //注册人|单位名称 中|英名称    [国内域名必填]|[国际域名必须]
                param.Add(new QueryParam("uname2", uname2));                          //注册人|单位负责人 中|英名称    [国内域名必填]|[国际域名必须]
                param.Add(new QueryParam("rname1", dic["rname1"]));                   //注册人|单位负责人 中|英名称    [国内域名必填]|[国际域名必须]
                param.Add(new QueryParam("rname2", dic["rname2"]));
                param.Add(new QueryParam("aname1", dic["rname1"]));                   //管理联系人 中|英名称   [国内域名必填]|[国际域名必须],与上方用同一信息
                param.Add(new QueryParam("aname2", dic["rname2"]));
                param.Add(new QueryParam("aemail", aemail));                          //管理联系人电子邮件地址                [必须]
                param.Add(new QueryParam("ucity1", ucity1));                          //注册人城市名称 中|英名称    [国内域名必填]|[国际域名必须]
                param.Add(new QueryParam("ucity2", "Cheng shi"));
                param.Add(new QueryParam("uaddr1", dic["uaddr1"]));                   //通讯地址,中|英 [国内域名必填]|[国际域名必须]
                param.Add(new QueryParam("uaddr2", dic["uaddr2"]));                   //dic["uaddr2"]
                param.Add(new QueryParam("uzip", dic["uzip"]));                       //注册人邮政编码                    [必须]
                param.Add(new QueryParam("uteln", dic["uteln"]));                     //注册人电话号码
                param.Add(new QueryParam("ateln", ""));                               //
                param.Add(new QueryParam("ufaxa", ""));                               //传真区号 dic["ufaxa"]
                param.Add(new QueryParam("ufaxn", ""));                               //不能超过8位,与API的不能超过12位不同 dic["ufaxn"]

                //param.Add(new QueryParam("dns1", StationGroup.DnsOption.Split(',')[0]));//自定义主DNS,辅DNS
                //param.Add(new QueryParam("dns2", StationGroup.DnsOption.Split(',')[1]));

                DomNameHelper _XinNet = new DomNameHelper(ApiType.Register, param);

                //汇总前台显示数据
                DataRow dr = resultDT.NewRow();
                dr["Index"]   = i;
                dr["DomName"] = url;
                dr["Year"]    = dt.Rows[i]["ProNum"].ToString();
                dr["Money"]   = dt.Rows[i]["AllMoney"];
                dr["Result"]  = _XinNet.IsSuccess() ? "注册成功" : "失败:" + _XinNet.HashtableResult["err"];
                resultDT.Rows.Add(dr);
                money += Convert.ToDouble(dr["Money"]);

                //更新订单状态,写入日志,写入DomainList表
                listBll.Insert(url, DateTime.Now, DateTime.Now, Convert.ToInt32(dt.Rows[i]["userid"]), dt.Rows[i]["Attribute"].ToString(), Convert.ToInt32(dr["Year"]));
                if (_XinNet.IsSuccess())
                {
                    OCl.UpOrderinfo("OrderStatus=99", Convert.ToInt32(dt.Rows[i]["oid"]));//成功的订单
                }
                else
                {
                    OCl.UpOrderinfo("OrderStatus=98", Convert.ToInt32(dt.Rows[i]["oid"]));//支付成功,但未成功续费,注册的订单
                }
                dlogBll.Insert(dt.Rows[i]["ID"].ToString(), url, B_IDC_DomainLog.OPType.BuyDomain, dt.Rows[i]["userid"].ToString(), dr["Result"].ToString());
            }
            allMoneyL.Text           = money.ToString();
            finalRepeater.DataSource = resultDT;
            finalRepeater.DataBind();
        }