Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf64c5bc

Browse files
committed
0.0.8 清理SelectTable 支持重载
1 parentf67884e commitf64c5bc

File tree

6 files changed

+197
-155
lines changed

6 files changed

+197
-155
lines changed

‎APIJSON.NET/APIJSON.NET.Test/Program.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
usingRestSharp;
22
usingSystem;
3+
usingSystem.Text.RegularExpressions;
34

45
namespaceAPIJSON.NET.Test
56
{

‎APIJSON.NET/APIJSON.NET/Controllers/JsonController.cs

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,8 @@ public ActionResult Test()
5757

5858
publicasyncTask<ActionResult>Query([FromBody]JObjectjobject)
5959
{
60-
JObjectresultJobj=newSelectTable(_identitySvc,_tableMapper,db.Db).Query(jobject);
60+
varst=newSelectTable(_identitySvc,_tableMapper,db.Db);
61+
JObjectresultJobj=st.Query(jobject);
6162
returnOk(resultJobj);
6263
}
6364

@@ -75,20 +76,46 @@ public async Task<ActionResult> QueryByTable([FromRoute]string table)
7576

7677
JObjectjobject=JObject.Parse(json);
7778
ht.Add(table+"[]",jobject);
78-
ht.Add("total@","");
79+
80+
if(jobject["query"]!=null&&jobject["query"].ToString()!="0"&&jobject["total@"]==null)
81+
{
82+
//自动添加总计数量
83+
ht.Add("total@","");
84+
}
85+
86+
//每页最大1000条数据
87+
if(jobject["count"]!=null&&int.Parse(jobject["count"].ToString())>1000)
88+
{
89+
thrownewException("count分页数量最大不能超过1000");
90+
}
91+
92+
boolisDebug=(jobject["@debug"]!=null&&jobject["@debug"].ToString()!="0");
93+
jobject.Remove("@debug");
7994

8095
boolhasTableKey=false;
96+
List<string>ignoreConditions=newList<string>{"page","count","query"};
97+
JObjecttableConditions=newJObject();//表的其它查询条件,比如过滤,字段等
8198
foreach(variteminjobject)
8299
{
83100
if(item.Key.Equals(table,StringComparison.CurrentCultureIgnoreCase))
84101
{
85102
hasTableKey=true;
86103
break;
87104
}
105+
if(!ignoreConditions.Contains(item.Key.ToLower()))
106+
{
107+
tableConditions.Add(item.Key,item.Value);
108+
}
109+
}
110+
111+
foreach(varremoveKeyintableConditions)
112+
{
113+
jobject.Remove(removeKey.Key);
88114
}
115+
89116
if(!hasTableKey)
90117
{
91-
jobject.Add(table,newJObject());
118+
jobject.Add(table,tableConditions);
92119
}
93120

94121
returnawaitQuery(ht);

‎APIJSON.NET/APIJSON.NET/Services/IdentityService.cs

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,25 +10,47 @@
1010

1111
namespaceAPIJSON.NET.Services
1212
{
13+
/// <summary>
14+
///
15+
/// </summary>
1316
publicclassIdentityService:IIdentityService
1417
{
1518
privateIHttpContextAccessor_context;
1619
privateList<Role>roles;
1720

21+
/// <summary>
22+
///
23+
/// </summary>
24+
/// <param name="context"></param>
25+
/// <param name="_roles"></param>
1826
publicIdentityService(IHttpContextAccessorcontext,IOptions<List<Role>>_roles)
1927
{
2028
_context=context??thrownewArgumentNullException(nameof(context));
2129
roles=_roles.Value;
2230
}
31+
32+
/// <summary>
33+
///
34+
/// </summary>
35+
/// <returns></returns>
2336
publicstringGetUserIdentity()
2437
{
2538
return_context.HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier);
2639
}
2740

41+
/// <summary>
42+
///
43+
/// </summary>
44+
/// <returns></returns>
2845
publicstringGetUserRoleName()
2946
{
3047
return_context.HttpContext.User.FindFirstValue(ClaimTypes.Role);
3148
}
49+
50+
/// <summary>
51+
///
52+
/// </summary>
53+
/// <returns></returns>
3254
publicRoleGetRole()
3355
{
3456
varrole=newRole();
@@ -43,23 +65,37 @@ public Role GetRole()
4365
}
4466
returnrole;
4567
}
46-
public(bool,string)GetSelectRole(stringtable)
68+
69+
/// <summary>
70+
///
71+
/// </summary>
72+
/// <param name="table"></param>
73+
/// <returns></returns>
74+
publicTuple<bool,string>GetSelectRole(stringtable)
4775
{
4876
varrole=GetRole();
4977
if(role==null||role.Select==null||role.Select.Table==null)
5078
{
51-
return(false,$"appsettings.json权限配置不正确!");
79+
returnTuple.Create(false,$"appsettings.json权限配置不正确!");
5280
}
5381
stringtablerole=role.Select.Table.FirstOrDefault(it=>it=="*"||it.Equals(table,StringComparison.CurrentCultureIgnoreCase));
5482

5583
if(string.IsNullOrEmpty(tablerole))
5684
{
57-
return(false,$"表名{table}没权限查询!");
85+
returnTuple.Create(false,$"表名{table}没权限查询!");
5886
}
5987
intindex=Array.IndexOf(role.Select.Table,tablerole);
6088
stringselectrole=role.Select.Column[index];
61-
return(true,selectrole);
89+
returnTuple.Create(true,selectrole);
6290
}
91+
92+
93+
/// <summary>
94+
///
95+
/// </summary>
96+
/// <param name="col"></param>
97+
/// <param name="selectrole"></param>
98+
/// <returns></returns>
6399
publicboolColIsRole(stringcol,string[]selectrole)
64100
{
65101
if(selectrole.Contains("*"))

‎APIJSON.NET/APIJSONCommon/ApiJson.Common.csproj

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
<PropertyGroup>
44
<TargetFramework>netstandard2.0</TargetFramework>
5-
<Version>0.0.7</Version>
6-
<Description>0.0.7 修复not in的缺陷,增加~ 不等于的支持
5+
<Version>0.0.8</Version>
6+
<Description>0.0.8 清理SelectTable 支持重载
7+
0.0.7 修复not in的缺陷,增加~ 不等于的支持
78
0.0.6 增加ToSql接口,处理sql注入的情况
89
通用查询组件</Description>
910
<PackageId>ApiJson.Common.Core</PackageId>

‎APIJSON.NET/APIJSONCommon/Properties/AssemblyInfo.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
// 控制。更改这些特性值可修改
66
// 与程序集关联的信息。
77
[assembly:AssemblyTitle("ApiJson.Common")]
8-
[assembly:AssemblyDescription("增加ToSql接口,处理sql注入的情况")]
8+
[assembly:AssemblyDescription("修复not in的缺陷,增加~ 不等于的支持")]
99
[assembly:AssemblyConfiguration("")]
1010
[assembly:AssemblyCompany("")]
1111
[assembly:AssemblyProduct("ApiJson.Common")]
@@ -31,5 +31,5 @@
3131
//可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值
3232
//通过使用 "*",如下所示:
3333
// [assembly: AssemblyVersion("1.0.*")]
34-
[assembly:AssemblyVersion("0.0.6.0")]
35-
[assembly:AssemblyFileVersion("0.0.6.0")]
34+
[assembly:AssemblyVersion("0.0.7.0")]
35+
[assembly:AssemblyFileVersion("0.0.7.0")]

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp