public static XCCloudManaUserTokenModel GetManaUserTokenModel(string token)
 {
     if (XCCloudManaUserTokenCache.UserTokenHTDic.ContainsKey(token))
     {
         XCCloudManaUserTokenModel tokenModel = (XCCloudManaUserTokenModel)(XCCloudManaUserTokenCache.UserTokenHTDic[token]);
         return(tokenModel);
     }
     else
     {
         return(null);
     }
 }
Beispiel #2
0
        public static void Init()
        {
            IUserTokenService userTokenService = BLLContainer.Resolve <IUserTokenService>();
            var list = userTokenService.GetModels(p => 1 == 1).ToList <t_usertoken>();

            if (list.Count > 0)
            {
                for (int i = 0; i < list.Count; i++)
                {
                    XCCloudManaUserTokenModel tokenModel = new XCCloudManaUserTokenModel(list[i].StoreId, list[i].StoreName, list[i].Mobile, Convert.ToInt32(list[i].XCGameUserId));
                    XCCloudManaUserTokenCache.AddToken(list[i].Token, tokenModel);
                }
            }
        }
Beispiel #3
0
        public object getStoreParam(Dictionary <string, object> dicParas)
        {
            string errMsg = string.Empty;
            ParamQueryResultModel     paramQueryResultModel = null;
            XCCloudManaUserTokenModel userTokenModel        = (XCCloudManaUserTokenModel)(dicParas[Constant.XCGameManaUserToken]);

            if (UDPApiService.GetParam(userTokenModel.StoreId, "0", ref paramQueryResultModel, out errMsg))
            {
                var obj = new {
                    txtCoinPrice  = paramQueryResultModel.TxtCoinPrice,
                    txtTicketDate = paramQueryResultModel.TxtTicketDate
                };

                return(ResponseModelFactory.CreateAnonymousSuccessModel(isSignKeyReturn, obj));
            }
            else
            {
                return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, errMsg));
            }
        }
        public static bool GetUserTokenModel(string mobile, ref List <XCCloudManaUserTokenResultModel> storeList)
        {
            storeList = new List <XCCloudManaUserTokenResultModel>();
            var query = from item in XCCloudManaUserTokenCache.UserTokenHTDic
                        where ((XCCloudManaUserTokenModel)(item.Value)).Mobile.Equals(mobile)
                        select item.Key.ToString();

            if (query.Count() == 0)
            {
                return(false);
            }
            else
            {
                List <string> tmpList   = query.ToList <string>();
                string        storeName = string.Empty;
                for (int i = 0; i < tmpList.Count; i++)
                {
                    XCCloudManaUserTokenModel userTokenModel = (XCCloudManaUserTokenModel)(XCCloudManaUserTokenCache.UserTokenHTDic[tmpList[i]]);
                    XCCloudService.Model.CustomModel.XCGameManager.StoreCacheModel storeModel = null;
                    string        errMsg        = string.Empty;
                    StoreBusiness storeBusiness = new StoreBusiness();
                    if (storeBusiness.IsEffectiveStore(userTokenModel.StoreId, ref storeModel, out errMsg))
                    {
                        if (storeModel == null)
                        {
                            storeName = string.Empty;
                        }
                        else
                        {
                            storeName = storeModel.StoreName;
                        }
                    }

                    XCCloudManaUserTokenResultModel userTokenResultModel = new XCCloudManaUserTokenResultModel(userTokenModel.StoreId, storeName, tmpList[i].ToString());
                    storeList.Add(userTokenResultModel);
                }
                return(true);
            }
        }
        public static string SetToken(string mobile, string storeId, string storeName, int xcGameUserId)
        {
            //设置会员token
            string newToken = System.Guid.NewGuid().ToString("N");
            string token    = string.Empty;

            if (GetUserTokenModel(storeId, mobile, out token))
            {
                SetDBManaUserToken(newToken, mobile, storeId, storeName, xcGameUserId);
                XCCloudManaUserTokenCache.Remove(token);
                XCCloudManaUserTokenModel tokenModel = new XCCloudManaUserTokenModel(storeId, storeName, mobile, xcGameUserId);
                XCCloudManaUserTokenCache.AddToken(newToken, tokenModel);
            }
            else
            {
                SetDBManaUserToken(newToken, mobile, storeId, storeName, xcGameUserId);
                XCCloudManaUserTokenModel tokenModel = new XCCloudManaUserTokenModel(storeId, storeName, mobile, xcGameUserId);
                XCCloudManaUserTokenCache.AddToken(newToken, tokenModel);
            }

            return(newToken);
        }
