public async Task <ResultModel> Run(AcceptParam acceptParam, AppSetting appSetting, HttpContext context) { var keyDto = acceptParam.AnalyzeParam <KeyReq <long> >(); if (keyDto == null || keyDto.Key <= 0) { return(ResultModel.GetParamErrorModel(string.Empty, "参数异常!")); } var idField = EntityTools.GetField <ArticleInfo>(nameof(ArticleInfo.Id)); var whereArr = new List <string> { SqlCharConst.DefaultWhere, $"{idField} = {keyDto.Key}" // $"Id = @Id" }; var conn = context.GetConnection(appSetting.GetMysqlConn().FlagKey, appSetting.GetMysqlConn().ConnStr); // var info = await DapperTools.GetItem<ArticleInfo>(conn, EntityTools.GetTableName<ArticleInfo>(), whereArr, new { Id = keyDto.Key}); var info = await DapperTools.GetItem <ArticleInfo>(conn, EntityTools.GetTableName <ArticleInfo>(), whereArr); if (info == null) { return(ResultModel.GetParamErrorModel(string.Empty, "此文章不存在或已删除!")); } return(ResultModel.GetSuccessModel(String.Empty, info)); }
public async Task <ResultModel> Run(AcceptParam acceptParam, AppSetting appSetting, HttpContext context) { var dto = acceptParam.AnalyzeParam <UserLoginReq>(); if (dto == null) { return(ResultModel.GetNullErrorModel()); } var msg = dto.ValidInfo(); if (msg != string.Empty) { return(ResultModel.GetParamErrorModel(msg)); } var whereList = new List <string>() { $"{nameof(UserLoginReq.UserName)} = @{nameof(UserLoginReq.UserName)}", $"{nameof(UserLoginReq.LoginPwd)} = @{nameof(UserLoginReq.LoginPwd)}", }; var userInfo = await DapperTools.GetItem <UserInfo>(appSetting.GetMysqlConn(context), EntityTools.GetTableName <UserInfo>(), whereList, dto); var cusRedisHelper = MemoryCache.GetInstance().TryGet <CusRedisHelper>(appSetting.GetRedisConn().FlagKey); var token = Guid.NewGuid().ToString().Replace("-", ""); // cusRedisHelper.StringSetAsync("user_api_token") //使用 is4 =-= gg throw new NotImplementedException(); }
public async Task <ResultModel> Run(AcceptParam acceptParam, AppSetting appSetting, HttpContext context, long userId) { var item = await DapperTools.GetItem <UserInfo>(appSetting.GetMysqlConn(context), EntityTools.GetTableName <UserInfo>(), new List <string>() { $"id = {userId}" }); return(ResultModel.GetSuccessModel(item)); }
public async Task <object> TestDb() { using (IDbConnection conn = new MySqlConnection(AppSetting.DbConnMap["Mysql"].ConnStr)) { var param = new UserInfo() { UserName = "******", LoginPwd = "monster" }; var whereList = new List <string>() { $"{nameof(UserInfo.UserName)} = @{nameof(UserInfo.UserName)}", $"{nameof(UserInfo.LoginPwd)} = @{nameof(UserInfo.LoginPwd)}" }; //根据用户唯一标识查找用户信息 var clientUserInfo = await DapperTools.GetItem <UserInfo>(conn, EntityTools.GetTableName <UserInfo>(), whereList, param); return(clientUserInfo); // try // { // // var content = // "<p><span style=\"font-size:30px\"><span style=\"font-family:Impact, serif\">🤣</span></span></p><p><span style=\"font-size:30px\"><span style=\"font-family:Impact, serif\">真逗呢</span></span></p><p><span style=\"font-size:30px\"><span style=\"font-family:Impact, serif\">哈哈哈</span></span></p>"; // var param = new {content}; // // var result = conn.Execute($@"INSERT INTO article_info // ( title, author, category, content,articleType) // // VALUES( '', '', '', @content,0)",param); // return result; // // } // catch (Exception e) // { // return JsonConvert.SerializeObject(e); // } // IEnumerable<ArticleInfo> articleInfos = conn.Query<ArticleInfo>( // $@" //{SqlCharConst.SELECT} {string.Join(",", EntityTools.GetFields<ArticleInfo>())} //{SqlCharConst.FROM} {EntityTools.GetTableName<ArticleInfo>()} //{SqlCharConst.WHERE} {SqlCharConst.DefaultWhere} //"); } }
public async Task <ResultModel> Run(AcceptParam acceptParam, AppSetting appSetting, HttpContext context) { var req = acceptParam.AnalyzeParam <KeyReq <long> >(); if (req == null || req.Key <= 0) { return(ResultModel.GetNullErrorModel()); } var conn = appSetting.GetMysqlConn(context); var item = await DapperTools.GetItem <ArticleSingleDto>(conn, EntityTools.GetTableName <ArticleInfo>(), new [] { $"{nameof(BaseModel.Id)} = {req.Key}", $"{nameof(BaseModel.ValidFlag)} = {(int)ValidFlagMenu.UseFul}", }); return(ResultModel.GetSuccessModel(item)); }
public async Task <ResultModel> Run(AcceptParam acceptParam, AppSetting appSetting, HttpContext context, long userId) { var req = acceptParam.AnalyzeParam <AttentionUserReq>(); if (req == null) { return(ResultModel.GetNullErrorModel()); } var msg = req.ValidInfo(); if (msg != string.Empty) { return(ResultModel.GetParamErrorModel(msg)); } if (req.AttentionUser == userId) { return(ResultModel.GetParamErrorModel()); } var conn = appSetting.GetMysqlConn(context); AttentionInfo oldInfo = await DapperTools.GetItem <AttentionInfo>(conn, EntityTools.GetTableName <AttentionInfo>(), new[] { $"{EntityTools.GetField<AttentionInfo>(nameof(AttentionInfo.AttentionUser))} ={req.AttentionUser}", $"{EntityTools.GetField<AttentionInfo>(nameof(AttentionInfo.UserId))} ={userId}", }, new[] { nameof(BaseModel.Id), }); // var isExists = await DapperTools.IsExists(conn, EntityTools.GetTableName<AttentionInfo>(), // new[] // { // $"{EntityTools.GetField<AttentionInfo>(nameof(AttentionInfo.AttentionUser))} ={req.AttentionUser}", // $"{EntityTools.GetField<AttentionInfo>(nameof(AttentionInfo.UserId))} ={userId}", // }); if (oldInfo == null) { var param = (CreateAttentionParam)req; param.UserId = userId; var result = await DapperTools.CreateItem(conn, EntityTools.GetTableName <AttentionInfo>(), param); return(ResultModel.GetSuccessModel(result)); } else { var editParam = new { UpdateTime = DateTime.Now, ValidFlag = (int)ValidFlagMenu.UseFul, req.Description, req.GroupKey, }; var setFieldList = new List <string>(); setFieldList.Add(nameof(BaseModel.UpdateTime)); setFieldList.Add(nameof(BaseModel.ValidFlag)); var result = await DapperTools.Edit(conn, EntityTools.GetTableName <AttentionInfo>(), new[] { $"{nameof(BaseModel.Id)}={oldInfo.Id}" }, null, editParam); return(ResultModel.GetSuccessModel(result)); } }
public async Task <ResultModel> Run(AcceptParam acceptParam, AppSetting appSetting, HttpContext context, long userId) { var req = acceptParam.AnalyzeParam <SingleActionArticleReq>(); if (req == null) { return(ResultModel.GetNullErrorModel()); } string msg; if ((msg = req.ValidInfo()) != string.Empty) { return(ResultModel.GetParamErrorModel(msg)); } if (Enum.TryParse(req.ActionKey, true, out ArticleOptMenu opt)) { var conn = appSetting.GetMysqlConn(context); var info = await DapperTools.GetItem <ArticleOptInfo>(conn, EntityTools.GetTableName <ArticleOptInfo>(), new List <string>() { $"{EntityTools.GetField<ArticleOptInfo>(nameof(ArticleOptInfo.OptionType))} = {(int) opt}", $"{EntityTools.GetField<ArticleOptInfo>(nameof(ArticleOptInfo.RelationKey))} = {req.ArticleId}", $"{EntityTools.GetField<ArticleOptInfo>(nameof(ArticleOptInfo.ActionUser))} = {userId}", }, new[] { nameof(BaseModel.Id), nameof(BaseModel.ValidFlag) }, null); // var validFlag = await DapperTools.SelectSingle<int?>(conn, EntityTools.GetTableName<ArticleOptInfo>(), // new List<string>() // { // $"{nameof(BaseModel.Id)} = {req.ArticleId}", // $"{EntityTools.GetField<ArticleOptInfo>(nameof(ArticleOptInfo.OptionType))} = {(int) opt}", // $"{EntityTools.GetField<ArticleOptInfo>(nameof(ArticleOptInfo.RelationKey))} = {req.ArticleId}", // }, nameof(BaseModel.ValidFlag)); if (info != null) { EditValidFlagParam param = new EditValidFlagParam() { Id = info.Id, UpdateTime = DateTime.Now }; if (info.ValidFlag == (int)ValidFlagMenu.UnUseFul) { param.ValidFlag = ValidFlagMenu.UseFul; } else { param.ValidFlag = ValidFlagMenu.UnUseFul; } var result = await DapperTools.Edit(conn, EntityTools.GetTableName <ArticleOptInfo>(), new[] { $"{nameof(BaseModel.Id)} = {info.Id}", $"{EntityTools.GetField<ArticleOptInfo>(nameof(ArticleOptInfo.ActionUser))} = {userId}", }, null, param); return(ResultModel.GetSuccessModel(null, $"修改成功-{result}")); } else { var param = new CreateArticleOptInfoParam() { ActionKey = opt.ToString(), Count = 1, OptionType = (int)opt, RelationKey = req.ArticleId, ActionUser = userId }; var result = await DapperTools.CreateItem(conn, EntityTools.GetTableName <ArticleOptInfo>(), param); return(ResultModel.GetSuccessModel(null, $"添加成功-{result}")); } // return ResultModel.GetSuccessModel(validFlag); // if (await DapperTools.IsExists(conn, EntityTools.GetTableName<ArticleOptInfo>(), new List<string>() // { // $"{nameof(BaseModel.Id)} = {req.ArticleId}", // $"{EntityTools.GetField<ArticleOptInfo>(nameof(ArticleOptInfo.OptionType))} = {(int)opt}", // $"{EntityTools.GetField<ArticleOptInfo>(nameof(ArticleOptInfo.RelationKey))} = {req.ArticleId}", // })) // { // return ResultModel.GetDealErrorModel("请勿重复操作!"); // } // else // { // // var param = new CreateArticleOptInfoParam() // { // ActionKey = opt.ToString(), // Count = 1, // OptionType = (int) opt, // RelationKey = req.ArticleId // }; // // var result = await DapperTools.CreateItem(conn, EntityTools.GetTableName<ArticleOptInfo>(), param); // // return ResultModel.GetSuccessModel(result); // // } } else { return(ResultModel.GetDealErrorModel($"操作<{req.ActionKey}>不存在!")); } }
public async Task ValidateAsync(ResourceOwnerPasswordValidationContext context) { if (true) { //验证失败 context.Result = new GrantValidationResult(TokenRequestErrors.InvalidGrant, "invalid custom credential"); } Logger.Debug(JsonConvert.SerializeObject(AppSetting)); UserInfo clientUserInfo = null; IDbConnection conn = new MySqlConnection(AppSetting.DbConnMap["Mysql"].ConnStr); // var param = new UserInfo() // { // UserName = context.UserName, // LoginPwd = context.Password // }; var whereList = new List <string>() { $"{nameof(UserInfo.UserName)} = '{context.UserName}'", $"{nameof(UserInfo.LoginPwd)} = '{context.Password}'" }; //根据用户唯一标识查找用户信息 clientUserInfo = await DapperTools.GetItem <UserInfo>(conn, EntityTools.GetTableName <UserInfo>(), whereList); // clientUserInfo = conn.QueryFirst<UserInfo>( // $"select * from article_info WHERE {nameof(UserInfo.UserName)} = {context.UserName} AND {nameof(UserInfo.LoginPwd)} = {context.Password}"); //此处使用context.UserName, context.Password 用户名和密码来与数据库的数据做校验 if (clientUserInfo != null) { // var user = _users.FindByUsername(context.UserName); //验证通过返回结果 //subjectId 为用户唯一标识 一般为用户id //authenticationMethod 描述自定义授权类型的认证方法 //authTime 授权时间 //claims 需要返回的用户身份信息单元 此处应该根据我们从数据库读取到的用户信息 添加Claims 如果是从数据库中读取角色信息,那么我们应该在此处添加 context.Result = new GrantValidationResult(clientUserInfo.RoleCode, OidcConstants.AuthenticationMethods.Password, _clock.UtcNow.UtcDateTime, new[] { new Claim(JwtClaimTypes.Id, clientUserInfo.Id.ToString()), }); // context.Result = new GrantValidationResult( //// user.SubjectId ?? throw new ArgumentException("Subject ID not set", nameof(user.SubjectId)), //// OidcConstants.AuthenticationMethods.Password, _clock.UtcNow.UtcDateTime, //// user.Claims // ); } else { //验证失败 context.Result = new GrantValidationResult(TokenRequestErrors.InvalidGrant, "invalid custom credential"); } return; }