Exemplo n.º 1
0
        static void Main(string[] args)
        {
            //HnztcTeamClient teamClient = new HnztcTeamClient();

            #region 知识竞猜测试

            //string sGetQuestionList = teamClient.GetQuestionList("Manager");
            //string sGetQXCLotteryInfo = teamClient.GetQXCLotteryInfo("Manager");

            //继续添加你要测试的回调方法
            //string sGetTopicList = teamClient.GetTopicInfo("D3F0FE03-3507-4033-9D5A-1A8732CEB86E");

            #endregion

            #region 彩票

            #endregion

            #region 摇奖

            //string sIsExistErnieLatest = teamClient.IsExistErnieLatest();

            #endregion

            #region 用户信息

            Console.WriteLine("用户基本信息相关接口------------------------------------------");

            /*
             *
             * //头像上传接口
             * string filePath = @"D:\2.jpg";
             * string fileName = Path.GetFileName(filePath);
             * string imgBase64 = "";
             * using (var fs = new System.IO.FileStream(filePath, System.IO.FileMode.Open, System.IO.FileAccess.Read))
             * {
             *  var buffer = new byte[fs.Length];
             *  fs.Read(buffer, 0, (int)fs.Length);
             *  imgBase64 = Convert.ToBase64String(buffer);
             * }
             *
             * //imgBase64 = @"";
             *
             * var sUpdateHeadPicture = teamClient.UpdateHeadPicture("13647544790", imgBase64, fileName);
             *
             * //修改昵称
             * //var sUpdateUserBaseModel = teamClient.UpdateUserBaseModel("13647544790", "陈老大");
             *
             */

            Console.WriteLine("用户基本信息相关接口------------------------------------------");

            #endregion

            #region 安全服务

            /*
             *
             * WebSecurityClient wsClient = new WebSecurityClient();
             * string sGetRandomNumber = wsClient.GetRandomNumber();
             *
             */

            #endregion

            #region 消息队列服务

            UserBaseQueueClient ubQueueClient = new UserBaseQueueClient();
            //金币、元宝、颜色、等级
            TygaSoft.Services.HnztcQueueService.UserLevelInfo userLevelInfo = new TygaSoft.Services.HnztcQueueService.UserLevelInfo();
            userLevelInfo.UserId        = Guid.Parse("60286733-AC08-4C0D-B800-B53E1A7DF01A");
            userLevelInfo.IsReduce      = false;
            userLevelInfo.TotalGold     = 4;
            userLevelInfo.TotalSilver   = 5;
            userLevelInfo.TotalIntegral = 2;
            ubQueueClient.SaveUserLevel(userLevelInfo);

            #endregion
        }
Exemplo n.º 2
0
 public void SaveUserLevel(TygaSoft.Services.HnztcQueueService.UserLevelInfo userLevelInfo)
 {
     base.Channel.SaveUserLevel(userLevelInfo);
 }