Beispiel #6
0
        public object getLotteryInfo(Dictionary <string, object> dicParas)
        {
            string gameName = string.Empty;
            string headInfo = string.Empty;
            string barCode  = dicParas.ContainsKey("barCode") ? dicParas["barCode"].ToString() : string.Empty;

            if (string.IsNullOrEmpty(barCode))
            {
                return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "请输入条码编号"));
            }

            XCCloudManaUserTokenModel userTokenModel = (XCCloudManaUserTokenModel)(dicParas[Constant.XCGameManaUserToken]);
            StoreBusiness             store          = new StoreBusiness();
            string          errMsg        = string.Empty;
            StoreCacheModel storeModel    = null;
            StoreBusiness   storeBusiness = new StoreBusiness();

            if (!storeBusiness.IsEffectiveStore(userTokenModel.StoreId, ref storeModel, out errMsg))
            {
                return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, errMsg));
            }

            if (storeModel.StoreDBDeployType == 0)
            {
                XCCloudService.BLL.IBLL.XCGame.IFlwLotteryService lotteryService = BLLContainer.Resolve <XCCloudService.BLL.IBLL.XCGame.IFlwLotteryService>(storeModel.StoreDBName);
                XCCloudService.BLL.IBLL.XCGame.IHeadService       headService    = BLLContainer.Resolve <XCCloudService.BLL.IBLL.XCGame.IHeadService>(storeModel.StoreDBName);
                XCCloudService.BLL.IBLL.XCGame.IGameService       gameService    = BLLContainer.Resolve <XCCloudService.BLL.IBLL.XCGame.IGameService>(storeModel.StoreDBName);

                var lotteryModel = lotteryService.GetModels(p => p.Barcode.Equals(barCode)).FirstOrDefault <flw_lottery>();
                if (lotteryModel == null)
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "彩票信息不存在"));
                }

                if (!string.IsNullOrEmpty(lotteryModel.HeadID))
                {
                    //var headModel = headService.GetModels(p => p.HeadAddress.Equals(lotteryModel.HeadID)).FirstOrDefault<t_head>();
                    headInfo = lotteryModel.HeadID;
                }
                else
                {
                    headInfo = lotteryModel.WorkStation;
                }

                if (!string.IsNullOrEmpty(lotteryModel.GameID))
                {
                    var gameModel = gameService.GetModels(p => p.GameID.Equals(lotteryModel.GameID)).FirstOrDefault <t_game>();
                    if (gameModel != null)
                    {
                        gameName = gameModel.GameName;
                    }
                    else
                    {
                        gameName = string.Empty;
                    }
                }
                else
                {
                    gameName = string.Empty;
                }

                XCCloudService.BLL.IBLL.XCGame.IParametersService parametersService = BLLContainer.Resolve <XCCloudService.BLL.IBLL.XCGame.IParametersService>(storeModel.StoreDBName);
                var paramDateValidityModel = parametersService.GetModels(p => p.System.Equals("rbnBackDateValidity", StringComparison.OrdinalIgnoreCase)).FirstOrDefault <t_parameters>();
                if (paramDateValidityModel == null)
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "返分卡有效期参数未设置,不能兑换"));
                }

                int    state     = Convert.ToInt32(lotteryModel.State);
                string stateName = lotteryModel.State == 1 ? "已兑" : "未兑";
                if (state != 1)
                {
                    DateTime dateTime = Convert.ToDateTime(lotteryModel.PrintTime).AddDays(Convert.ToDouble(paramDateValidityModel.ParameterValue));
                    if (System.DateTime.Now > dateTime)
                    {
                        state     = 2;
                        stateName = "已过期";
                    }
                }

                string printTime = Convert.ToDateTime(lotteryModel.PrintTime).ToString("yyyy-MM-dd HH:mm:ss");
                string realTime  = Convert.ToDateTime(lotteryModel.RealTime).ToString("yyyy-MM-dd HH:mm:ss");

                var obj = new {
                    id       = lotteryModel.id,
                    lottery  = lotteryModel.LotteryCount,                                   //彩票数
                    gameName = gameName,                                                    //游戏机名
                    headInfo = headInfo,                                                    //出票位置
                    state    = stateName,                                                   //小票状态
                    makeTime = printTime.Substring(0, 10) == "0001-01-01" ? "" : printTime, //出票时间
                };

                return(ResponseModelFactory.CreateAnonymousSuccessModel(isSignKeyReturn, obj));
            }
            else if (storeModel.StoreDBDeployType == 1)
            {
                string sn = System.Guid.NewGuid().ToString().Replace("-", "");
                UDPSocketCommonQueryAnswerModel answerModel = null;
                string radarToken = string.Empty;
                //string storeId, string storePassword, string barCode,string icCardId,string mobileName, string phone, string operate, out string errMsg
                if (DataFactory.SendDataLotteryQuery(sn, storeModel.StoreID.ToString(), storeModel.StorePassword, barCode, 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)
                {
                    LotteryQueryResultNotifyRequestModel model = (LotteryQueryResultNotifyRequestModel)(answerModel.Result);
                    //移除应答缓存数据
                    UDPSocketCommonQueryAnswerBusiness.Remove(sn);

                    if (model.Result_Code == "1")
                    {
                        var obj = new
                        {
                            id       = model.Result_Data.Id,
                            lottery  = model.Result_Data.Lottery,  //彩票数
                            gameName = model.Result_Data.GameName, //游戏机名
                            headInfo = model.Result_Data.HeadInfo, //出票位置
                            state    = model.Result_Data.State,    //小票状态
                            makeTime = model.Result_Data.PrintDate //出票时间
                        };

                        return(ResponseModelFactory.CreateAnonymousSuccessModel(isSignKeyReturn, obj));
                    }
                    else
                    {
                        return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, model.Result_Msg));
                    }
                }
                else
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "系统没有响应"));
                }
            }
            else
            {
                return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "门店配置无效"));
            }
        }
Beispiel #7
0
        public object exchangeLottery(Dictionary <string, object> dicParas)
        {
            XCCloudManaUserTokenModel userTokenModel = (XCCloudManaUserTokenModel)(dicParas[Constant.XCGameManaUserToken]);
            string barCode    = dicParas.ContainsKey("barCode") ? dicParas["barCode"].ToString() : string.Empty;
            string icCardId   = dicParas.ContainsKey("icCardId") ? dicParas["icCardId"].ToString() : string.Empty;
            string mobileName = dicParas.ContainsKey("mobileName") ? dicParas["mobileName"].ToString() : string.Empty;

            if (string.IsNullOrEmpty(barCode))
            {
                return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "请输入条码编号"));
            }

            StoreBusiness   store         = new StoreBusiness();
            string          errMsg        = string.Empty;
            StoreCacheModel storeModel    = null;
            StoreBusiness   storeBusiness = new StoreBusiness();

            if (!storeBusiness.IsEffectiveStore(userTokenModel.StoreId, ref storeModel, out errMsg))
            {
                return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, errMsg));
            }

            if (storeModel.StoreDBDeployType == 0)
            {
                XCCloudService.BLL.IBLL.XCGame.IFlwLotteryService lotteryService  = BLLContainer.Resolve <XCCloudService.BLL.IBLL.XCGame.IFlwLotteryService>(storeModel.StoreDBName);
                XCCloudService.BLL.IBLL.XCGame.IMemberService     memberService   = BLLContainer.Resolve <XCCloudService.BLL.IBLL.XCGame.IMemberService>(storeModel.StoreDBName);
                XCCloudService.BLL.IBLL.XCGame.IScheduleService   scheduleService = BLLContainer.Resolve <XCCloudService.BLL.IBLL.XCGame.IScheduleService>(storeModel.StoreDBName);

                System.DateTime startTime = System.DateTime.Parse(System.DateTime.Now.ToString("yyyy-MM-dd") + " 00:00:00");
                System.DateTime endTime   = System.DateTime.Parse(System.DateTime.Now.ToString("yyyy-MM-dd") + " 23:59:59");

                var lotteryModel  = lotteryService.GetModels(p => p.Barcode.Equals(barCode)).FirstOrDefault <flw_lottery>();
                var memberModel   = memberService.GetModels(p => p.ICCardID.ToString().Equals(icCardId)).FirstOrDefault <t_member>();
                var scheduleModel = scheduleService.GetModels(p => (p.OpenTime >= startTime && p.OpenTime <= endTime && p.UserID == userTokenModel.XCGameUserId && p.State.Equals("0"))).FirstOrDefault <flw_schedule>();

                if (scheduleModel == null)
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "用户班次信息不存在"));
                }

                if (lotteryModel == null)
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "彩票信息不存在"));
                }

                if (lotteryModel.State == 1)
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "当前彩票已使用"));
                }

                if (memberModel == null)
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "会员信息不存在"));
                }

                XCCloudService.BLL.IBLL.XCGame.IParametersService parametersService = BLLContainer.Resolve <XCCloudService.BLL.IBLL.XCGame.IParametersService>(storeModel.StoreDBName);
                var paramDateValidityModel = parametersService.GetModels(p => p.System.Equals("rbnBackDateValidity", StringComparison.OrdinalIgnoreCase)).FirstOrDefault <t_parameters>();
                if (paramDateValidityModel == null)
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "返分卡有效期参数未设置,不能兑换"));
                }

                DateTime dateTime = Convert.ToDateTime(lotteryModel.PrintTime).AddDays(Convert.ToInt32(paramDateValidityModel.ParameterValue));
                if (System.DateTime.Now > dateTime)
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "已过期,不能兑换"));
                }

                using (TransactionScope ts = new TransactionScope())
                {
                    try
                    {
                        lotteryModel.State       = 1;
                        lotteryModel.RealTime    = System.DateTime.Now;
                        lotteryModel.ICCardID    = int.Parse(icCardId);
                        lotteryModel.UserID      = userTokenModel.XCGameUserId;
                        lotteryModel.ScheduleID  = scheduleModel.ID;
                        lotteryModel.WorkStation = userTokenModel.Mobile;

                        memberModel.Lottery = Convert.ToInt32(memberModel.Lottery) + lotteryModel.LotteryCount;
                        memberModel.ModTime = System.DateTime.Now;

                        lotteryService.Update(lotteryModel);
                        memberService.Update(memberModel);
                        ts.Complete();

                        return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.T, ""));
                    }
                    catch (Exception e)
                    {
                        throw e;
                    }
                }
            }
            else if (storeModel.StoreDBDeployType == 1)
            {
                string sn = System.Guid.NewGuid().ToString().Replace("-", "");
                UDPSocketCommonQueryAnswerModel answerModel = null;
                string radarToken = string.Empty;
                //发送彩票操作
                if (DataFactory.SendDataLotteryOperate(sn, storeModel.StoreID.ToString(), storeModel.StorePassword, barCode, icCardId, "0", mobileName, userTokenModel.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)
                {
                    LotteryOperateResultNotifyRequestModel model = (LotteryOperateResultNotifyRequestModel)(answerModel.Result);
                    //移除应答缓存数据
                    UDPSocketCommonQueryAnswerBusiness.Remove(sn);

                    if (model.Result_Code == "1")
                    {
                        return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.T, ""));
                    }
                    else
                    {
                        return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, model.Result_Msg));
                    }
                }
                else
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "系统没有响应"));
                }
            }
            else
            {
                return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.F, "", Result_Code.T, "门店配置无效"));
            }
        }
Beispiel #8
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);
            }
        }
Beispiel #9
0
        public object getCustomCardInfo(Dictionary <string, object> dicParas)
        {
            string          errMsg     = string.Empty;
            StoreCacheModel storeModel = null;

            System.Data.DataSet ds = null;

            //获取token模式
            XCCloudManaUserTokenModel userTokenModel = (XCCloudManaUserTokenModel)(dicParas[Constant.XCGameManaUserToken]);
            //验证门店
            StoreBusiness storeBusiness = new StoreBusiness();

            if (!storeBusiness.IsEffectiveStore(userTokenModel.StoreId, ref storeModel, out errMsg))
            {
                return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, errMsg));
            }

            if (storeModel.StoreDBDeployType == 0)
            {
                string sql = @" select ICCardID,MemberName,Gender,convert(char(10),Birthday,120) as Birthday,CertificalID,Mobile,Balance,Point,a.Deposit,MemberState,Lottery,Note,convert(char(10),EndDate,120) as EndDate,MemberLevelName from t_member a left join t_memberlevel b on a.MemberLevelID = b.MemberLevelID 
                                where MemberLevelName = '黄牛卡' or  MemberLevelName = '收分卡' ";

                //如果是门店模式
                ds = XCGameBLL.ExecuteQuerySentence(sql, storeModel.StoreDBName, null);
                List <CattleMemberCardDetailModel> list = new List <CattleMemberCardDetailModel>();
                if (ds != null && ds.Tables.Count >= 1)
                {
                    for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
                    {
                        CattleMemberCardDetailModel cattleMemberCardDetailModel = Utils.GetModelList <CattleMemberCardDetailModel>(ds.Tables[0])[i];
                        cattleMemberCardDetailModel.MemberState = MemberBusiness.GetMemberStateName(cattleMemberCardDetailModel.MemberState);
                        list.Add(cattleMemberCardDetailModel);
                    }
                    CattleMemberCardModel cardModel = new CattleMemberCardModel(storeModel.StoreID.ToString(), storeModel.StoreName, list);
                    return(ResponseModelFactory <CattleMemberCardModel> .CreateModel(isSignKeyReturn, cardModel));
                }
                else
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, ""));
                }
            }
            else if (storeModel.StoreDBDeployType == 1)
            {
                string sn = System.Guid.NewGuid().ToString().Replace("-", "");
                UDPSocketCommonQueryAnswerModel answerModel = null;
                string radarToken = string.Empty;
                if (DataFactory.SendDataCattleMemberCardQuery(sn, storeModel.StoreID.ToString(), storeModel.StorePassword, "0", out radarToken, out errMsg))
                {
                }
                else
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, errMsg));
                }

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

                if (answerModel != null)
                {
                    CattleMemberCardQueryResultNotifyRequestModel model1 = (CattleMemberCardQueryResultNotifyRequestModel)(answerModel.Result);
                    //移除应答缓存数据
                    UDPSocketCommonQueryAnswerBusiness.Remove(sn);

                    if (model1.Result_Code == "1")
                    {
                        List <CattleMemberCardDetailModel> list = new List <CattleMemberCardDetailModel>();
                        for (int i = 0; i < model1.Result_Data.Count; i++)
                        {
                            CattleMemberCardDetailModel detailModel = new CattleMemberCardDetailModel();
                            detailModel.ICCardID    = int.Parse(model1.Result_Data[i].ICCardId);
                            detailModel.MemberName  = model1.Result_Data[i].Name;
                            detailModel.MemberState = model1.Result_Data[i].MemberState;
                            detailModel.Mobile      = model1.Result_Data[i].Phone;
                            list.Add(detailModel);
                        }
                        CattleMemberCardModel cardModel = new CattleMemberCardModel(storeModel.StoreID.ToString(), storeModel.StoreName, list);
                        return(ResponseModelFactory <CattleMemberCardModel> .CreateModel(isSignKeyReturn, cardModel));
                    }
                    else
                    {
                        return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "查询数据出错"));
                    }
                }
                else
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "查询数据出错"));
                }
            }
            else
            {
                return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "查询数据出错"));
            }
        }
