@@ -35,156 +35,64 @@ public AppController(IAppService appService,
35
35
_premissionService = premissionService ;
36
36
}
37
37
38
- public async Task < IActionResult > Search ( string name , string id , string group , string sortField , string ascOrDesc , bool tableGrouped , int current = 1 , int pageSize = 20 )
38
+ public async Task < IActionResult > Search ( string name , string id , string group , string sortField ,
39
+ string ascOrDesc , bool tableGrouped , int current = 1 , int pageSize = 20 )
39
40
{
40
41
if ( current < 1 )
41
42
{
42
43
throw new ArgumentException ( "current cant less then 1 ." ) ;
43
44
}
45
+
44
46
if ( pageSize < 1 )
45
47
{
46
48
throw new ArgumentException ( "pageSize cant less then 1 ." ) ;
47
49
}
48
50
49
- var query = await _appService . GetAllAppsAsync ( ) ;
50
- if ( ! string . IsNullOrWhiteSpace ( name ) )
51
- {
52
- query = query . Where ( x => x . Name . Contains ( name ) ) . ToList ( ) ;
53
- }
54
- if ( ! string . IsNullOrWhiteSpace ( id ) )
55
- {
56
- query = query . Where ( x => x . Id . Contains ( id ) ) . ToList ( ) ;
57
- }
58
- if ( ! string . IsNullOrWhiteSpace ( group ) )
59
- {
60
- query = query . Where ( x => x . Group == group ) . ToList ( ) ;
61
- }
62
-
63
- var appvms = new List < AppListVM > ( ) ;
64
- foreach ( var app in query )
51
+ var appListVms = new List < AppListVM > ( ) ;
52
+ long count = 0 ;
53
+ if ( ! tableGrouped )
65
54
{
66
- appvms . Add ( await AppToListVM ( app , false ) ) ;
67
- }
68
- if ( tableGrouped )
69
- {
70
- var appGroups = appvms . GroupBy ( x => x . Group ) ;
71
- var appGroupList = new List < AppListVM > ( ) ;
72
- foreach ( var appGroup in appGroups )
55
+ var searchResult =
56
+ await _appService . SearchAsync ( id , name , group , sortField , ascOrDesc , current , pageSize ) ;
57
+ foreach ( var app in searchResult . Apps )
73
58
{
74
- var first = appGroup . First ( ) ;
75
- var children = new List < AppListVM > ( ) ;
76
- if ( appGroup . Count ( ) > 1 )
77
- {
78
- foreach ( var item in appGroup )
79
- {
80
- if ( first . Id != item . Id )
81
- {
82
- children . Add ( item ) ;
83
- }
84
- }
85
- }
86
-
87
- if ( children . Count > 0 )
88
- {
89
- first . children = children ;
90
- }
91
- appGroupList . Add ( first ) ;
59
+ appListVms . Add ( app . ToAppListVM ( ) ) ;
92
60
}
93
61
94
- appvms = appGroupList ;
95
- }
96
-
97
- if ( tableGrouped )
98
- {
99
- if ( sortField == "group" && ascOrDesc . StartsWith ( "desc" ) )
100
- {
101
- appvms = appvms . OrderByDescending ( x => x . Group ) . ToList ( ) ;
102
- }
103
- else
104
- {
105
- appvms = appvms . OrderBy ( x => x . Group ) . ToList ( ) ;
106
- }
62
+ count = searchResult . Count ;
107
63
}
108
64
else
109
65
{
110
- if ( sortField == "createTime" )
111
- {
112
- if ( ascOrDesc . StartsWith ( "asc" ) )
113
- {
114
- appvms = appvms . OrderBy ( x => x . CreateTime ) . ToList ( ) ;
115
- }
116
- else
117
- {
118
- appvms = appvms . OrderByDescending ( x => x . CreateTime ) . ToList ( ) ;
119
- }
120
- }
121
- if ( sortField == "id" )
122
- {
123
- if ( ascOrDesc . StartsWith ( "asc" ) )
124
- {
125
- appvms = appvms . OrderBy ( x => x . Id ) . ToList ( ) ;
126
- }
127
- else
128
- {
129
- appvms = appvms . OrderByDescending ( x => x . Id ) . ToList ( ) ;
130
- }
131
- }
132
- if ( sortField == "name" )
66
+ var searchResult =
67
+ await _appService . SearchGroupedAsync ( id , name , group , sortField , ascOrDesc , current , pageSize ) ;
68
+ foreach ( var groupedApp in searchResult . GroupedApps )
133
69
{
134
- if ( ascOrDesc . StartsWith ( "asc" ) )
70
+ var app = groupedApp . App ;
71
+ var vm = app . ToAppListVM ( ) ;
72
+ vm . children = new List < AppListVM > ( ) ;
73
+ foreach ( var child in groupedApp . Children ?? [ ] )
135
74
{
136
- appvms = appvms . OrderBy ( x => x . Name ) . ToList ( ) ;
137
- }
138
- else
139
- {
140
- appvms = appvms . OrderByDescending ( x => x . Name ) . ToList ( ) ;
141
- }
142
- }
143
- if ( sortField == "group" )
144
- {
145
- if ( ascOrDesc . StartsWith ( "asc" ) )
146
- {
147
- appvms = appvms . OrderBy ( x => x . Group ) . ToList ( ) ;
148
- }
149
- else
150
- {
151
- appvms = appvms . OrderByDescending ( x => x . Group ) . ToList ( ) ;
75
+ vm . children . Add ( child . App . ToAppListVM ( ) ) ;
152
76
}
77
+
78
+ appListVms . Add ( vm ) ;
153
79
}
80
+
81
+ count = searchResult . Count ;
154
82
}
155
83
156
- var count = appvms . Count ;
157
- var pageList = appvms . ToList ( ) . Skip ( ( current - 1 ) * pageSize ) . Take ( pageSize ) . ToList ( ) ;
158
- await AppendInheritancedInfo ( pageList ) ;
84
+ await AppendInheritancedInfo ( appListVms ) ;
85
+
159
86
return Json ( new
160
87
{
161
88
current ,
162
89
pageSize ,
163
90
success = true ,
164
91
total = count ,
165
- data = pageList
92
+ data = appListVms
166
93
} ) ;
167
94
}
168
95
169
- private async Task < AppListVM > AppToListVM ( App item , bool appendInheritancedInfo )
170
- {
171
- var vm = item . ToAppListVM ( ) ;
172
-
173
- if ( appendInheritancedInfo )
174
- {
175
- var inheritancedApps = await _appService . GetInheritancedAppsAsync ( item . Id ) ;
176
- vm . inheritancedApps = item . Type == AppType . Inheritance
177
- ? new List < string > ( )
178
- : ( inheritancedApps ) . Select ( ia => ia . Id ) . ToList ( ) ;
179
- vm . inheritancedAppNames = item . Type == AppType . Inheritance
180
- ? new List < string > ( )
181
- : ( inheritancedApps ) . Select ( ia => ia . Name ) . ToList ( ) ;
182
- vm . AppAdminName = ( await _userService . GetUserAsync ( item . AppAdmin ) ) ? . UserName ;
183
- }
184
-
185
- return vm ;
186
- }
187
-
188
96
private async Task AppendInheritancedInfo ( List < AppListVM > list )
189
97
{
190
98
foreach ( var appListVm in list )
@@ -213,7 +121,6 @@ public async Task<IActionResult> Add([FromBody] AppVM model)
213
121
var oldApp = await _appService . GetAsync ( model . Id ) ;
214
122
if ( oldApp != null )
215
123
{
216
-
217
124
return Json ( new
218
125
{
219
126
success = false ,
@@ -303,6 +210,7 @@ public async Task<IActionResult> Edit([FromBody] AppVM model)
303
210
{
304
211
_tinyEventBus . Fire ( new EditAppSuccessful ( app , this . GetCurrentUserName ( ) ) ) ;
305
212
}
213
+
306
214
return Json ( new
307
215
{
308
216
success = result ,
@@ -318,8 +226,9 @@ public async Task<IActionResult> All()
318
226
foreach ( var app in apps )
319
227
{
320
228
var vm = app . ToAppListVM ( ) ;
321
- vm . inheritancedAppNames = app . Type == AppType . Inheritance ? new List < string > ( ) :
322
- ( await _appService . GetInheritancedAppsAsync ( app . Id ) ) . Select ( ia => ia . Id ) . ToList ( ) ;
229
+ vm . inheritancedAppNames = app . Type == AppType . Inheritance
230
+ ? new List < string > ( )
231
+ : ( await _appService . GetInheritancedAppsAsync ( app . Id ) ) . Select ( ia => ia . Id ) . ToList ( ) ;
323
232
vms . Add ( vm ) ;
324
233
}
325
234
@@ -363,7 +272,8 @@ public async Task<IActionResult> Get(string id)
363
272
/// </summary>
364
273
/// <param name="id"></param>
365
274
/// <returns></returns>
366
- [ TypeFilter ( typeof ( PremissionCheckAttribute ) , Arguments = new object [ ] { "App.DisableOrEanble" , Functions . App_Edit } ) ]
275
+ [ TypeFilter ( typeof ( PremissionCheckAttribute ) ,
276
+ Arguments = new object [ ] { "App.DisableOrEanble" , Functions . App_Edit } ) ]
367
277
[ HttpPost ]
368
278
public async Task < IActionResult > DisableOrEanble ( string id )
369
279
{
@@ -440,6 +350,7 @@ public async Task<IActionResult> InheritancedApps(string currentAppId)
440
350
//过滤本身
441
351
apps . Remove ( self ) ;
442
352
}
353
+
443
354
var vms = apps . Select ( x =>
444
355
{
445
356
return new
@@ -467,8 +378,10 @@ public async Task<IActionResult> SaveAppAuth([FromBody] AppAuthVM model)
467
378
{
468
379
ArgumentNullException . ThrowIfNull ( model ) ;
469
380
470
- var result = await _appService . SaveUserAppAuth ( model . AppId , model . EditConfigPermissionUsers , _premissionService . EditConfigPermissionKey ) ;
471
- var result1 = await _appService . SaveUserAppAuth ( model . AppId , model . PublishConfigPermissionUsers , _premissionService . PublishConfigPermissionKey ) ;
381
+ var result = await _appService . SaveUserAppAuth ( model . AppId , model . EditConfigPermissionUsers ,
382
+ _premissionService . EditConfigPermissionKey ) ;
383
+ var result1 = await _appService . SaveUserAppAuth ( model . AppId , model . PublishConfigPermissionUsers ,
384
+ _premissionService . PublishConfigPermissionKey ) ;
472
385
473
386
return Json ( new
474
387
{
@@ -485,8 +398,12 @@ public async Task<IActionResult> GetUserAppAuth(string appId)
485
398
{
486
399
AppId = appId
487
400
} ;
488
- result . EditConfigPermissionUsers = ( await _appService . GetUserAppAuth ( appId , _premissionService . EditConfigPermissionKey ) ) . Select ( x => x . Id ) . ToList ( ) ;
489
- result . PublishConfigPermissionUsers = ( await _appService . GetUserAppAuth ( appId , _premissionService . PublishConfigPermissionKey ) ) . Select ( x => x . Id ) . ToList ( ) ;
401
+ result . EditConfigPermissionUsers =
402
+ ( await _appService . GetUserAppAuth ( appId , _premissionService . EditConfigPermissionKey ) ) . Select ( x => x . Id )
403
+ . ToList ( ) ;
404
+ result . PublishConfigPermissionUsers =
405
+ ( await _appService . GetUserAppAuth ( appId , _premissionService . PublishConfigPermissionKey ) )
406
+ . Select ( x => x . Id ) . ToList ( ) ;
490
407
491
408
return Json ( new
492
409
{
@@ -506,4 +423,4 @@ public async Task<IActionResult> GetAppGroups()
506
423
} ) ;
507
424
}
508
425
}
509
- }
426
+ }
0 commit comments