Exemplo n.º 3
0
        private void GetBetResult(HttpContext context)
        {
            var list = ErnieDataProxy.GetLatest();

            if (list == null || list.Count == 0)
            {
                int index = 0;
                while (true)
                {
                    Thread.Sleep(5000);
                    list = ErnieDataProxy.GetLatest();
                    if (list.Count > 0)
                    {
                        break;
                    }
                    index++;
                    if (index > 5)
                    {
                        break;
                    }
                }
            }
            if (list != null && list.Count > 0)
            {
                var ernieModel = list[0];
                if (!((DateTime.Now >= ernieModel.StartTime) && (DateTime.Now <= ernieModel.EndTime)))
                {
                    context.Response.Write("{\"success\": true,\"message\": \"\",\"gold\": \"0\",\"silver\": \"0\",\"times\": \"0\"}");
                    return;
                }

                var userId = WebCommon.GetUserId();
                if (userId.Equals(Guid.Empty))
                {
                    context.Response.Write("{\"success\": false,\"message\": \"请先登录\",\"gold\": \"0\",\"silver\": \"0\",\"times\": \"0\"}");
                    return;
                }

                UserErnie ueBll = new UserErnie();
                Dictionary <string, string> dic = new Dictionary <string, string>();

                var listT = list.ToList();
                var g     = listT.GroupBy(m => m.NumType);
                foreach (var gk in g)
                {
                    var keyList = listT.FindAll(m => m.NumType == gk.Key);
                    var ga      = keyList.GroupBy(m => m.AppearRatio);

                    GLBfb[] arrGLBfb = new GLBfb[ga.Count()];
                    int     i        = 0;
                    foreach (var gak in ga)
                    {
                        arrGLBfb[i]     = new GLBfb();
                        arrGLBfb[i].Bfb = (int)(gak.Key * 100);
                        var currList = keyList.FindAll(m => m.AppearRatio == gak.Key);
                        foreach (var model in currList)
                        {
                            var numArr = model.Num.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
                            foreach (var num in numArr)
                            {
                                arrGLBfb[i].SjsList.Add(num);
                            }
                        }
                        i++;
                    }

                    RandomForWeight rdfw = new RandomForWeight(arrGLBfb);

                    dic.Add(gk.Key, rdfw.GetGLNumber());
                }

                string gold   = "0";
                string silver = "0";
                string times  = "0";
                foreach (KeyValuePair <string, string> kvp in dic)
                {
                    switch (kvp.Key)
                    {
                    case "倍数":
                        times = kvp.Value;
                        break;

                    case "金币":
                        gold = kvp.Value;
                        break;

                    case "元宝":
                        silver = kvp.Value;
                        break;

                    default:
                        break;
                    }
                }

                int remainTimes = 0;
                using (TransactionScope scope = new TransactionScope())
                {
                    var totalBetCount = ueBll.GetTotalBetCount(userId, ernieModel.ErnieId);
                    remainTimes = ernieModel.UserBetMaxCount - totalBetCount;
                    if (remainTimes < 0)
                    {
                        totalBetCount = 0;
                    }
                    if (remainTimes < 1)
                    {
                        context.Response.Write("{\"success\": false,\"message\": \"摇奖机会还剩 " + 0 + " 次\",\"gold\": \"0\",\"silver\": \"0\",\"times\": \"0\",\"remainTimes\":\"0\"}");
                        return;
                    }

                    UserErnieInfo ueModel = new UserErnieInfo();
                    ueModel.UserId          = userId;
                    ueModel.ErnieId         = ernieModel.ErnieId;
                    ueModel.LastUpdatedDate = DateTime.Now;
                    ueModel.WinGold         = int.Parse(gold) * int.Parse(times);
                    ueModel.WinSilver       = int.Parse(silver) * int.Parse(times);

                    ueBll.Insert(ueModel);

                    UserBaseQueueClient ubqClient = new UserBaseQueueClient();
                    TygaSoft.Services.HnztcQueueService.UserLevelInfo userLevelInfo = new TygaSoft.Services.HnztcQueueService.UserLevelInfo();
                    userLevelInfo.UserId        = userId;
                    userLevelInfo.IsReduce      = false;
                    userLevelInfo.TotalGold     = ueModel.WinGold;
                    userLevelInfo.TotalSilver   = ueModel.WinSilver;
                    userLevelInfo.TotalIntegral = 0;
                    ubqClient.SaveUserLevel(userLevelInfo);

                    scope.Complete();

                    remainTimes = remainTimes - 1;
                }

                context.Response.Write("{\"success\": true,\"message\": \"摇奖机会还剩 " + remainTimes + " 次\",\"gold\": \"" + gold + "\",\"silver\": \"" + silver + "\",\"times\": \"" + times + "\",\"remainTimes\":\"" + remainTimes + "\"}");
            }
            else
            {
                context.Response.Write("{\"success\": true,\"message\": \"\",\"gold\": \"0\",\"silver\": \"0\",\"times\": \"0\"}");
            }
        }