Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
performance
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zry
performance
Commits
de2d9088
Commit
de2d9088
authored
Sep 10, 2024
by
wyc
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
简单查询(条件修改/补充日志)
parent
1fb74544
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
10 additions
and
11 deletions
+10
-11
performance/Performance.Api/Controllers/LowProcController.cs
+2
-4
performance/Performance.Services/LowProcService.cs
+8
-7
No files found.
performance/Performance.Api/Controllers/LowProcController.cs
View file @
de2d9088
...
...
@@ -110,11 +110,10 @@ public ApiResponse DeleteAsync([FromBody] long[] procIds)
[
ProducesResponseType
(
typeof
(
List
<
DashboardResponse
>),
StatusCodes
.
Status200OK
)]
public
async
Task
<
ApiResponse
<
object
>>
GetDatumAsync
([
FromQuery
,
Required
]
long
procId
,
[
FromQuery
]
string
?
allotId
,
[
FromQuery
]
PagedQueryRequest
?
paged
,
[
FromBody
]
List
<
DynamicQuery
>
filters
)
{
var
filteredQueries
=
filters
.
Where
(
q
=>
!
string
.
IsNullOrEmpty
(
q
.
Value
)).
ToList
();
long
allotIdValue
=
long
.
TryParse
(
allotId
,
out
var
result
)
?
result
:
0
;
var
args
=
Args
(
allotIdValue
,
paged
?.
Page
??
1
,
paged
?.
Size
??
20
);
var
res
=
await
_services
.
GetDatumAsync
(
procId
,
filter
edQuerie
s
,
paged
?.
Page
??
1
,
paged
?.
Size
??
20
,
args
);
var
res
=
await
_services
.
GetDatumAsync
(
procId
,
filters
,
paged
?.
Page
??
1
,
paged
?.
Size
??
20
,
args
);
foreach
(
var
item
in
res
.
Columns
)
{
item
.
Field
=
item
.
Field
.
ToLower
();
...
...
@@ -156,12 +155,11 @@ public ApiResponse DeleteAsync([FromBody] long[] procIds)
[
HttpPost
(
template
:
"query/datum/export"
)]
public
async
Task
<
IActionResult
>
GetDatumExportAsync
([
FromQuery
,
Required
]
long
procId
,
[
FromQuery
]
string
?
allotId
,
[
FromBody
]
List
<
DynamicQuery
>
filters
)
{
var
filteredQueries
=
filters
.
Where
(
q
=>
!
string
.
IsNullOrEmpty
(
q
.
Value
)).
ToList
();
long
allotIdValue
=
long
.
TryParse
(
allotId
,
out
var
result
)
?
result
:
0
;
var
lowProc
=
await
_services
.
GetAsync
(
procId
)
??
throw
new
PerformanceException
(
"查询配置信息不存在"
);
var
args
=
Args
(
allotIdValue
,
1
,
int
.
MaxValue
);
var
res
=
await
_services
.
GetDatumAsync
(
procId
,
filter
edQuerie
s
,
1
,
int
.
MaxValue
,
args
);
var
res
=
await
_services
.
GetDatumAsync
(
procId
,
filters
,
1
,
int
.
MaxValue
,
args
);
var
filePath
=
Path
.
Combine
(
Tools
.
Path
.
Download
,
$"
{
lowProc
.
Title
}
.
{
Guid
.
NewGuid
():
N
}
.xlsx"
);
var
rows
=
Tools
.
MapDictionary
(
res
.
Data
);
...
...
performance/Performance.Services/LowProcService.cs
View file @
de2d9088
...
...
@@ -2,23 +2,21 @@
using
Dapper
;
using
Masuit.Tools
;
using
Masuit.Tools.Models
;
using
Microsoft.Extensions.Logging
;
using
Microsoft.Extensions.Options
;
using
MySql.Data.MySqlClient
;
using
Newtonsoft.Json
;
using
Performance.DtoModels
;
using
Performance.DtoModels.AppSettings
;
using
Performance.EntityModels
;
using
Performance.Infrastructure
;
using
Performance.Infrastructure.Models
;
using
Performance.Repository
;
using
Swashbuckle.AspNetCore.SwaggerGen
;
using
System
;
using
System.Collections.Generic
;
using
System.Data
;
using
System.Linq
;
using
System.Linq.Dynamic.Core
;
using
System.Linq.Expressions
;
using
System.Security.Claims
;
using
System.Threading.Tasks
;
using
Yitter.IdGenerator
;
using
static
Performance
.
DtoModels
.
ManagementDept
;
...
...
@@ -34,12 +32,15 @@ public class LowProcService : IAutoInjection
private
readonly
IMapper
_mapper
;
private
readonly
IOptions
<
AppConnection
>
_options
;
private
readonly
int
_commandTimeout
=
60
*
5
;
private
readonly
ILogger
<
LowProcService
>
_logger
;
/// ctor
public
LowProcService
(
PerforLowProcRepository
lowProcRepository
,
IMapper
mapper
,
IOptions
<
AppConnection
>
options
)
public
LowProcService
(
PerforLowProcRepository
lowProcRepository
,
IMapper
mapper
,
IOptions
<
AppConnection
>
options
,
ILogger
<
LowProcService
>
logger
)
{
_lowProcRepository
=
lowProcRepository
;
_mapper
=
mapper
;
_options
=
options
;
_logger
=
logger
;
}
/// <summary>
...
...
@@ -138,12 +139,12 @@ public void DeleteAsync(params long[] procIds)
foreach
(
var
query
in
queries
)
{
if
(
query
.
Field
.
Equals
(
"allotId"
,
StringComparison
.
OrdinalIgnoreCase
))
if
(
query
.
Field
.
Equals
(
"allotId"
,
StringComparison
.
OrdinalIgnoreCase
)
&&
string
.
IsNullOrEmpty
(
query
.
Value
)
)
{
if
(
long
.
TryParse
(
query
.
Value
,
out
long
allotIdValue
))
args
.
AddOrUpdate
(
query
.
Field
,
allotIdValue
,
allotIdValue
);
else
args
.
AddOrUpdate
(
query
.
Field
,
0L
,
0L
);
args
.
AddOrUpdate
(
query
.
Field
,
0L
,
0L
);
}
else
{
...
...
@@ -209,7 +210,7 @@ public async Task<(IQueryable<dynamic> data, List<ColumnResponse> columns)> GetE
using
(
var
conn
=
new
MySqlConnection
(
_options
.
Value
.
PerformanceConnectionString
))
{
if
(
conn
.
State
!=
ConnectionState
.
Open
)
conn
.
Open
();
_logger
.
LogInformation
(
$"存储过程:【
{
script
}
】;参数:
{
string
.
Join
(
", "
,
args
.
Select
(
kv
=>
$"
{
kv
.
Key
}
=
{
kv
.
Value
}
"
))}
"
);
var
multi
=
await
conn
.
QueryMultipleAsync
(
script
,
args
,
commandTimeout
:
_commandTimeout
);
var
data
=
(
await
multi
.
ReadAsync
()).
AsQueryable
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment