public Response Execute(User currentUser, string request) { var req = JsonConvert.DeserializeObject <Request <Game> >(request); var cmd = CommandHelper.CreateProcedure <Game>(text: "sp_GetGame"); cmd.Params.Add(CommandHelper.CreateParam("@userId", currentUser.Id)); cmd.Params.Add(CommandHelper.CreateParam("@gameId", req.Filter.Id)); var result = DbContext.GetInstance().Execute(cmd); if (result.Entities.IsNotNullOrEmpty()) { var game = result.FirstEntity <Game>(); SetHeadAndFiles(game); GameHelper.SetGameTeamList(game); game.SocketIpAndPort = UserHelper.GetConfig().IntranetSocketIpAndPort;//返回局域网内的地址 game.IsInLive = LiveHelper.Instance.IsInLive(game.Id); game.IsAudit = game.AuditId == null || !game.AuditId.Contains(currentUser.Id) ? false : true; game.IsManage = game.ManageId == null || !game.ManageId.Contains(currentUser.Id) ? false : true; game.AuditName = UserHelper.GetMultiUserName(game.AuditId); //返回名称 game.ManageName = UserHelper.GetMultiUserName(game.ManageId); game.WinGameArr = new int[] { 2, 3, 4 }; //小局胜局数 } return(result); }
public Response Execute(string request) { Response response = ResultHelper.CreateResponse(); response.Tag = UserHelper.GetConfig().IntranetSocketIpAndPort;//局域网SOCKET地址 return(response); }
public Response Execute(string request) { Response response = ResultHelper.CreateResponse(); response.Tag = UserHelper.GetConfig().SocketIpAndPort;//云SOCKET地址,目前只供直播比分显示使用 return(response); }
public Response Execute(User currentUser, string request) { var req = JsonConvert.DeserializeObject <Request <GetCoachRelatedFilter> >(request); var sql = @" SELECT * FROM dbo.CoachPrice WHERE CityCode=@CityId "; var cmd = CommandHelper.CreateText <CoachPrice>(FetchType.Fetch, sql); cmd.Params.Add("@CityId", req.Filter.CityId); var result = DbContext.GetInstance().Execute(cmd); var obj = result.FirstEntity <CoachPrice>(); if (obj != null) { if (obj.IsEnabled == false) { result.IsSuccess = false; return(ResultHelper.Fail(ErrorCode.CITY_NOPRICE_COACH, "此城市暂无价格, 不能购买")); } obj.BigCourseValidDate = UserHelper.GetConfig().BigCourseValidDays / 30; obj.CityCode = obj.CityCode.Trim(); } else { return(ResultHelper.Fail(ErrorCode.CITY_NOPRICE_COACH, "此城市暂无价格, 不能购买")); } return(result); }
public static Response Execute(string request) { var req = JsonConvert.DeserializeObject <Request <GetCoachRelatedFilter> >(request); Response rsp = ResultHelper.CreateResponse(); rsp.Tag = UserHelper.GetConfig().IntranetSocketIpAndPort; return(rsp); }
public Response Execute(User currentUser, string request) { Response response = ResultHelper.CreateResponse(); response.IsSuccess = true; response.Tag = UserHelper.GetConfig().YueDouConvertibleProportion; return(response); }
public static Response Execute(string request) { Response rsp = ResultHelper.CreateResponse(); rsp.Tag = "http://" + UserHelper.GetConfig().IntranetHttpIpAndPort; rsp.Tag1 = UserHelper.GetConfig().IntranetSocketIpAndPort; return(rsp); }
/// <summary> /// 获取有效期 /// </summary> /// <param name="CourseTypeId"></param> /// <param name="times">倍数(数据库配置1个单位课程的有效期,购买N个单位,即为此有效期的N倍)</param> /// <returns></returns> public static DateTime GetDeadline(string CourseTypeId, int times) { if (CourseTypeId == Model.CoachDic.BigCourse) { var validDays = UserHelper.GetConfig().BigCourseValidDays; return(DateTime.Now.AddDays(validDays * times)); } else { return(DateTime.MaxValue); } }
/// <summary> /// 增减庄家的悦豆 /// 业务逻辑: /// 如果输的一方全部陪给赢的一方, 钱还不够, 就从庄家哪里扣. /// 如果输的一方赔完了,输的那方还有剩, 就把这剩的钱给庄家. /// </summary> /// <param name="guess"></param> /// <param name="totalYuedou"></param> /// <param name="bingoTotalYueDou"></param> /// <param name="declarerDeposit">庄家的钱</param> /// <returns></returns> public Response AddOrSubDeclarerYueDou(Guess guess, int totalYuedou , int bingoTotalYueDou, int declarerDeposit, string betType) { Response rsp = ResultHelper.CreateResponse(); //悦豆账单实体 var yueDouFlow = new YueDouFlow(); yueDouFlow.UserId = guess.CreatorId; yueDouFlow.FlowType = GuessDic.GuessEarn; yueDouFlow.GameId = guess.GuessVSDetail.GameId; yueDouFlow.GuessId = guess.Id; yueDouFlow.GuessBetType = betType; var defeatTotal = totalYuedou - bingoTotalYueDou; //输方总悦豆 var differenceValue = defeatTotal - guess.NeedPayToBingoTotalYueDou; //用输方的钱来支付, 看是余还是差 if (differenceValue == 0) //刚好够,庄家的钱不扣, 本金原路返回到他的账户 { //返还悦豆 rsp = GuessHelper.Instance.AddOrSubYueDou(declarerDeposit, guess.CreatorId); //记录账单 yueDouFlow.Amount = declarerDeposit; rsp = GuessHelper.Instance.AddYueDouFlow(yueDouFlow); } else if (differenceValue > 0)//有余, 就将余下的钱返给庄家(含本金), 返前扣除手续费 { //返还悦豆 var serviceCharge = differenceValue * (UserHelper.GetConfig().GuessServiceCharge / 100);//手续费 var earnValueDecimal = differenceValue - serviceCharge; var earnYueDou = Convert.ToInt32(earnValueDecimal); var amount = declarerDeposit + earnYueDou;//本金+赚得的 rsp = GuessHelper.Instance.AddOrSubYueDou(amount, guess.CreatorId); //记录账单 yueDouFlow.Amount = amount; yueDouFlow.ServiceCharge = serviceCharge; rsp = GuessHelper.Instance.AddYueDouFlow(yueDouFlow); } else if (differenceValue < 0)//不够,就从庄家押金里面扣, 将剩余的再返给庄家账户 { var restOfValueDecimal = declarerDeposit + differenceValue; if (restOfValueDecimal > 0) { var restOfValue = Convert.ToInt32(restOfValueDecimal); rsp = GuessHelper.Instance.AddOrSubYueDou(restOfValue, guess.CreatorId); //记录账单 yueDouFlow.Amount = restOfValue; rsp = GuessHelper.Instance.AddYueDouFlow(yueDouFlow); } } SystemHelper.CheckResponseIfError(rsp); return(rsp); }
public Response Execute(User currentUser, string request) { var req = JsonConvert.DeserializeObject <Request <Game> >(request); var obj = req.FirstEntity(); var sql = @" UPDATE dbo.Game SET IsEnableTV=@IsEnableTV WHERE Id=@Id "; var cmd = CommandHelper.CreateText <ClubUser>(FetchType.Execute, sql); cmd.Params.Add("@IsEnableTV", obj.IsEnableTV); cmd.Params.Add("@Id", obj.Id); var result = DbContext.GetInstance().Execute(cmd); result.Tag = UserHelper.GetConfig().SocketIpAndPort; return(result); }
/// <summary> /// 用户登录(done) /// </summary> public Response Execute(string request) { var req = JsonConvert.DeserializeObject <Request <User> >(request); var temp = req.Filter; ////移动内部测试版本,PC版本跳过版本验证 //if (!req.IsInnerTest && temp.DeviceType != DeviceType.PC) //{ // if (temp.DeviceVersion.IsNullOrEmpty()) // { // return ResultHelper.Fail("没有附加版本号。"); // } // else if (SystemHelper.HasNewVersion(temp.DeviceType, temp.DeviceVersion)) // { // return ResultHelper.Fail(ErrorCode.NEW_VERSION, "发现新版本,请更新。"); // } //} //登录验证 var user = CacheUserBuilder.Instance.Login(temp.Code, temp.Password, temp.DeviceType); if (user != null) { user.UserLimit = UserHelper.GetUserLimit(user.Id); user.Config = UserHelper.GetConfig(); user.userId = user.Id; user.LoginType = SystemDic.YDL_LOGIN; user.LimitList = GetLimitByUser_196.GetLimitList(user.Id); //获取IM TOKEN IMToken token = new IMToken(); token.UserSig = IMUserSig.GetUserSig(user.Code); token.Sdkappid = IMRequest.sdkappid; token.AccountType = IMRequest.AccountType; token.Identifier = user.Code; user.ImToken = token; } Response result = ResultHelper.Success(new List <EntityBase> { user }); return(result); }
public Response Execute(string request) { var req = JsonConvert.DeserializeObject <Request <Game> >(request); var cmd = CommandHelper.CreateProcedure <Game>(text: "sp_GetGame"); cmd.Params.Add(CommandHelper.CreateParam("@userId", "tourist")); cmd.Params.Add(CommandHelper.CreateParam("@gameId", req.Filter.Id)); var result = DbContext.GetInstance().Execute(cmd); if (result.Entities.IsNotNullOrEmpty()) { var game = result.FirstEntity <Game>(); GetGame.SetHeadAndFiles(game); GameHelper.SetGameTeamList(game); game.SocketIpAndPort = UserHelper.GetConfig().IntranetSocketIpAndPort;//返回局域网内的地址 } return(result); }
public Response GetVenuePayInfo(Request <GetVipRelatedFilter> req, VipPayInfo obj, User currentUser) { Response rsp = new Response(); //获取 Name, HeadUrl var sql = @" SELECT HeadUrl,Name FROM dbo.Venue WHERE Id=@Id "; var cmd = CommandHelper.CreateText <Venue>(FetchType.Fetch, sql); cmd.Params.Add("@Id", req.Filter.MasterId); rsp = DbContext.GetInstance().Execute(cmd); if (rsp.Entities.Count > 0) { obj.HeadUrl = rsp.FirstEntity <Venue>().HeadUrl; obj.Name = rsp.FirstEntity <Venue>().Name; } //获取我的余额 var myBalance = VipHelper.GetVipAccount(currentUser.Id).FirstEntity <VipAccount>(); if (myBalance != null) { obj.MyBalance = myBalance.Balance; } //折扣信息 obj.Discount = 1; //支付状态 if (req.Filter.PayType == "Use") { obj.PayState = GetVipUsePayState(req.Filter.PayId, req.Filter.PayType); } else { obj.PayState = GetVipBuyPayState(req.Filter.PayId, req.Filter.PayType); } obj.VipRechargeScaleList = VipHelper.GetVipRechargeScaleList().Entities.ToList <EntityBase, VipRechargeScale>(); obj.YueDouBalance = PayHelper.Instance.GetYueDouBalance(currentUser.Id); obj.ConvertibleProportion = UserHelper.GetConfig().YueDouConvertibleProportion; return(rsp); }
public static void SendRefreshCacheMsg() { //设定服务器IP地址 string[] ipPort = UserHelper.GetConfig().IntranetSocketIpAndPort.Split(new char[] { ':' }); string ipStr = ipPort[0]; string port = ipPort[1]; IPAddress ip = IPAddress.Parse(ipStr); Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); try { clientSocket.Connect(new IPEndPoint(ip, Convert.ToInt32(port))); //配置服务器IP与端口 Console.WriteLine("连接服务器成功"); } catch { Console.WriteLine("连接服务器失败,请按回车键退出!"); return; } //通过 clientSocket 发送数据 try { SocketMessage msgObj = new SocketMessage(); msgObj.ServerAction = "RefreshTVConfigCache"; string msg = JsonConvert.SerializeObject(msgObj); clientSocket.Send(Encoding.UTF8.GetBytes(msg)); Console.WriteLine("向服务器发送消息:{0}" + msg); } catch { clientSocket.Shutdown(SocketShutdown.Both); clientSocket.Close(); } Console.WriteLine("发送完毕,按回车键退出"); }
/// <summary> /// 返悦豆给用户 /// </summary> /// <param name="bingoBetList"></param> /// <param name="guess"></param> /// <param name="odds">赔率</param> /// <returns></returns> public Response BackYueDouToUser(List <GuessBet> bingoBetList, Guess guess, decimal odds) { Response rsp = ResultHelper.CreateResponse(); int NeedPayToBingoTotalYueDou = 0; foreach (var item in bingoBetList) { var earnYueDou = item.Amount * (odds - 1); //赚得的悦豆 var serviceChargeDecimal = earnYueDou * (UserHelper.GetConfig().GuessServiceCharge / 100); //手续费 int serviceCharge = Convert.ToInt32(serviceChargeDecimal); //舍弃小数位,少收点手续费 decimal finalEarn = earnYueDou - serviceCharge; //最后赚的 var returnYuedouTotalDecimal = item.Amount + finalEarn; //返回的总悦豆=本金+最后赚得 int returnYuedouTotal = Convert.ToInt32(returnYuedouTotalDecimal); //返回的总悦豆,舍弃小数位 //返还悦豆给此用户 rsp = GuessHelper.Instance.AddOrSubYueDou(returnYuedouTotal, item.UserId); SystemHelper.CheckResponseIfError(rsp); //保存此用户的悦豆账单(含手续费数据) var yueDouFlow = new YueDouFlow(); yueDouFlow.Amount = returnYuedouTotal;//返回的总悦豆-本金=赚的 yueDouFlow.UserId = item.UserId; yueDouFlow.FlowType = GuessDic.GuessEarn; yueDouFlow.ServiceCharge = serviceCharge; yueDouFlow.GameId = guess.GuessVSDetail.GameId; yueDouFlow.GuessId = guess.Id; rsp = GuessHelper.Instance.AddYueDouFlow(yueDouFlow); SystemHelper.CheckResponseIfError(rsp); //累计需要支付的总悦豆 NeedPayToBingoTotalYueDou += Convert.ToInt32(earnYueDou); } rsp.IsSuccess = true; guess.NeedPayToBingoTotalYueDou = NeedPayToBingoTotalYueDou; return(rsp); }