private void AddFirstRechargeGift(string uid, float price) { var commonConfig = NHibernateHelper.commonConfigManager.GetByUid(uid); if (commonConfig == null) { commonConfig = ModelFactory.CreateConfig(uid); } if (commonConfig.first_recharge_gift == 0) { if (price >= 6) { commonConfig.first_recharge_gift = 1; NHibernateHelper.commonConfigManager.Update(commonConfig); SendEmailUtil.SendEmail(uid, "首充礼包", "恭喜你获得首充礼包", "1:30000;107:30;101:6;106:3;110:2"); UserExtend userExtend = MySqlManager <UserExtend> .Instance.GetByUid(uid); if (userExtend?.task2 == 1) { userExtend.task2 = 2; MySqlManager <UserExtend> .Instance.Update(userExtend); } } } }
private bool AddYuanbao(Goods goods, UserInfo userInfo, int num, float price, string orderid) { string[] strings = goods.props.Split(':'); int propId = Convert.ToInt32(strings[0]); int propNum = Convert.ToInt32(strings[1]); if (propId == 2) { userInfo.YuanBao += propNum * num; //之前的vip等级 int vipFirstLevel = VipUtil.GetVipLevel(userInfo.RechargeVip); userInfo.RechargeVip += goods.price * num; //充值之后的vip等级 int vipLevel = VipUtil.GetVipLevel(userInfo.RechargeVip); if (NHibernateHelper.userInfoManager.Update(userInfo)) { //记录玩家财富变化日志 int after = userInfo.YuanBao; int change = propNum * num; StatictisLogUtil.ChangeWealth(userInfo.Uid, userInfo.NickName, MyCommon.YUANBAO, "人民币购买元宝", after - change, change, after); var format = string.Format("花费了{0}元,购买了{1}元宝,订单号:{2}", price, propNum * num, orderid); LogUtil.Log(userInfo.Uid, MyCommon.OpType.BUYYUANBAO, format); var result = vipLevel - vipFirstLevel; //vip等级发生 if (result > 0) { for (int i = vipFirstLevel; i < vipLevel; i++) { var reward = $"1:{MySqlService.VipDatas[i].vipOnce.goldNum};{MySqlService.VipDatas[i].vipOnce.prop}"; //发送vip一次福利 SendEmailUtil.SendEmail(userInfo.Uid, $"贵族一次性福利", $"恭喜您升级到贵族{i + 1}", reward); var temp = string.Format($"恭喜你升级到Vip{i + 1},发送邮件奖励:{reward}"); LogUtil.Log(userInfo.Uid, MyCommon.OpType.VIP_ONCE_REWARD, temp); } var level1 = GetLevel(vipFirstLevel); var level2 = GetLevel(vipLevel); userInfo.freeCount += level2 - level1; MySqlService.log.Info($"{userInfo.Uid} vip等级变化:{result},加了转盘次数:{level2 - level1}"); NHibernateHelper.userInfoManager.Update(userInfo); } return(true); } } return(false); }
/// <summary> /// 发送停服奖励 ,当天的日期 /// </summary> /// <param name="uid"></param> public static void SendStopServerReward(string uid) { DateTime dateTime = DateTime.Now; int dateTimeYear = dateTime.Year; int dateTimeMonth = dateTime.Month; int Day = dateTime.Day; if (dateTimeYear == 2018 && dateTimeMonth == 2 && Day == 11) { SendEmailUtil.SendEmail(uid, "系统维护奖励", "系统维护奖励", "1:666;101:1"); hashSet.Add(uid); } }
public override string OnResponse(string data) { AddEmailReq defaultReq = null; try { defaultReq = JsonConvert.DeserializeObject <AddEmailReq>(data); } catch (Exception e) { MySqlService.log.Warn("传入的参数有误:" + e); return(null); } string _tag = defaultReq.tag; int _connId = defaultReq.connId; string uid = defaultReq.uid; bool isToAll = defaultReq.isToAll; string title = defaultReq.title; string content = defaultReq.content; string reward = defaultReq.reward; JObject _responseData = new JObject(); _responseData.Add(MyCommon.TAG, _tag); _responseData.Add(MyCommon.CONNID, _connId); _responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_OK); if (isToAll) { ICollection <User> collection = MySqlManager <User> .Instance.GetAll(); foreach (var user in collection) { SendEmailUtil.SendEmail(user.Uid, title, content, reward); } } else { SendEmailUtil.SendEmail(uid, title, content, reward); } return(_responseData.ToString()); }
private void UsePropSql(string uid, int propId, JObject responseData) { UserProp userProp = NHibernateHelper.userPropManager.GetUserProp(uid, propId); if (userProp == null || userProp.PropNum <= 0) { MySqlService.log.Warn("没有该道具或者不能使用该道具"); OperatorFail(responseData); } else { userProp.PropNum--; if (NHibernateHelper.userPropManager.Update(userProp)) { UserGame userGame = NHibernateHelper.userGameManager.GetByUid(uid); if (userGame == null) { MySqlService.log.Warn("查找用户游戏数据失败"); OperatorFail(responseData); return; } switch (userProp.PropId) { //魅力值修正卡 case 109: userGame.MeiliZhi = 0; NHibernateHelper.userGameManager.Update(userGame); break; //逃跑率清零卡 case 108: userGame.RunCount = 0; NHibernateHelper.userGameManager.Update(userGame); break; //记牌器 case 101: //加倍卡 case 102: //出牌发光 case 105: userProp.BuffNum++; NHibernateHelper.userPropManager.Update(userProp); break; case 111: case 112: break; case 130: List <JDCard> tenJDCard = MySqlManager <JDCard> .Instance.GetByPorperty("price", "10", "state", "1"); JDCard jDCard = null; foreach (var card in tenJDCard) { if (card.Uid == uid) { jDCard = card; break; } } if (jDCard == null) { OperatorFail(responseData); return; } else { jDCard.state = 2 + ""; MySqlManager <JDCard> .Instance.Update(jDCard); SendEmailUtil.SendEmail(uid, "10元京东卡", $"您的京东卡:\n卡号:{jDCard.card_number} \n卡密:{jDCard.card_secret} \n有效期:{jDCard.valid_time}", ""); } break; case 131: List <JDCard> twentyJDCard = MySqlManager <JDCard> .Instance.GetByPorperty("price", "20", "state", "1"); JDCard jDCard2 = null; foreach (var card in twentyJDCard) { if (card.Uid == uid) { jDCard2 = card; break; } } if (jDCard2 == null) { OperatorFail(responseData); return; } else { jDCard2.state = 2 + ""; MySqlManager <JDCard> .Instance.Update(jDCard2); SendEmailUtil.SendEmail(uid, "20元京东卡", $"您的京东卡:\n卡号:{jDCard2.card_number} \n卡密:{jDCard2.card_secret} \n有效期:{jDCard2.valid_time}", ""); } break; } OperatorSuccess(responseData); } else { MySqlService.log.Warn("使用道具失败"); OperatorFail(responseData); } } }
//登录 数据库操作 private void LoginSQL(User user, int passwordtype, string channeName, string ip, string versionName, JObject responseData) { User loginUser = null; switch (passwordtype) { case 1: loginUser = NHibernateHelper.userManager.VerifyLogin(user.Username, CommonUtil.CheckPsw(user.Userpassword)); MySqlService.log.Info($"用户登陆"); break; //公众号登陆 case 2: loginUser = NHibernateHelper.userManager.VerifySecondLogin(user.Username, CommonUtil.CheckPsw(user.Userpassword)); MySqlService.log.Info($"公众号二级密码登陆"); break; //游戏客户端登陆 case 3: loginUser = NHibernateHelper.userManager.VerifySecondLogin(user.Username, CommonUtil.CheckPsw(user.Userpassword)); MySqlService.log.Info($"客户端二级密码登陆"); break; } if (loginUser != null) { if (passwordtype == 2) { var userConfig = NHibernateHelper.commonConfigManager.GetByUid(loginUser.Uid); if (userConfig == null) { userConfig = ModelFactory.CreateConfig(loginUser.Uid); } if (userConfig.wechat_login_gift == 0) { SendEmailUtil.SendEmail(loginUser.Uid, "神秘礼包", "您已成功关注微信公众号,并已绑定游戏账号,恭喜你获得一下奖励", "110:2;1:1888"); userConfig.wechat_login_gift = 1; NHibernateHelper.commonConfigManager.Update(userConfig); LogUtil.Log(loginUser.Uid, MyCommon.OpType.WECHAT_LOGIN_GIFT, $"获得神秘礼包:110:2;1:1888"); } } OperatorSuccess(loginUser, channeName, ip, versionName, responseData); } else { User name = NHibernateHelper.userManager.GetByName(user.Username); if (name == null) { responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_AccountNoExist); } else { responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_PasswordError); } } }
public override string OnResponse(string data) { OldPlayerReq oldPlayerReq = null; try { oldPlayerReq = JsonConvert.DeserializeObject <OldPlayerReq>(data); } catch (Exception e) { MySqlService.log.Warn("传入的参数有误:" + data + "\n" + e); return(null); } string oldUid = oldPlayerReq.old_uid; string uid = oldPlayerReq.uid; string from = oldPlayerReq.from; string machineId = oldPlayerReq.machine_id; int connId = oldPlayerReq.connId; if (string.IsNullOrWhiteSpace(uid) || string.IsNullOrWhiteSpace(oldUid) || string.IsNullOrWhiteSpace(machineId)) { MySqlService.log.Warn($"字段有空:{data}"); return(null); } JObject response = new JObject(); response.Add(MyCommon.CONNID, connId); response.Add(MyCommon.TAG, Consts.Tag_OldPlayerBind); int i; try { i = int.Parse(oldUid); } catch (Exception e) { OperatorFail(response, Consts.Code.Code_OldPlayerUidIsNotExist); return(response.ToString()); } //先查询machineid Log_bind_oldplayer logBindOldplayer = MySqlManager <Log_bind_oldplayer> .Instance.GetOldPlayerByMacId(machineId); if (logBindOldplayer != null) { OperatorFail(response, Consts.Code.Code_ThePhoneIsBindOldUid); return(response.ToString()); } UserSource userSource = NhInterSqlServer.NHiMsServerteHelper.GetById(i); if (userSource == null) { OperatorFail(response, Consts.Code.Code_OldPlayerUidIsNotExist); } else { Log_bind_oldplayer bindOldplayer = MySqlManager <Log_bind_oldplayer> .Instance.GetByUid(uid); if (bindOldplayer == null) { bindOldplayer = new Log_bind_oldplayer { Uid = uid, old_uid = oldUid, channel_name = from, machine_id = machineId }; if (MySqlManager <Log_bind_oldplayer> .Instance.Add(bindOldplayer)) { SendEmailUtil.SendEmail(uid, "老用户特权奖励", "恭喜您已成功绑定老游戏UID,请领取您的奖励", "111:1;110:2;1:6666;107:5"); OperatorSuccess(response); } else { OperatorFail(response, Consts.Code.Code_TheOldUidIsUsed); } } else { OperatorFail(response, Consts.Code.Code_TheUidIsBind); } } return(response.ToString()); }
private void ThirdLoginSQL(string thirdId, string nickname, string channelname, string ip, JObject responseData) { //通过第三方查询用户 List <User> users = NHibernateHelper.userManager.GetUserByTid(thirdId); User user; if (users?.Count == 0) { string uid = UidUtil.createUID(); user = new User() { //去除开头的空白 Username = nickname.TrimStart(), Userpassword = "", ChannelName = channelname, ThirdId = thirdId, Secondpassword = "", Uid = uid, IsRobot = 0, CreateTime = DateTime.Now, MachineId = "" }; Random random = new Random(); //注册用户数据 并 注册新手邮箱 if (NHibernateHelper.userManager.Add(user)) { OperatorSuccess(user, responseData); StatictisLogUtil.Login(uid, user.Username, ip, channelname, "1.0.43", MyCommon.OpType.Register); } else { bool flag = false; for (int i = 0; i < 10; i++) { int next = random.Next(1, 100); if (user.Username.Length > 0) { user.Username.Remove(user.Username.Length - 1); } user.Username += next; if (NHibernateHelper.userManager.Add(user)) { flag = true; break; } } if (flag) { MySqlService.log.Info("第三方重复注册成功 user.Username:"******"\nuser.Uid" + user.Uid); OperatorSuccess(user, responseData); //第三方注册 StatisticsHelper.StatisticsRegister(user.Uid); StatictisLogUtil.Login(uid, user.Username, ip, channelname, "1.0.43", MyCommon.OpType.Register); } else { MySqlService.log.Warn("第三方注册失败 user.Username:"******"\nuser.Uid" + user.Uid); OperatorFail(responseData); } } SendEmailUtil.SendEmail(uid, "新用户奖励", "欢迎来到疯狂升级,为您送上1000金币,快去对战吧!", "1:1000"); // SendEmailUtil.SendEmail(uid, "“疯狂升级”新手指引", // @"欢迎来到疯狂升级,本游戏有多种玩法供您选择,更有比赛场可以获取丰厚大奖噢!详细规则可在“关于-游戏规则”中查看,祝您游戏愉快~", // ""); // SendEmailUtil.SendEmail(uid, "“疯狂升级”游戏福利", // @"每日登陆可领取签到奖励,通过游戏可获得抽奖机会,完成任务以达成成就,比赛场中获得胜利有丰厚大礼,更多精彩内容等你来玩噢~", // ""); } else { //第三方登陆 user = users?[0]; OperatorSuccess(user, responseData); StatisticsHelper.StatisticsLogin(user.Uid); } }