private void Sign(string uid, Sign30DataContent dataContent, JObject responseData) { int dataContentDay = dataContent.day; int nowYear = DateTime.Now.Year; int nowMonth = DateTime.Now.Month; int nowDay = DateTime.Now.Day; string signYearMonth = $"{nowYear}-{nowMonth}"; if (dataContentDay != nowDay) { OperatorFail(responseData, $"不是当天签到:{dataContentDay}"); return; } UserMonthSign userMonthSign = MySqlManager <UserMonthSign> .Instance.GetUserMonthSign(uid, signYearMonth, dataContentDay + ""); if (userMonthSign == null) { userMonthSign = new UserMonthSign() { Uid = uid, SignDate = dataContentDay + "", SignYearMonth = signYearMonth, Type = 1 }; if (MySqlManager <UserMonthSign> .Instance.Add(userMonthSign)) { responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_OK); responseData.Add("reward_prop", dataContent.reward_prop); responseData.Add("msg", "签到成功"); AddSignReward(uid, dataContent.reward_prop); } else { responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_CommonFail); responseData.Add("msg", "已签到"); } } else { responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_CommonFail); responseData.Add("msg", "已签到"); } }
private void AddSign(string uid, Sign30DataContent dataContent, JObject responseData) { int dataContentDay = dataContent.day; int nowYear = DateTime.Now.Year; int nowMonth = DateTime.Now.Month; int nowDay = DateTime.Now.Day; string signYearMonth = $"{nowYear}-{nowMonth}"; if (dataContentDay >= nowDay) { OperatorFail(responseData, $"当天不能补签:{dataContentDay}"); return; } List <UserMonthSign> userMonthSigns = GetSign30RecordHandler.GetSign30RecordSql(uid); List <UserMonthSign> userAddSigns = new List <UserMonthSign>(); foreach (var userSigns in userMonthSigns) { if (userSigns.Type == 2) { userAddSigns.Add(userSigns); } } int cost = (userAddSigns.Count / 3 + 1) * 5000; // int cost = 2000; UserInfo userInfo = MySqlManager <UserInfo> .Instance.GetByUid(uid); if (userInfo.Gold >= cost) { userInfo.Gold -= cost; MySqlManager <UserInfo> .Instance.Update(userInfo); } else { OperatorFail(responseData, $"补签金币不足"); return; } UserMonthSign userMonthSign = MySqlManager <UserMonthSign> .Instance.GetUserMonthSign(uid, signYearMonth, dataContentDay + ""); if (userMonthSign == null) { userMonthSign = new UserMonthSign() { Uid = uid, SignDate = dataContentDay + "", SignYearMonth = signYearMonth, Type = 2 }; if (MySqlManager <UserMonthSign> .Instance.Add(userMonthSign)) { responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_OK); responseData.Add("reward_prop", dataContent.reward_prop); responseData.Add("msg", "补签成功"); AddSignReward(uid, dataContent.reward_prop); } else { responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_CommonFail); responseData.Add("msg", "已补签"); } } else { responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_CommonFail); responseData.Add("msg", "已补签"); } }
private void TotalSign(string uid, Sign30DataContent dataContent, JObject responseData) { List <UserMonthSign> userMonthSigns = GetSign30RecordHandler.GetSign30RecordSql(uid); int dataContentDay = dataContent.day; List <int> list = new List <int>(); for (int i = userMonthSigns.Count - 1; i >= 0; i--) { if (userMonthSigns[i].Type == 3) { userMonthSigns.RemoveAt(i); } } foreach (var userSign in userMonthSigns) { list.Add(int.Parse(userSign.SignDate)); } int lianXuSignDays = CommonUtil.GetLianXuSignDays(list); //全勤奖 if (dataContent.id == 35) { if (lianXuSignDays == DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month)) { UserInfo userInfo = MySqlManager <UserInfo> .Instance.GetByUid(uid); List <Log_Game> gameCountByMonth = MySqlManager <UserGame> .Instance.GetGameCountByMonth(uid); int vipLevel = VipUtil.GetVipLevel(userInfo.RechargeVip); if (vipLevel < 1 || gameCountByMonth.Count < 30) { responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_CommonFail); responseData.Add("msg", $"每月游戏对局数满30局且贵族等级为V1方可领取"); return; } UserMonthSign userMonthSign = new UserMonthSign() { Uid = uid, SignYearMonth = GetSign30RecordHandler.GetYearMonth(), SignDate = DateTime.Now.Day + ":" + dataContent.id + "", Type = 3 }; MySqlService.log.Info($"```````````{JsonConvert.SerializeObject(userMonthSign)}"); if (MySqlManager <UserMonthSign> .Instance.Add(userMonthSign)) { responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_OK); responseData.Add("msg", $"{dataContent.reward_name}领取成功"); responseData.Add("reward_prop", dataContent.reward_prop); AddSignReward(uid, dataContent.reward_prop); } else { responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_CommonFail); responseData.Add("msg", $"{dataContent.reward_name}的奖励已领取,不可重复领取"); } return; } } //连续签到大于需要的天数 // if (lianXuSignDays >= dataContent.day) // { // UserMonthSign userMonthSign = new UserMonthSign() // { // Uid = uid, // SignYearMonth = GetSign30RecordHandler.GetYearMonth(), // SignDate = DateTime.Now.Day +":"+ dataContent.id + "", // Type = 3 // }; // // MySqlService.log.Info($"```````````{JsonConvert.SerializeObject(userMonthSign)}"); // // if (MySqlManager<UserMonthSign>.Instance.Add(userMonthSign)) // { // responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_OK); // responseData.Add("msg", $"{dataContent.reward_name}领取成功"); // responseData.Add("reward_prop", dataContent.reward_prop); // AddSignReward(uid, dataContent.reward_prop); // } // else // { // responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_CommonFail); // responseData.Add("msg", $"{dataContent.reward_name}的奖励已领取,不可重复领取"); // } // } // else // { // responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_CommonFail); // responseData.Add("msg", $"未满足{dataContent.reward_name},当前签到累计{userMonthSigns.Count}"); // } //不可重复领取 if (userMonthSigns.Count >= dataContentDay) { UserMonthSign userMonthSign = new UserMonthSign() { Uid = uid, SignYearMonth = GetSign30RecordHandler.GetYearMonth(), SignDate = dataContent.id + "", Type = 3 }; if (MySqlManager <UserMonthSign> .Instance.Add(userMonthSign)) { responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_OK); responseData.Add("msg", $"{dataContent.reward_name}领取成功"); responseData.Add("reward_prop", dataContent.reward_prop); AddSignReward(uid, dataContent.reward_prop); } else { responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_CommonFail); responseData.Add("msg", $"{dataContent.reward_name}的奖励已领取,不可重复领取"); } } else { responseData.Add(MyCommon.CODE, (int)Consts.Code.Code_CommonFail); responseData.Add("msg", $"未满足{dataContent.reward_name},当前签到累计{userMonthSigns.Count}"); } }