Ejemplo n.º 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            string token = XCCloudManaUserTokenBusiness.SetToken("15307199901", "100027", "100027", 0);
            string s     = token;

            Response.Write(token);
        }
Ejemplo n.º 2
0
 public static void XCCloudManaUserInit()
 {
     try
     {
         XCCloudManaUserTokenBusiness.Init();
         LogHelper.SaveLog(TxtLogType.SystemInit, "XcManaUserInit Sucess");
     }
     catch (Exception ex)
     {
         LogHelper.SaveLog(TxtLogType.SystemInit, "XcManaUserInit..." + Utils.GetException(ex));
     }
 }
Ejemplo n.º 3
0
        //验证签名
        private bool CheckSignKey(SignKeyEnum signKeyEnum, Dictionary <string, object> dicParas, out string signkeyToken, out string errMsg)
        {
            errMsg       = string.Empty;
            signkeyToken = string.Empty;
            if (signKeyEnum == SignKeyEnum.MobileToken)
            {
                string mobile      = string.Empty;
                string mobileToken = Utils.GetDictionaryValue <string>(dicParas, "mobileToken").ToString();
                string storeId     = Utils.GetDictionaryValue <string>(dicParas, "storeId").ToString();
                //如果是手机token
                if (MobileTokenBusiness.ExistToken(mobileToken, out mobile))
                {
                    MobileTokenModel mobileTokenTokenModel = new MobileTokenModel(mobile);
                    dicParas.Add(Constant.MobileTokenModel, mobileTokenTokenModel);
                    return(true);
                }
                else
                {
                    errMsg = "手机令牌无效";
                    return(false);
                }
            }
            else if (signKeyEnum == SignKeyEnum.XCGameMemberToken)
            {
                string token = dicParas["memberToken"].ToString();
                //验证token
                XCGameMemberTokenModel memberTokenKeyModel = MemberTokenBusiness.GetMemberTokenModel(token);
                if (memberTokenKeyModel == null)
                {
                    errMsg = "token无效";
                    return(false);
                }
                else
                {
                    dicParas.Add(Constant.XCGameMemberTokenModel, memberTokenKeyModel);
                    return(true);
                }
            }
            else if (signKeyEnum == SignKeyEnum.XCGameMemberOrMobileToken)
            {
                string mobile      = string.Empty;
                string mobileToken = Utils.GetDictionaryValue <string>(dicParas, "mobileToken").ToString();
                string memberToken = Utils.GetDictionaryValue <string>(dicParas, "memberToken").ToString();
                if (string.IsNullOrEmpty(mobileToken) && string.IsNullOrEmpty(memberToken))
                {
                    errMsg = "手机令牌或会员令牌不正确";
                    return(false);
                }
                else if (!string.IsNullOrEmpty(mobileToken) && string.IsNullOrEmpty(memberToken))
                {
                    //如果是手机token
                    if (MobileTokenBusiness.ExistToken(mobileToken, out mobile))
                    {
                        MobileTokenModel mobileTokenTokenModel = new MobileTokenModel(mobile);
                        dicParas.Add(Constant.MobileTokenModel, mobileTokenTokenModel);
                        return(true);
                    }
                    else
                    {
                        errMsg = "手机令牌无效";
                        return(false);
                    }
                }
                else if (!string.IsNullOrEmpty(memberToken) && string.IsNullOrEmpty(mobileToken))
                {
                    XCGameMemberTokenModel memberTokenModel = MemberTokenBusiness.GetMemberTokenModel(memberToken);
                    if (memberTokenModel != null)
                    {
                        dicParas.Add(Constant.XCGameMemberTokenModel, memberTokenModel);
                        return(true);
                    }
                    else
                    {
                        errMsg = "会员令牌无效";
                        return(false);
                    }
                }
                else if (!string.IsNullOrEmpty(memberToken) && !string.IsNullOrEmpty(mobileToken))
                {
                    //手机token验证

                    if (!MobileTokenBusiness.ExistToken(mobileToken, out mobile))
                    {
                        errMsg = "手机令牌无效";
                        return(false);
                    }
                    MobileTokenModel mobileTokenModel = new MobileTokenModel(mobile);
                    dicParas.Add(Constant.MobileTokenModel, mobileTokenModel);

                    //会员token
                    XCGameMemberTokenModel memberTokenModel = MemberTokenBusiness.GetMemberTokenModel(memberToken);
                    if (memberTokenModel == null)
                    {
                        errMsg = "会员令牌无效";
                        return(false);
                    }
                    dicParas.Add(Constant.XCGameMemberTokenModel, memberTokenModel);

                    //会员token和手机token手机号对比
                    if (!memberTokenModel.Mobile.Equals(mobileTokenModel.Mobile))
                    {
                        errMsg = "手机令牌和会员令牌手机号不一致";
                        return(false);
                    }
                    return(true);
                }
                return(true);
            }
            else if (signKeyEnum == SignKeyEnum.XCGameUserCacheToken)
            {
                string mobile   = dicParas.ContainsKey("mobile") ? dicParas["mobile"].ToString() : string.Empty;
                string UserName = dicParas.ContainsKey("UserName") ? dicParas["UserName"].ToString() : string.Empty;
                string PassWord = dicParas.ContainsKey("PassWord") ? dicParas["PassWord"].ToString() : string.Empty;
                string storeId  = dicParas.ContainsKey("storeId") ? dicParas["storeId"].ToString() : string.Empty;
                if (string.IsNullOrEmpty(storeId))
                {
                    errMsg = "门店Id不能为空";
                    return(false);
                }
                if (string.IsNullOrEmpty(UserName))
                {
                    errMsg = "用户名不能为空";
                    return(false);
                }
                if (string.IsNullOrEmpty(PassWord))
                {
                    errMsg = "密码不能为空";
                    return(false);
                }
                if (string.IsNullOrEmpty(mobile))
                {
                    errMsg = "手机号码不能为空";
                    return(false);
                }
                return(true);
            }
            else if (signKeyEnum == SignKeyEnum.XCCloudUserCacheToken)
            {
                string token = dicParas["userToken"].ToString();

                //验证token
                XCCloudUserTokenModel userTokenKeyModel = XCCloudUserTokenBusiness.GetUserTokenModel(token);
                if (userTokenKeyModel == null)
                {
                    errMsg = "token无效";
                    return(false);
                }
                else
                {
                    dicParas.Add(Constant.XCCloudUserTokenModel, userTokenKeyModel);
                    return(true);
                }
            }
            else if (signKeyEnum == SignKeyEnum.MethodToken)
            {
                return(true);
            }
            else if (signKeyEnum == SignKeyEnum.XCGameAdminToken)
            {
                string userToken     = dicParas.ContainsKey("userToken") ? dicParas["userToken"].ToString() : string.Empty;
                string configUnionId = System.Configuration.ConfigurationManager.AppSettings["BossUnionId"].ToString();
                string unionId       = string.Empty;
                if (!UnionIdTokenBusiness.ExistToken(userToken, out unionId))
                {
                    errMsg = "用户令牌无效";
                    return(false);
                }
                if (!configUnionId.Contains(unionId))
                {
                    errMsg = "用户没有授权";
                    return(false);
                }
                return(true);
            }
            else if (signKeyEnum == SignKeyEnum.XCGameManaUserToken)
            {
                string userToken = dicParas.ContainsKey("userToken") ? dicParas["userToken"].ToString() : string.Empty;
                XCCloudManaUserTokenModel userTokenModel = XCCloudManaUserTokenBusiness.GetManaUserTokenModel(userToken);
                if (userTokenModel == null)
                {
                    errMsg = "用户没有授权";
                    return(false);
                }
                dicParas.Add(Constant.XCGameManaUserToken, userTokenModel);
                return(true);
            }
            else if (signKeyEnum == SignKeyEnum.XCGameManamAdminUserToken)
            {
                string userToken = dicParas.ContainsKey("userToken") ? dicParas["userToken"].ToString() : string.Empty;
                XCGameManaAdminUserTokenModel tokenModel = XCGameManaAdminUserTokenBusiness.GetTokenModel(userToken);
                if (tokenModel == null)
                {
                    errMsg = "用户没有授权";
                    return(false);
                }
                dicParas.Add(Constant.XCGameManamAdminUserToken, tokenModel);
                return(true);
            }
            else
            {
                string token   = dicParas["token"].ToString();
                string signKey = dicParas["signkey"].ToString();
                errMsg       = string.Empty;
                signkeyToken = "default";
                return(true);
            }
        }
