public GroupRes GetListGroupByIDRP(int id) { DynamicParameters parameters = new DynamicParameters(); parameters.Add("@Id", id); GroupRes getListGroupByIDRP = SqlMapper.Query <GroupRes>(con, "GetListGroupByID", parameters, commandType: CommandType.StoredProcedure).FirstOrDefault(); return(getListGroupByIDRP); }
public async Task <GroupRes> Run(string msg, string account, string groupNo, Lazy <string> getLoginAccount) { var key = CacheConst.GetMemberOptKey(account, groupNo, CacheConst.AddPet); var cache = await _database.StringGetAsync(key); if (int.TryParse(cache, out var petId)) { await _database.KeyDeleteAsync(key); var arr = msg.Split('@'); // 格式错误直接跳过 if (arr.Length != 2 || arr[1].Length != 1 || string.IsNullOrWhiteSpace(arr[0])) { return(null); } var pet = await PetService.GetAsync(petId); Gender sex; if ("男".Equals(arr[1])) { sex = Gender.MALE; } else if ("女".Equals(arr[1])) { sex = Gender.FAMALE; } else { return("性别错误!"); } if (pet == null) { return("宠物已下架!"); } // 记录流水 await BillFlowService.AddBillAsync(groupNo, account, pet.Price, pet.Price, BillTypes.Consume, "领养宠物"); // 修正账户 await MemberInfoService.ChangeAmountAsync(groupNo, account, -pet.Price); // 添加宠物 var userPet = await UserPetService.AddPetAsync(pet, groupNo, account, sex, arr[0]); return(GroupRes.GetSuccess(new GroupItemRes() { AtTa = true, Msg = $"恭喜您获得一只{userPet.Quality}品质的{pet.Name}" })); } return(null); }
public GroupRes GetGroups() { GroupRes groupRes = new GroupRes(); groupRes.Data = new List <GroupData>() { new GroupData() { Description = "NO Des", Id = 777 }, }; return(groupRes); }
public ActionResult UpdateGroup(IFormCollection form) { int id = Int32.Parse(form["id"].ToString()); string name = form["name"].ToString(); string note = WebUtility.HtmlDecode(form["note"].ToString()); //Group g = new Group(id, name, note); string email = HttpContext.User.Claims.Where(c => c.Type == System.Security.Claims.ClaimsIdentity.DefaultNameClaimType).FirstOrDefault().Value; object[] value = { id, name, note, email }; var errorCode = 0; var errorMessage = ""; string[] output = { }; var result = GroupRes.Group_Save(value, ref output, ref errorCode, ref errorMessage); return(Json(result)); }
public async Task <GroupRes> Run(string msg, string account, string groupNo, Lazy <string> getLoginAccount) { var activityKey = CacheConst.GetGroupActivityKey(groupNo); var groupActivity = _database.StringGet(activityKey); if (CacheConst.IdiomsSolitaire.Equals(groupActivity)) { var idiomsKey = CacheConst.GetIdiomsKey(groupNo); var idiomsTryCountKey = CacheConst.GetIdiomsTryCountKey(groupNo); var logId = int.Parse(await _database.StringGetAsync(CacheConst.GetActivityLogKey(groupNo))); var activityLog = ActivityLogService.GetActivity(logId); if (activityLog.ActivityStateType == Data.Pikachu.Menu.ActivityStateTypes.Close) { // 移除活动缓存 await _database.KeyDeleteAsync(activityKey); return("成语接龙活动已关闭!"); } if ("关闭活动".Equals(msg) && await ManageService.IsManageAsync(account))// 管理员主动结束活动. { // 移除活动缓存 await _database.KeyDeleteAsync(activityKey); var log = await ActivityLogService.CloseActivityAsync(logId, "活动结束,管理员主动结束活动!"); return($@" >>>>>>>>>本次活动已结束,欢迎下次再来挑战!<<<<<<<<<<<< 本次挑战成果: 成功次数:{log.SuccessCount.ToString()} 失败次数:{log.FailureCount.ToString()} 希望大家再接再厉! "); } // 增加尝试次数 var tryCount = await _database.StringIncrementAsync(idiomsTryCountKey); var idiomId = await _database.StringGetAsync(idiomsKey); var spell = await IdiomsService.GetInfoAsync(int.Parse(idiomId)); var confrimStr = $@" >>>>>>>>>成语接龙火热进行中<<<<<<<<<<<< 当前成语:{spell.Word} 尾拼:{spell.LastSpell} 成语解析:{spell.Explanation} "; if (msg.Length != 4) { return(GroupRes.GetSuccess(new GroupItemRes() { AtTa = true, Msg = "输入格式有误!" }, await GetTryCountRes(tryCount, activityKey, logId), confrimStr)); } var info = await IdiomsService.GetByWordAsync(msg); if (info == null) { return(GroupRes.GetSuccess(new GroupItemRes() { AtTa = true, Msg = "词语输入有误!" }, await GetTryCountRes(tryCount, activityKey, logId), confrimStr)); } if (!spell.LastSpell.Equals(info.FirstSpell)) { return(GroupRes.GetSuccess(new GroupItemRes() { AtTa = true, Msg = "你输入的词语并不能接上呢!" }, await GetTryCountRes(tryCount, activityKey, logId), confrimStr)); } // 积分奖励 var amount = _random.Next(100) + 5; await ActivityLogService.AddSuccessCountAsync(logId); await BillFlowService.AddBillAsync(groupNo, account, amount, amount, Data.Pikachu.Menu.BillTypes.Reward, "成语接龙奖励"); await MemberInfoService.ChangeAmountAsync(groupNo, account, amount); // 重新缓存 await _database.StringSetAsync(idiomsKey, info.Id, RuleConst.GroupActivityExpiry); // 重新缓存 await _database.StringSetAsync(idiomsTryCountKey, 0, RuleConst.GroupActivityExpiry); return(GroupRes.GetSuccess(new GroupItemRes() { AtTa = true, Msg = $" 恭喜你获得{amount.ToString()}钻石奖励!" }, $@" >>>>>>>>>【成语接龙】下一回合<<<<<<<<<<<< 当前成语:{info.Word} 尾拼:{info.LastSpell} 成语解析:{info.Explanation} " )); } return(null); }
public async Task <GroupRes> Run(string msg, string account, string groupNo, Lazy <string> getLoginAccount) { if ("宠物系统".Equals(msg)) { return(@"当前宠物系统支持: [宠物商店] [宠物道具商店] [查看宠物] [放养宠物] "); } if ("宠物商店".Equals(msg)) { var list = await PetService.GetAll().OrderByDescending(u => u.Id).ToListAsync(); if (list.Count == 0) { return("宠物商店还没有入驻的宠物呢,请联系管理员添加吧!"); } StringBuilder builder = new StringBuilder(); builder.AppendLine(" [宠物介绍图] [宠物名称] [宠物描述] [宠物价格]"); for (int i = 0; i < list.Count; i++) { builder.AppendLine( $"{(i + 1).ToString()}. {list[i].Face} {list[i].Name} [{list[i].Description}] {list[i].Price}$"); } builder.AppendLine(); builder.AppendLine(" 试试对我说 [领养宠物] [宠物名称] 吧~"); builder.AppendLine(" 示例: 领养宠物 小白"); return(builder.ToString()); } Match match; if ((match = Regex.Match(msg, @"^领养宠物([\s|\S]*)")).Success) { if (UserPetService.IsExists(groupNo, account)) { return(GroupRes.GetSingleSuccess(new GroupItemRes() { AtTa = true, Msg = "你已经拥有宠物了,请勿重复领养!" })); } var petName = match.Groups[1].Value.Trim(); if (string.IsNullOrWhiteSpace(petName)) { return("宠物名称不能为空!"); } var pet = await PetService.GetInfoByNameAsync(petName); if (pet == null) { return($"宠物-{petName} 不存在!"); } var memberInfo = await MemberInfoService.GetInfoAsync(groupNo, account); if (pet.Price > memberInfo.Amount) { return($"宠物-{petName}的价格为{pet.Price} , 而您的余额为{memberInfo.Amount} , 不足以支付!"); } // 添加添加宠物标识 await _database.StringSetAsync(CacheConst.GetMemberOptKey(account, groupNo, CacheConst.AddPet), pet.Id, TimeSpan.FromSeconds(30)); return(GroupRes.GetSingleSuccess(new GroupItemRes() { AtTa = true, Msg = @"请输入[宠物姓名]@[宠物性别{男/女}] 示例: 小白@女" })); } return(null); }