Beispiel #1
0
        /// <summary>
        /// 发送请求
        /// </summary>
        public XmlDocument DoRequest(int action, string param)
        {
            //GatewayHandler.ServiceUrl = ConfigurationManager.AppSettings["LC_ServiceUrl"];
            //GatewayHandler.Key = ConfigurationManager.AppSettings["LC_Key"];
            //GatewayHandler.PartnerId = ConfigurationManager.AppSettings["LC_PartnerId"];

            var    wMsgID  = DateTime.Now.ToString("yyyyMMddHHmmss");
            string sign    = string.Format("{0}{1}{2}{3}{4}", GatewayHandler_LC.PartnerId, action, wMsgID, param, GatewayHandler_LC.Key);
            string wSign   = Encipherment.MD5(sign, Encoding.GetEncoding("GB2312")).ToLower();
            string request = string.Format("wAgent={0}&wAction={1}&wMsgID={2}&wSign={3}&wParam={4}", GatewayHandler_LC.PartnerId, action, wMsgID, wSign, param);

            if (!string.IsNullOrEmpty(_xmlDir) && action == 101)
            {
                SaveXML(param, action);
            }
            var xml = PostManager.Post(GatewayHandler_LC.ServiceUrl, request, Encoding.GetEncoding("gb2312"));

            if (string.IsNullOrEmpty(xml) || xml == "404")
            {
                throw new Exception("返回结果不正确");
            }
            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.LoadXml(xml);
            if (!string.IsNullOrEmpty(_xmlDir) && action == 101)
            {
                var path = GetLogFileName(888);
                xmlDoc.Save(path);
            }
            return(xmlDoc);
        }
Beispiel #2
0
        public void Register(LoginLocal loginEntity, string userId)
        {
            if (loginEntity.Password == null)
            {
                loginEntity.Password = C_DefaultPassword;
            }
            loginEntity.Password = Encipherment.MD5(string.Format("{0}{1}", loginEntity.Password, _gbKey)).ToUpper();

            using (var biz = new GameBiz.Business.GameBizBusinessManagement())
            {
                biz.BeginTran();
                using (var loginManager = new LoginLocalManager())
                {
                    var tmp = loginManager.GetLoginByName(loginEntity.LoginName);
                    if (tmp != null)
                    {
                        throw new AuthException("登录名已经存在 - " + loginEntity.LoginName);
                    }
                    loginEntity.User     = loginManager.LoadUser(userId);
                    loginEntity.Register = loginManager.LoadRegister(userId);
                    loginManager.Register(loginEntity);
                }
                biz.CommitTran();
            }
        }
Beispiel #3
0
        public string ChangePassword(string userId)
        {
            var r                      = new Random(DateTime.Now.Millisecond);
            var password               = r.Next(100000, 999999).ToString();
            var encodePassword         = Encipherment.MD5(string.Format("{0}{1}", password, _gbKey)).ToUpper();
            var password_balance       = r.Next(100000, 999999).ToString();
            var encodePassword_balance = Encipherment.MD5(string.Format("{0}{1}", password_balance, _gbKey)).ToUpper();

            using (var biz = new GameBiz.Business.GameBizBusinessManagement())
            {
                biz.BeginTran();

                var loginManager = new LoginLocalManager();
                var user         = loginManager.GetLoginByUserId(userId);
                if (user == null)
                {
                    throw new AuthException("用户不存在或不是本地注册用户,不能修改密码。请确定是否是通过支付宝或QQ帐号进行登录,如有疑问,请联系客服。");
                }
                user.Password = encodePassword;
                loginManager.UpdateLogin(user);

                var balanceManage = new UserBalanceManager();
                var b             = balanceManage.QueryUserBalance(userId);
                b.Password = encodePassword_balance;
                balanceManage.UpdateUserBalance(b);

                biz.CommitTran();
            }
            return(string.Format("{0}|{1}", password, password_balance));
        }