Ejemplo n.º 4
0
        public object registerUser(Dictionary <string, object> dicParas)
        {
            try
            {
                string storeId = dicParas.ContainsKey("storeId") ? dicParas["storeId"].ToString() : string.Empty;
                string mobile  = dicParas.ContainsKey("mobile") ? dicParas["mobile"].ToString() : string.Empty;
                string smsCode = dicParas.ContainsKey("smsCode") ? dicParas["smsCode"].ToString() : string.Empty;
                string errMsg  = string.Empty;
                int    userId  = 0;

                if (string.IsNullOrEmpty(storeId))
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "门店号码不正确"));
                }
                if (string.IsNullOrEmpty(mobile))
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "手机号码不正确"));
                }
                if (string.IsNullOrEmpty(smsCode))
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "请输入验证码"));
                }

                //验证短信验证码
                string key = mobile + "_" + smsCode;
                if (!FilterMobileBusiness.IsTestSMS && !FilterMobileBusiness.ExistMobile(mobile))
                {
                    if (!SMSCodeCache.IsExist(key))
                    {
                        return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "短信验证码无效"));
                    }
                }

                if (SMSCodeCache.IsExist(key))
                {
                    SMSCodeCache.Remove(key);
                }

                //验证门店是否有效
                StoreBusiness   sb         = new StoreBusiness();
                StoreCacheModel storeModel = null;
                if (!sb.IsEffectiveStore(storeId, ref storeModel, out errMsg))
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, errMsg));
                }

                if (storeModel.StoreDBDeployType == 0)
                {
                    //验证用户在分库是否存在
                    XCCloudService.BLL.IBLL.XCGame.IUserService userService = BLLContainer.Resolve <XCCloudService.BLL.IBLL.XCGame.IUserService>(storeModel.StoreDBName);
                    var gameUserModel = userService.GetModels(p => p.Mobile.Equals(mobile, StringComparison.OrdinalIgnoreCase)).FirstOrDefault <XCCloudService.Model.XCGame.u_users>();
                    if (gameUserModel == null)
                    {
                        return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "未查询到该用户"));
                    }
                    userId = gameUserModel.UserID;
                }
                else if (storeModel.StoreDBDeployType == 1)
                {
                    string sn = System.Guid.NewGuid().ToString().Replace("-", "");
                    UDPSocketCommonQueryAnswerModel answerModel = null;
                    string radarToken = string.Empty;
                    if (DataFactory.SendDataUserPhoneQuery(sn, storeModel.StoreID.ToString(), storeModel.StorePassword, mobile, out radarToken, out errMsg))
                    {
                    }
                    else
                    {
                        return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, errMsg));
                    }

                    answerModel = null;
                    int whileCount = 0;
                    while (answerModel == null && whileCount <= 25)
                    {
                        //获取应答缓存数据
                        whileCount++;
                        System.Threading.Thread.Sleep(1000);
                        answerModel = UDPSocketCommonQueryAnswerBusiness.GetAnswerModel(sn, 1);
                    }

                    if (answerModel != null)
                    {
                        UserPhoneQueryResultNotifyRequestModel model = (UserPhoneQueryResultNotifyRequestModel)(answerModel.Result);
                        //移除应答缓存数据
                        UDPSocketCommonQueryAnswerBusiness.Remove(sn);
                        if (model.Result_Code == "0")
                        {
                            return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "未查询到该用户"));
                        }
                    }
                    else
                    {
                        return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "系统没有响应"));
                    }
                    userId = 0;//本地库用0
                }
                else
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "门店配置无效"));
                }

                //验证用户在总库是否已注册
                XCCloudService.BLL.IBLL.XCGameManager.IUserService userServiceManager = BLLContainer.Resolve <XCCloudService.BLL.IBLL.XCGameManager.IUserService>();
                var userRegisterModel = userServiceManager.GetModels(p => p.Mobile.Equals(mobile) && p.StoreId.Equals(storeId)).FirstOrDefault <XCCloudService.Model.XCGameManager.t_user>();

                if (userRegisterModel == null)
                {
                    //添加注册用户
                    XCCloudService.Model.XCGameManager.t_user t_user = new XCCloudService.Model.XCGameManager.t_user();
                    t_user.Mobile     = mobile;
                    t_user.StoreId    = storeId;
                    t_user.CreateTime = System.DateTime.Now;
                    t_user.OpenId     = "";

                    if (!userServiceManager.Add(t_user))
                    {
                        return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "添加注册用户失败"));
                    }
                }

                //获取用户token
                //云库不用userId
                string token = XCCloudManaUserTokenBusiness.SetToken(mobile, storeId, storeModel.StoreName, userId);
                List <XCCloudManaUserTokenResultModel> list = null;
                XCCloudManaUserTokenBusiness.GetUserTokenModel(mobile, ref list);
                var obj = new
                {
                    userToken = token,
                    storeList = list
                };
                return(ResponseModelFactory.CreateAnonymousSuccessModel(isSignKeyReturn, obj));
            }
            catch (Exception e)
            {
                throw e;
            }
        }