Beispiel #10
0
        public object getInfo2(Dictionary <string, object> dicParas)
        {
            try
            {
                string              errMsg     = string.Empty;
                StoreCacheModel     storeModel = null;
                System.Data.DataSet ds         = null;

                //获取token模式
                XCCloudManaUserTokenModel userTokenModel = (XCCloudManaUserTokenModel)(dicParas[Constant.XCGameManaUserToken]);
                string icCardId = dicParas.ContainsKey("icCardId") ? dicParas["icCardId"].ToString() : string.Empty;

                //验证门店
                StoreBusiness storeBusiness = new StoreBusiness();
                if (!storeBusiness.IsEffectiveStore(userTokenModel.StoreId, ref storeModel, out errMsg))
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, errMsg));
                }

                if (storeModel.StoreDBDeployType == 0)
                {
                    //如果是门店模式
                    string         sql        = " exec GetMember @Mobile,@ICCardID";
                    SqlParameter[] parameters = new SqlParameter[2];
                    parameters[0] = new SqlParameter("@Mobile", "");
                    parameters[1] = new SqlParameter("@ICCardID", icCardId);
                    ds            = XCGameBLL.ExecuteQuerySentence(sql, storeModel.StoreDBName, parameters);
                    if (ds != null && ds.Tables.Count >= 1)
                    {
                        RegisterMemberResponseModel registerMemberResponseModel = Utils.GetModelList <RegisterMemberResponseModel>(ds.Tables[0])[0];
                        registerMemberResponseModel.StoreId     = storeModel.StoreID.ToString();
                        registerMemberResponseModel.StoreName   = storeModel.StoreName;
                        registerMemberResponseModel.MemberState = MemberBusiness.GetMemberStateName(registerMemberResponseModel.MemberState);
                        return(ResponseModelFactory <RegisterMemberResponseModel> .CreateModel(isSignKeyReturn, registerMemberResponseModel));
                    }
                    else
                    {
                        return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, ""));
                    }
                }
                else if (storeModel.StoreDBDeployType == 1)
                {
                    string sn = System.Guid.NewGuid().ToString().Replace("-", "");
                    UDPSocketCommonQueryAnswerModel answerModel = null;
                    string radarToken = string.Empty;
                    if (DataFactory.SendDataMemberQuery(sn, storeModel.StoreID.ToString(), storeModel.StorePassword, icCardId, out radarToken, out errMsg))
                    {
                    }
                    else
                    {
                        return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, errMsg));
                    }

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

                    if (answerModel != null)
                    {
                        MemberQueryResultNotifyRequestModel model = (MemberQueryResultNotifyRequestModel)(answerModel.Result);
                        //移除应答缓存数据
                        UDPSocketCommonQueryAnswerBusiness.Remove(sn);

                        if (model.Result_Code == "1")
                        {
                            RegisterMemberResponseModel registerMemberResponseModel = new RegisterMemberResponseModel();
                            registerMemberResponseModel.ICCardID        = int.Parse(model.Result_Data.ICCardID);
                            registerMemberResponseModel.MemberName      = model.Result_Data.MemberName;
                            registerMemberResponseModel.Gender          = model.Result_Data.Gender;
                            registerMemberResponseModel.Birthday        = model.Result_Data.Birthday;
                            registerMemberResponseModel.CertificalID    = model.Result_Data.CertificalID;
                            registerMemberResponseModel.Mobile          = model.Result_Data.Mobile;
                            registerMemberResponseModel.Balance         = Convert.ToInt32(model.Result_Data.Balance);
                            registerMemberResponseModel.Point           = Convert.ToInt32(model.Result_Data.Point);
                            registerMemberResponseModel.Deposit         = model.Result_Data.Deposit;
                            registerMemberResponseModel.MemberState     = model.Result_Data.MemberState;
                            registerMemberResponseModel.Lottery         = Convert.ToInt32(model.Result_Data.Lottery);
                            registerMemberResponseModel.Note            = model.Result_Data.Note;
                            registerMemberResponseModel.EndDate         = model.Result_Data.EndDate;
                            registerMemberResponseModel.MemberLevelName = model.Result_Data.MemberLevelName;
                            registerMemberResponseModel.StoreId         = storeModel.StoreID.ToString();
                            registerMemberResponseModel.StoreName       = storeModel.StoreName;
                            registerMemberResponseModel.MemberState     = MemberBusiness.GetMemberStateName(registerMemberResponseModel.MemberState);
                            return(ResponseModelFactory <RegisterMemberResponseModel> .CreateModel(isSignKeyReturn, registerMemberResponseModel));
                        }
                        else
                        {
                            return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "查询数据出错"));
                        }
                    }
                    else
                    {
                        return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "查询数据出错"));
                    }
                }
                else
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "门店设置错误"));
                }
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Beispiel #11
0
        public object transICCardCoins(Dictionary <string, object> dicParas)
        {
            XCCloudManaUserTokenModel userTokenModel = (XCCloudManaUserTokenModel)(dicParas[Constant.XCGameManaUserToken]);

            string cardIdOut         = dicParas.ContainsKey("cardIdOut") ? dicParas["cardIdOut"].ToString() : string.Empty;
            string cardIdOutPassword = dicParas.ContainsKey("cardIdOutPassword") ? dicParas["cardIdOutPassword"].ToString() : string.Empty;
            string cardIdIn          = dicParas.ContainsKey("cardIdIn") ? dicParas["cardIdIn"].ToString() : string.Empty;
            string coins             = dicParas.ContainsKey("coins") ? dicParas["coins"].ToString() : string.Empty;
            string mobileName        = dicParas.ContainsKey("mobileName") ? dicParas["mobileName"].ToString() : string.Empty;

            StoreBusiness   store         = new StoreBusiness();
            string          errMsg        = string.Empty;
            StoreCacheModel storeModel    = null;
            StoreBusiness   storeBusiness = new StoreBusiness();

            if (!storeBusiness.IsEffectiveStore(userTokenModel.StoreId, ref storeModel, out errMsg))
            {
                return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, errMsg));
            }

            if (storeModel.StoreDBDeployType == 0)
            {
                string         storeProc  = "TransICCardCoins";
                SqlParameter[] parameters = new SqlParameter[8];
                parameters[0]           = new SqlParameter("@CardIdOut", cardIdOut);
                parameters[1]           = new SqlParameter("@CardIdOutPassword", cardIdOutPassword);
                parameters[2]           = new SqlParameter("@CardIdIn", cardIdIn);
                parameters[3]           = new SqlParameter("@Coins", coins);
                parameters[4]           = new SqlParameter("@UserId", userTokenModel.XCGameUserId);
                parameters[5]           = new SqlParameter("@Mobile", userTokenModel.Mobile);
                parameters[6]           = new SqlParameter("@ErrMsg", System.Data.SqlDbType.VarChar, 200);
                parameters[6].Direction = System.Data.ParameterDirection.Output;
                parameters[7]           = new SqlParameter("@Return", 0);
                parameters[7].Direction = System.Data.ParameterDirection.ReturnValue;

                XCGameBLL.ExecuteStoredProcedureSentence(storeProc, storeModel.StoreDBName, parameters);
                if (Convert.ToInt32(parameters[7].Value) == 1)
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.T, ""));
                }
                else
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, parameters[6].Value.ToString()));
                }
            }
            else if (storeModel.StoreDBDeployType == 1)
            {
                string sn = System.Guid.NewGuid().ToString().Replace("-", "");
                UDPSocketCommonQueryAnswerModel answerModel = null;
                string radarToken = string.Empty;
                if (DataFactory.SendMemberTransOperate(sn, storeModel.StoreID.ToString(), storeModel.StorePassword, mobileName, userTokenModel.Mobile, cardIdIn, cardIdOut, int.Parse(coins), 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)
                {
                    MemberTransOperateResultNotifyRequestModel model = (MemberTransOperateResultNotifyRequestModel)(answerModel.Result);
                    //移除应答缓存数据
                    UDPSocketCommonQueryAnswerBusiness.Remove(sn);

                    if (model.Result_Code == "1")
                    {
                        return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.T, ""));
                    }
                    else
                    {
                        return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, model.Result_Msg));
                    }
                }
                else
                {
                    return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "系统没有响应"));
                }
            }
            else
            {
                return(ResponseModelFactory.CreateModel(isSignKeyReturn, Return_Code.T, "", Result_Code.F, "门店设置错误"));
            }
        }