Beispiel #4
0
        /// <summary>
        /// 获取币币支付请求地址
        /// </summary>
        public string GetBBPayUrl(BBPayAPIInfo info)
        {
            string url = string.Empty;

            try
            {
                if (info == null)
                {
                    throw new Exception("传入参数不能为空!");
                }
                if (!ValidData(info))//数据验证
                {
                    throw new Exception("传入参数数据验证失败!");
                }
                if (string.IsNullOrEmpty(info.BBPayUrl) || string.IsNullOrEmpty(info.BBPayKey))
                {
                    throw new Exception("未能找到支付地址或商户唯一编码!");
                }
                info.p6_amount = Convert.ToDecimal(info.p6_amount.ToString("N2"));
                var postData = string.Format("p1_md={0}&p2_xn={1}&p3_bn={2}&p4_pd={3}&p5_name={4}&p6_amount={5}&p7_cr={6}&p8_ex={7}&p9_url={8}&p10_reply={9}&p11_mode={10}&p12_ver={11}", info.p1_md, info.p2_xn, info.p3_bn, GetBnakID(info.p4_pd), info.p5_name, info.p6_amount, info.p7_cr, info.p8_ex, info.p9_url, info.p10_reply, info.p11_mode, info.p12_ver);
                var sign     = Encipherment.MD5(postData + info.BBPayKey);
                url = info.BBPayUrl + "?" + postData + "&sign=" + sign + "";
                //resultMsg = PostManager.Post(bbPayUrl, postData, Encoding.UTF8);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
            return(url);
        }
        public void Register(LoginLocal loginEntity, string userId)
        {
            if (loginEntity.Password == null)
            {
                loginEntity.Password = C_DefaultPassword;
            }
            loginEntity.Password = Encipherment.MD5(string.Format("{0}{1}", loginEntity.Password, _gbKey)).ToUpper();


            DB.Begin();

            var tmp = DB.CreateQuery <E_Login_Local>().Where(p => (p.LoginName == loginEntity.LoginName || p.mobile == loginEntity.LoginName)).FirstOrDefault();

            if (tmp != null)
            {
                throw new AuthException("登录名已经存在 - " + loginEntity.LoginName);
            }
            //loginEntity.User = loginManager.LoadUser(userId);
            var Register = GetRegisterById(userId);
            var register = new E_Login_Local
            {
                LoginName  = loginEntity.LoginName,
                UserId     = userId,
                CreateTime = DateTime.Now,
                mobile     = loginEntity.mobile,
                Password   = loginEntity.Password,
                RegisterId = Register.UserId,
            };

            DB.GetDal <E_Login_Local>().Add(register);
            DB.Commit();
        }
        public string ChangePassword(string userId)
        {
            var r                      = new Random(DateTime.Now.Millisecond);
            var password               = r.Next(100000, 999999).ToString();
            var encodePassword         = Encipherment.MD5(string.Format("{0}{1}", password, _gbKey)).ToUpper();
            var password_balance       = r.Next(100000, 999999).ToString();
            var encodePassword_balance = Encipherment.MD5(string.Format("{0}{1}", password_balance, _gbKey)).ToUpper();

            DB.Begin();

            var user = GetLocalLoginByUserId(userId);

            if (user == null)
            {
                throw new AuthException("用户不存在或不是本地注册用户,不能修改密码。请确定是否是通过支付宝或QQ帐号进行登录,如有疑问,请联系客服。");
            }
            user.Password = encodePassword;

            DB.GetDal <E_Login_Local>().Update(user);

            var balanceManage = new UserBalanceManager();
            var b             = balanceManage.QueryUserBalance(userId);

            b.Password = encodePassword_balance;
            balanceManage.UpdateUserBalance(b);
            DB.Commit();

            return(string.Format("{0}|{1}", password, password_balance));
        }
        /// <summary>
        /// 发送请求
        /// </summary>
        public XmlDocument DoRequest(int exAction, string param)
        {
            var    exMsgID = DateTime.Now.ToString("yyyyMMddHHmmss");
            string sign    = string.Format("{0}{1}{2}{3}{4}", exAgent, exAction, exMsgID, param, Key);
            string wSign   = Encipherment.MD5(sign, Encoding.UTF8).ToLower();
            string request = string.Format("exAgent={0}&exAction={1}&exMsgID={2}&exParam={3}&exSign={4}", exAgent, exAction, exMsgID, param, wSign);

            if (!string.IsNullOrEmpty(_xmlDir) && exAction == 101)
            {
                SaveXML(param, exAction);
            }
            var xml = PostManager.Post(ServiceUrl, request, Encoding.UTF8);//.GetEncoding("gb2312")

            if (string.IsNullOrEmpty(xml) || xml == "404")
            {
                throw new Exception("返回结果不正确");
            }
            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.LoadXml(xml);
            if (!string.IsNullOrEmpty(_xmlDir) && exAction == 101)
            {
                var path = GetLogFileName(888);
                xmlDoc.Save(path);
            }
            return(xmlDoc);
        }
Beispiel #8
0
        public string ResetUserBalancePwd(string userId)
        {
            var newPwd = string.Empty;

            //开启事务
            using (var biz = new GameBizBusinessManagement())
            {
                biz.BeginTran();

                var manager = new UserMobileManager();
                //var entity = manager.GetUserMobile(userId);
                //if (entity == null)
                //    throw new ArgumentException("此用户从未进行过手机认证");
                //if (entity.Mobile != mobileNumber)
                //    throw new ArgumentException("用户认证的手机号码不正确");

                var balanceManager = new UserBalanceManager();
                var balance        = balanceManager.QueryUserBalance(userId);
                if (balance == null)
                {
                    throw new ArgumentException("用户资金信息查询出错");
                }

                balance.Password = Encipherment.MD5(string.Format("{0}{1}", C_DefaultPassword, _gbKey)).ToUpper();
                balanceManager.UpdateUserBalance(balance);

                biz.CommitTran();
            }
            return(newPwd);
        }
Beispiel #9
0
        /// <summary>
        /// 返回支付提交Form
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        public string GetHuiChaoForm(HuiChaoInfo info)
        {
            if (string.IsNullOrEmpty(info.MerNo))
            {
                throw new Exception("商户号不能为空");
            }
            else if (string.IsNullOrEmpty(info.BillNo))
            {
                throw new Exception("订单号不能为空");
            }
            else if (string.IsNullOrEmpty(info.Amount))
            {
                throw new Exception("订单金额不能为空");
            }
            else if (string.IsNullOrEmpty(info.ReturnURL))
            {
                throw new Exception("页面跳转地址不能为空");
            }
            else if (string.IsNullOrEmpty(info.AdviceURL))
            {
                throw new Exception("服务器通知地址不能为空");
            }
            else if (string.IsNullOrEmpty(info.orderTime))
            {
                throw new Exception("请求时间不能为空");
            }
            else if (string.IsNullOrEmpty(info.MD5Key))
            {
                throw new Exception("密钥不能为空");
            }
            if (string.IsNullOrEmpty(info.defaultBankNumber))
            {
                info.defaultBankNumber = "UNIONPAY";
            }
            info.Amount = Convert.ToDecimal(info.Amount).ToString("N2").Replace(",", "");
            var    signMsg = Encipherment.MD5(info.MerNo + "&" + info.BillNo + "&" + info.Amount + "&" + info.ReturnURL + "&" + info.MD5Key).ToUpper();
            string md5src  = "MerNo=" + info.MerNo + "&" + "BillNo=" + info.BillNo + "&" + "Amount=" + info.Amount + "&" + "OrderTime=" + info.orderTime + "&" + "ReturnURL=" + info.ReturnURL + "&" + "AdviceURL=" + info.AdviceURL + "&" + info.MD5Key;
            //string SignInfo = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(md5src, "MD5");

            string        SignInfo = Encipherment.MD5(md5src).ToUpper();
            StringBuilder strBud   = new StringBuilder();

            strBud.Append("<form name='dinpayForm' method='post' action=" + info.PayUrl + " target='_self'>");
            //strBud.Append("<input type='hidden' name='OrderDesc' value='" + info.OrderDesc + "' />");
            strBud.Append("<input type='hidden' name='MerNo' value='" + info.MerNo + "' />");
            strBud.Append("<input type='hidden' name='BillNo' value='" + info.BillNo + "' />");
            strBud.Append("<input type='hidden' name='Amount' value='" + info.Amount + "'/>");
            strBud.Append("<input type='hidden' name='ReturnURL' value='" + info.ReturnURL + "'/>");
            strBud.Append("<input type='hidden' name='AdviceURL' value='" + info.AdviceURL + "'/>");
            strBud.Append("<input type='hidden' name='SignInfo' value='" + SignInfo + "'/>");
            strBud.Append("<input type='hidden' name='OrderTime' value='" + info.orderTime + "'/>");
            strBud.Append("<input type='hidden' name='defaultBankNumber' value='" + info.defaultBankNumber + "'>");
            //strBud.Append("<input type='hidden' name='payType' value='" + info.PayType + "'/>");
            strBud.Append("<input type='hidden' name='Remark' value='" + info.Remark + "'/>");
            strBud.Append("<input type='hidden' name='products' value='" + info.products + "'/>");
            strBud.Append("</form>");
            strBud.Append("<script language=javascript>document.dinpayForm.submit();</script>");
            return(strBud.ToString());
        }
        /// <summary>
        /// 检查客户端与服务端MD5值
        /// </summary>
        /// <returns></returns>
        public bool CheckSign()
        {
            //HttpContent.Current.Server.UrlDecode("");
            //todo:
            string sourceString = "caibb" + MsgId + (int)SourceCode + Param;

            return(Sign.ToUpper() == Encipherment.MD5(sourceString, Encoding.UTF8).ToUpper());
        }
        //public string GetLoginNameIsExsite(string loginName)
        //{

        //    using (var loginManager = new LoginLocalManager())
        //    {
        //        var user = loginManager.GetLoginByName(loginName);
        //        if (user == null)
        //        {
        //            return "";
        //        }
        //        else
        //        {
        //            return user.LoginName;
        //        }
        //    }
        //}

        public bool?CheckIsSame2BalancePassword(string userId, string newPassword)
        {
            var balance = SelectUserBalance(userId);

            if (balance == null)
            {
                return(null);
            }
            return(balance.Password.Equals(Encipherment.MD5(newPassword)));
        }
        public bool?CheckIsSame2LoginPassword(string userId, string newPassword)
        {
            var user = GetLocalLoginByUserId(userId);

            if (user == null)
            {
                return(null);
            }
            return(user.Password.ToUpper().Equals(Encipherment.MD5(string.Format("{0}{1}", newPassword, _gbKey)).ToUpper()));
        }
Beispiel #13
0
        /// <summary>
        /// 返回支付提交Form
        /// </summary>
        /// <param name="info"></param>
        /// <returns></returns>
        public string GetHuiChaoForm2(HuiChaoInfo info)
        {
            if (string.IsNullOrEmpty(info.MerNo))
            {
                throw new Exception("商户号不能为空");
            }
            else if (string.IsNullOrEmpty(info.BillNo))
            {
                throw new Exception("订单号不能为空");
            }
            else if (string.IsNullOrEmpty(info.Amount))
            {
                throw new Exception("订单金额不能为空");
            }
            else if (string.IsNullOrEmpty(info.ReturnURL))
            {
                throw new Exception("页面跳转地址不能为空");
            }
            else if (string.IsNullOrEmpty(info.AdviceURL))
            {
                throw new Exception("服务器通知地址不能为空");
            }
            else if (string.IsNullOrEmpty(info.orderTime))
            {
                throw new Exception("请求时间不能为空");
            }
            else if (string.IsNullOrEmpty(info.MD5Key))
            {
                throw new Exception("密钥不能为空");
            }
            if (string.IsNullOrEmpty(info.defaultBankNumber))
            {
                info.defaultBankNumber = "UNIONPAY";
            }
            info.Amount = Convert.ToDecimal(info.Amount).ToString("N2").Replace(",", "");
            var           signMsg = Encipherment.MD5(info.MerNo + "&" + info.BillNo + "&" + info.Amount + "&" + info.ReturnURL + "&" + info.MD5Key).ToUpper();
            StringBuilder strBud  = new StringBuilder();

            strBud.Append("<form name='dinpayForm' method='post' action=" + info.PayUrl + " target='_self'>");
            strBud.Append("<input type='hidden' name='MerNo' value='" + info.MerNo + "' />");
            strBud.Append("<input type='hidden' name='BillNo' value='" + info.BillNo + "' />");
            strBud.Append("<input type='hidden' name='Amount' value='" + info.Amount + "'/>");
            strBud.Append("<input type='hidden' name='ReturnURL' value='" + info.ReturnURL + "'/>");
            strBud.Append("<input type='hidden' name='AdviceURL' value='" + info.AdviceURL + "'/>");
            strBud.Append("<input type='hidden' name='SignInfo' value='" + signMsg + "'/>");
            strBud.Append("<input type='hidden' name='orderTime' value='" + info.orderTime + "'/>");
            strBud.Append("<input type='hidden' name='defaultBankNumber' value='" + info.defaultBankNumber + "'>");
            strBud.Append("<input type='hidden' name='Remark' value='" + info.Remark + "'/>");
            strBud.Append("<input type='hidden' name='products' value='" + info.products + "'/>");
            strBud.Append("</form>");
            strBud.Append("<script language=javascript>document.dinpayForm.submit();</script>");
            return(strBud.ToString());
        }
Beispiel #14
0
 public bool?CheckIsSame2BalancePassword(string userId, string newPassword)
 {
     using (var balanceManager = new UserBalanceManager())
     {
         var balance = balanceManager.QueryUserBalance(userId);
         if (balance == null)
         {
             return(null);
         }
         return(balance.Password.Equals(Encipherment.MD5(newPassword)));
     }
 }
        public static string buildProxyUrl(string url)
        {
            var proxy = InitConfigInfo.data_spider_proxy_url;

            if (string.IsNullOrEmpty(proxy))
            {
                return(url);
            }
            var vsign = Encipherment.MD5(url + "aaa222");
            var tmp   = proxy + "?url=" + HttpUtility.UrlEncode(url) + "&sign=" + vsign;

            return(tmp);
        }
Beispiel #16
0
        /// <summary>
        /// 发送通知到网站生成静态页或静态数据
        /// </summary>
        public string SendBuildStaticFileNotice(string pageType, string key = "")
        {
            var result   = new List <string>();
            var urlArray = Lottery.CrawGetters.InitConfigInfo.BuildStaticFileSendUrl.Split('|'); //ConfigurationManager.AppSettings["BuildStaticFileSendUrl"].Split('|');
            var code     = Encipherment.MD5(string.Format("Home_BuildSpecificPage_{0}", pageType), Encoding.UTF8);

            foreach (var item in urlArray)
            {
                var fullUrl = string.Format("{0}/StaticHtml/BuildSpecificPage?pageType={1}&code={2}&key={3}", item, pageType, code, key);
                result.Add(PostManager.Get(fullUrl, Encoding.UTF8));
            }
            return(string.Join(Environment.NewLine, result.ToArray()));
        }
Beispiel #17
0
        /// <summary>
        /// 发送生成静态数据通知
        /// </summary>
        public static void SendBuildStaticDataNotice(string pageType, string key)
        {
            var urlArray = ConfigurationManager.AppSettings["BuildStaticFileSendUrl"].Split('|');

            foreach (var url in urlArray)
            {
                if (string.IsNullOrEmpty(url))
                {
                    continue;
                }
                var code       = Encipherment.MD5(string.Format("Home_BuildSpecificPage_{0}", pageType), Encoding.UTF8);
                var webSiteUrl = string.Format("{0}/{1}?pageType={2}&code={3}&key={4}", url, "StaticHtml/BuildSpecificPage", pageType, code, key);
                var result     = PostManager.Get(webSiteUrl, Encoding.UTF8, timeoutSeconds: 60);
            }
        }
Beispiel #18
0
        public string CreateBBPayForm(BBPayAPIInfo info)
        {
            string formHtml = string.Empty;

            try
            {
                if (info == null)
                {
                    return(formHtml);
                }
                if (!ValidData(info))//数据验证
                {
                    return(formHtml);
                }
                if (string.IsNullOrEmpty(info.BBPayUrl) || string.IsNullOrEmpty(info.BBPayKey))
                {
                    return(formHtml);
                }
                info.p6_amount = Convert.ToDecimal(info.p6_amount.ToString("N2"));
                var postData = string.Format("p1_md={0}&p2_xn={1}&p3_bn={2}&p4_pd={3}&p5_name={4}&p6_amount={5}&p7_cr={6}&p8_ex={7}&p9_url={8}&p10_reply={9}&p11_mode={10}&p12_ver={11}", info.p1_md, info.p2_xn, info.p3_bn, info.p4_pd, info.p5_name, info.p6_amount, info.p7_cr, info.p8_ex, info.p9_url, info.p10_reply, info.p11_mode, info.p12_ver);
                var sign     = string.Empty;
                sign = Encipherment.MD5(postData + info.BBPayKey, Encoding.UTF8);
                StringBuilder strBud = new StringBuilder();
                strBud.Append("<form name='formBBPay'  id='formBBPay' method='post' action='" + info.BBPayUrl + "'/>");
                strBud.Append("<input type='hidden' name='p1_md'  id='p1_md' value='" + info.p1_md + "'/>");
                strBud.Append("<input type='hidden' name='p2_xn'id='p2_xn' value='" + info.p2_xn + "'/>");
                strBud.Append("<input type='hidden' name='p3_bn' id='p3_bn' value='" + info.p3_bn + "'/>");
                strBud.Append("<input type='hidden' name='p4_pd' id='p4_pd' value='" + info.p4_pd + "'/>");
                strBud.Append("<input type='hidden' name='p5_name' id='p5_name' value='" + info.p5_name + "'/>");
                strBud.Append("<input type='hidden' name='p6_amount' id='p6_amount' value='" + info.p6_amount + "'/>");
                strBud.Append("<input type='hidden' name='p7_cr' id='p7_cr' value='" + info.p7_cr + "'/>");
                strBud.Append("<input type='hidden' name='p8_ex'  id='p8_ex' value='" + info.p8_ex + "'/>");
                strBud.Append("<input type='hidden' name='p9_url' id='p9_url' value='" + info.p9_url + "'/>");
                strBud.Append("<input type='hidden' name='p10_reply' id='p10_reply'  value='" + info.p10_reply + "'/>");
                strBud.Append("<input type='hidden' name='p11_mode' id='p11_mode' value='" + info.p11_mode + "'/>");
                strBud.Append("<input type='hidden' name='p12_ver' id='p12_ver' value='" + info.p12_ver + "'/>");
                strBud.Append("<input type='hidden' name='sign' id='sign' value='" + sign + "'/>");
                strBud.Append("</form>");
                strBud.Append("<script language=javascript>document.getElementById('formBBPay').submit();</script>");
                formHtml = strBud.ToString();
            }
            catch (Exception ex)
            {
                return(formHtml);
            }
            return(formHtml);
        }
        public void ChangePassword(string userId, string oldPassword, string newPassword)
        {
            oldPassword = Encipherment.MD5(string.Format("{0}{1}", oldPassword, _gbKey)).ToUpper();
            newPassword = Encipherment.MD5(string.Format("{0}{1}", newPassword, _gbKey)).ToUpper();
            var user = DB.CreateQuery <E_Login_Local>().Where(p => p.UserId == userId).FirstOrDefault();

            if (user == null)
            {
                throw new LogicException("用户不是本地注册用户,不允许修改密码。请确定是否是通过支付宝或QQ帐号进行登录,如有疑问,请联系客服。");
            }
            if (user.Password.ToUpper() != oldPassword)
            {
                throw new LogicException("旧密码输入错误。");
            }
            user.Password = newPassword;
            DB.GetDal <E_Login_Local>().Update(user);
        }
Beispiel #20
0
        public void SetBalancePassword(string userId, string oldPassword, bool isSetPwd, string newPassword)
        {
            var balanceManager = new UserBalanceManager();
            var entity         = balanceManager.QueryUserBalance(userId);

            if (entity.IsSetPwd)
            {
                oldPassword = Encipherment.MD5(string.Format("{0}{1}", oldPassword, _gbKey)).ToUpper();
                if (string.IsNullOrEmpty(oldPassword) || !oldPassword.Equals(entity.Password))
                {
                    throw new Exception("输入资金密码错误");
                }
            }
            entity.IsSetPwd = isSetPwd;
            entity.Password = Encipherment.MD5(string.Format("{0}{1}", newPassword, _gbKey)).ToUpper();
            balanceManager.UpdateUserBalance(entity);
        }
Beispiel #21
0
        public LoginLocal Login(string loginName, string password)
        {
            password = Encipherment.MD5(string.Format("{0}{1}", password, _gbKey)).ToUpper();

            LoginLocal loginInfo = null;

            using (var loginManager = new LoginLocalManager())
            {
                loginInfo = loginManager.Login(loginName, password);
                if (loginInfo != null && loginInfo.User != null)
                {
                    NHibernate.NHibernateUtil.Initialize(loginInfo.User.RoleList);
                    NHibernate.NHibernateUtil.Initialize(loginInfo.Register);
                }
            }
            return(loginInfo);
        }
Beispiel #22
0
        public string SendSMS(string mobile, string smscontent, string attach)
        {
            var doc = new XmlDocument();

            doc.AppendChild(doc.CreateXmlDeclaration("1.0", "utf-8", string.Empty));

            var account = doc.CreateElement("account");

            account.InnerXml = config_account;
            var password = doc.CreateElement("password");

            password.InnerXml = Encipherment.MD5(config_password);
            var msgid = doc.CreateElement("msgid");

            msgid.InnerXml = Guid.NewGuid().ToString("N");
            var phones = doc.CreateElement("phones");

            phones.InnerXml = mobile;
            var content = doc.CreateElement("content");

            content.InnerXml = smscontent;
            var subcode = doc.CreateElement("subcode");

            subcode.InnerXml = "";
            var sendtime = doc.CreateElement("sendtime");

            sendtime.InnerXml = DateTime.Now.ToString("yyyyMMddHHmm");

            var message = doc.CreateElement("message");

            message.AppendChild(account);
            message.AppendChild(password);
            message.AppendChild(msgid);
            message.AppendChild(phones);
            message.AppendChild(content);
            message.AppendChild(subcode);
            message.AppendChild(sendtime);

            doc.AppendChild(message);

            //var url = "http://3tong.net/http/sms/Submit";
            var url = "http://www.10690300.com/http/sms/Submit";

            return(PostManager.Post(url, string.Format("message={0}", doc.InnerXml), Encoding.UTF8));
        }
Beispiel #23
0
        public string SendVoice(string mobile, string code)
        {
            var json = new
            {
                to         = mobile,
                appId      = config_appid,
                verifyCode = code,
                //displayNum = "400-033-0997",
                playTimes = "3"
            };
            var requestString = JsonHelper.Serialize(json);

            var sid   = config_sid;
            var token = config_token;
            var time  = DateTime.Now.ToString("yyyyMMddHHmmss");
            var sig   = Encipherment.MD5(string.Format("{0}{1}{2}", sid, token, time));
            var url   = string.Format("https://app.cloopen.com:8883/2013-12-26/Accounts/{0}/Calls/VoiceVerify?sig={1}", sid, sig);

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

            setCertificateValidationCallBack();

            byte[] myByte  = Encoding.UTF8.GetBytes(sid + ":" + time);
            string authStr = Convert.ToBase64String(myByte);

            request.Headers.Add("Authorization", authStr);
            request.Method            = "POST";
            request.AllowAutoRedirect = true;
            request.Accept            = "application/json";
            request.ContentType       = "application/json;charset=utf-8";
            requestString             = System.Net.WebUtility.HtmlDecode(requestString);
            byte[] bytes = Encoding.UTF8.GetBytes(requestString);
            using (Stream requestStream = request.GetRequestStream())
            {
                requestStream.Write(bytes, 0, bytes.Length);
                requestStream.Close();
            }
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            StreamReader    reader   = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
            var             result   = reader.ReadToEnd();

            return(result);
        }
Beispiel #24
0
        /// <summary>
        /// 生成优惠券
        /// </summary>
        public void BuildCoupons(string summary, decimal money, int count)
        {
            using (var biz = new GameBizBusinessManagement())
            {
                biz.BeginTran();

                var activityManager = new A20131105Manager();

                for (int i = 0; i < count; i++)
                {
                    var md5      = Encipherment.MD5(Guid.NewGuid().ToString());
                    var codeList = new List <string>();
                    var t        = 0;
                    for (int j = 0; j < md5.Length; j++)
                    {
                        if (t == 4 && codeList.Count < 19)
                        {
                            codeList.Add("-");
                            t = 0;
                        }
                        if (j % 2 == 0)
                        {
                            t++;
                            codeList.Add(md5[j].ToString());
                        }
                    }
                    var code = string.Join("", codeList.ToArray()).ToUpper();

                    activityManager.AddA20131105_优惠券(new A20131105_优惠券
                    {
                        CreateTime   = DateTime.Now,
                        BelongUserId = string.Empty,
                        CanUsable    = true,
                        Money        = money,
                        Summary      = summary,
                        Number       = code,
                    });
                }

                biz.CommitTran();
            }
        }
Beispiel #25
0
        public void SetBalancePasswordNeedPlace(string userId, string password, string placeList)
        {
            var balanceManager = new UserBalanceManager();
            var entity         = balanceManager.QueryUserBalance(userId);

            if (entity.IsSetPwd)
            {
                password = Encipherment.MD5(string.Format("{0}{1}", password, _gbKey)).ToUpper();
                if (string.IsNullOrEmpty(password) || !password.Equals(entity.Password))
                {
                    throw new LogicException("输入资金密码错误");
                }
            }
            else
            {
                throw new LogicException("必须先设置资金密码");
            }
            entity.NeedPwdPlace = placeList;
            balanceManager.UpdateUserBalance(entity);
        }
Beispiel #26
0
        public void ResetUserPassword(string userId)
        {
            var newPassword = Encipherment.MD5(string.Format("{0}{1}", C_DefaultPassword, _gbKey)).ToUpper();

            using (var biz = new GameBiz.Business.GameBizBusinessManagement())
            {
                biz.BeginTran();
                using (var loginManager = new LoginLocalManager())
                {
                    var user = loginManager.GetLoginByUserId(userId);
                    if (user == null)
                    {
                        throw new AuthException("用户不是本地注册用户,不允许修改密码。请确定是否是通过支付宝或QQ帐号进行登录,如有疑问,请联系客服。");
                    }
                    user.Password = newPassword;
                    loginManager.UpdateLogin(user);
                }
                biz.CommitTran();
            }
        }
Beispiel #27
0
        public void AdminResetUserBalancePwd(string userId, string pwd)
        {
            //开启事务
            using (var biz = new GameBizBusinessManagement())
            {
                biz.BeginTran();

                var balanceManager = new UserBalanceManager();
                var balance        = balanceManager.QueryUserBalance(userId);
                if (balance == null)
                {
                    throw new ArgumentException("用户资金信息查询出错");
                }

                balance.Password = Encipherment.MD5(pwd);
                balanceManager.UpdateUserBalance(balance);

                biz.CommitTran();
            }
        }
Beispiel #28
0
        public string Pay(BBPayAPIInfo info)
        {
            string formHtml = string.Empty;
            SortedDictionary <string, object> sd = new SortedDictionary <string, object>();

            sd.Add("pt", "02");//网银
            sd.Add("order", info.order);
            sd.Add("transtime", info.transtime);
            sd.Add("currency", info.currency);
            sd.Add("amount", info.amount);
            sd.Add("productcategory", info.productcategory);
            sd.Add("productname", info.productname);
            sd.Add("productdesc", info.productdesc);
            sd.Add("productprice", info.amount);
            sd.Add("productcount", info.productcount);
            sd.Add("merrmk", "");
            sd.Add("identityid", info.identityid);
            sd.Add("identitytype", info.identitytype);
            sd.Add("userip", info.userip);
            sd.Add("userua", info.userua);
            sd.Add("areturl", info.areturl);
            sd.Add("sreturl", info.sreturl);
            sd.Add("pnc", info.pnc.ToString());
            //生成Md5签名
            var source = string.Join("", (from d in sd select d.Value).ToArray()) + info.BBPayKey;
            var sign   = Encipherment.MD5(source, Encoding.UTF8);

            sd.Add("sign", sign);
            string        json   = Common.JSON.JsonHelper.Serialize(sd);
            var           data   = System.Web.HttpUtility.UrlEncode(json);
            StringBuilder strBud = new StringBuilder();

            strBud.Append("<form name='formBBPay'  id='formBBPay' method='post' action='" + info.BBPayUrl + "'/>");
            strBud.Append("<input type='hidden' name='data'  id='data' value='" + data + "'/>");
            strBud.Append("<input type='hidden' name='merchantaccount'id='transtime' value='" + info.BBPayId + "'/>");
            strBud.Append("<input type='hidden' name='encryptkey' id='encryptkey' value='1'/>");
            strBud.Append("</form>");
            strBud.Append("<script language=javascript>document.getElementById('formBBPay').submit();</script>");
            formHtml = strBud.ToString();
            return(formHtml);
        }
Beispiel #29
0
        /// <summary>
        /// 上传文件
        /// </summary>
        /// <param name="url"></param>
        /// <param name="filePath"></param>
        /// <param name="customerPath"></param>
        /// <param name="currentTimes"></param>
        /// <param name="maxTimes"></param>
        /// <param name="writeLog"></param>
        /// <returns></returns>
        public static bool PostFileToServer(string url, string filePath, string[] customerPath, int currentTimes)
        {
            bool bol = true;

            try
            {
                //if (currentTimes >= maxTimes)
                //    return false;
                //currentTimes++;

                var file = new FileInfo(filePath);
                if (file == null)
                {
                    throw new Exception("文件对象为空");
                }
                if (!file.Exists)
                {
                    throw new Exception(string.Format("文件{0}不存在", filePath));
                }

                var dic = new Dictionary <string, string>();
                //路径以|分隔,接收端拆分
                dic.Add("CustomerFilePath", string.Join("|", customerPath));
                dic.Add("CustomerFileName", file.Name);
                dic.Add("Sign", Encipherment.MD5(string.Format("XT{0}{1}", file.Name, string.Join("|", customerPath)), Encoding.UTF8));
                var r = Net.PostManager.UploadFile(url, filePath, dic);
                if (r != "1")
                {
                    throw new Exception(string.Format("上传文件失败", currentTimes));
                }
                // writeLog();
            }
            catch (Exception ex)
            {
                bol = false;
                // writeLog(ex.ToString());
                // PostFileToServer(url, filePath, customerPath, currentTimes, maxTimes, writeLog);
            }
            return(bol);
        }
Beispiel #30
0
        public string GetBalance()
        {
            var doc = new XmlDocument();

            doc.AppendChild(doc.CreateXmlDeclaration("1.0", "utf-8", string.Empty));

            var account = doc.CreateElement("account");

            account.InnerXml = config_account;
            var password = doc.CreateElement("password");

            password.InnerXml = Encipherment.MD5(config_password);
            var message = doc.CreateElement("message");

            message.AppendChild(account);
            message.AppendChild(password);
            doc.AppendChild(message);

            var url = "http://3tong.net/http/sms/Balance";

            return(PostManager.Post(url, string.Format("message={0}", doc.InnerXml), Encoding.UTF8));
        }