Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
shouzhouServer
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenjinjing
shouzhouServer
Commits
26e06e9a
Commit
26e06e9a
authored
Jul 11, 2024
by
Leo Zheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
给中间部分的API增加注释
parent
2e1b7cd1
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
70 additions
and
4 deletions
+70
-4
sightVisitorFlowByDayStrategy.ts
src/biz/strategies/left/sightVisitorFlowByDayStrategy.ts
+1
-1
sightVisitorFlowPerHourStrategy.ts
src/biz/strategies/left/sightVisitorFlowPerHourStrategy.ts
+1
-1
abstractDataStrategyMid.ts
src/biz/strategies/middle/abstractDataStrategyMid.ts
+13
-0
currentEventStrategy.ts
src/biz/strategies/middle/currentEventStrategy.ts
+21
-2
eventDataStrategy.ts
src/biz/strategies/middle/eventDataStrategy.ts
+16
-0
totalEventCountStrategy.ts
src/biz/strategies/middle/totalEventCountStrategy.ts
+18
-0
No files found.
src/biz/strategies/left/sightVisitorFlowByDayStrategy.ts
View file @
26e06e9a
...
...
@@ -14,7 +14,7 @@ export class sightVisitorFlowByDayStrategy extends abstractDataStrategyLeft {
/**
* 执行按天计算的游客流量策略。
* @param params - 请求参数,包含日期信息。
* @returns 每小时的游客流量
映射
。
* @returns 每小时的游客流量。
*/
execute
(
params
?:
any
):
any
{
if
(
!
params
||
!
params
.
query
||
!
params
.
query
.
date
)
{
...
...
src/biz/strategies/left/sightVisitorFlowPerHourStrategy.ts
View file @
26e06e9a
...
...
@@ -15,7 +15,7 @@ export class sightVisitorFlowByHourStrategy extends abstractDataStrategyLeft {
/**
* 执行每小时计算的游客流量策略。
* @param params - 请求参数,包含景点和日期信息。
* @returns 指定景点指定日期的每小时的游客流量
映射
。
* @returns 指定景点指定日期的每小时的游客流量。
*/
execute
(
params
?:
any
):
any
{
if
(
!
params
||
!
params
.
query
||
!
params
.
query
.
date
||
!
params
.
query
.
sight
)
{
...
...
src/biz/strategies/middle/abstractDataStrategyMid.ts
View file @
26e06e9a
/**
* abstractDataStrategyMid.ts
* 该文件定义了一个抽象类,用于中间层数据策略的基础实现。
*/
import
{
dataStrategy
}
from
"../dataStrategy"
;
import
{
DataExtractor
}
from
"../../../util/dataExtractor"
;
/**
* 抽象数据策略中间层类,所有具体策略类都需要继承该抽象类。
*/
export
abstract
class
abstractDataStrategyMid
implements
dataStrategy
{
extractor
=
DataExtractor
.
getInstance
();
static
readonly
fileName
=
'寿州古城.xlsx'
;
static
readonly
sheetName
=
'指挥调度系统'
;
/**
* 执行策略的方法,具体实现由子类提供。
* @param params - 可选参数。
*/
execute
(
params
?:
any
):
any
{
}
...
...
src/biz/strategies/middle/currentEventStrategy.ts
View file @
26e06e9a
/**
* currentEventStrategy.ts
* 该文件定义了当前事件策略的具体实现,获取当前日期事件的计数映射
*/
import
{
abstractDataStrategyMid
}
from
"./abstractDataStrategyMid"
;
import
excelSerialToJSDate
from
"../../../util/excelDateToJSDate"
;
import
mapToObj
from
"../../../util/mapToObj"
;
/**
* 当前事件策略类,继承自 abstractDataStrategyMid。
*/
export
class
currentEventStrategy
extends
abstractDataStrategyMid
{
/**
* 执行事件数据策略。
* @param params - 请求参数。
* @returns 指定日期事件已处置和带处置事件计数
*/
execute
(
params
?:
any
):
any
{
if
(
!
params
||
!
params
.
query
||
!
params
.
query
.
date
)
{
throw
new
Error
(
"Date parameter is required."
)
...
...
@@ -11,15 +25,20 @@ export class currentEventStrategy extends abstractDataStrategyMid {
return
mapToObj
(
this
.
getCurrentDayEventDate
(
dayData
,
params
.
query
.
date
));
}
/**
* 获取当前日期事件的计数映射
* @param data - 从数据源提取的数据。
* @param date - 指定日期。
* @return 指定日期事件已处置和带处置事件计数的映射
*/
private
getCurrentDayEventDate
(
data
:
any
,
date
:
string
)
{
const
eventCount
:
Map
<
string
,
number
>
=
new
Map
();
eventCount
.
set
(
'pendingEvents'
,
0
);
eventCount
.
set
(
'processedEvents'
,
0
);
data
.
forEach
(
row
=>
{
const
rowDate
=
excelSerialToJSDate
(
row
[
'数据更新时间'
]);
let
rowDateString
=
''
;
let
rowDateString
;
try
{
rowDateString
=
rowDate
.
toISOString
().
split
(
'T'
)[
0
];
}
...
...
src/biz/strategies/middle/eventDataStrategy.ts
View file @
26e06e9a
/**
* allEventDataStrategy.ts
* 该文件定义了所有事件数据策略的具体实现,获取所有事件并提取相关信息。
*/
import
{
abstractDataStrategyMid
}
from
"./abstractDataStrategyMid"
;
import
excelSerialToJSDate
from
"../../../util/excelDateToJSDate"
;
/**
* 事件数据策略类,继承自 abstractDataStrategyMid。
*/
export
class
allEventDataStrategy
extends
abstractDataStrategyMid
{
static
readonly
RELEVANTINFO
=
[
'事件标题'
,
'处置状态'
,
'数据更新时间'
,
'事件类型'
,
'事件子类型'
,
'事件来源'
];
/**
* 执行所有事件数据策略。
* @returns 事件的数据。
*/
execute
():
any
{
let
eventData
=
this
.
extractor
.
getData
(
allEventDataStrategy
.
fileName
,
allEventDataStrategy
.
sheetName
);
this
.
removeUnusedColumns
(
eventData
);
return
eventData
;
}
/**
* 移除数据中前端不使用的列
* @param data - 从数据源提取的数据
*/
private
removeUnusedColumns
(
data
:
any
)
{
data
.
forEach
(
row
=>
{
Object
.
keys
(
row
).
forEach
(
key
=>
{
...
...
src/biz/strategies/middle/totalEventCountStrategy.ts
View file @
26e06e9a
/**
* totalEventCountStrategy.ts
* 该文件定义了总事件计数策略的具体实现。
*/
import
{
abstractDataStrategyMid
}
from
"./abstractDataStrategyMid"
;
import
mapToObj
from
"../../../util/mapToObj"
;
/**
* 总事件计数策略类,继承自 abstractDataStrategyMid。
*/
export
class
totalEventCountStrategy
extends
abstractDataStrategyMid
{
/**
* 执行总事件计数策略。
* @returns 所有事件的计数。
*/
execute
():
any
{
let
eventData
=
this
.
extractor
.
getData
(
totalEventCountStrategy
.
fileName
,
totalEventCountStrategy
.
sheetName
);
return
mapToObj
(
this
.
getEventCount
(
eventData
));
}
/**
* 获取所有事件计数的映射
* @param data - 从数据源提取的数据
* @returns 所有事件计数的映射
*/
private
getEventCount
(
data
:
any
)
{
const
eventCount
:
Map
<
string
,
number
>
=
new
Map
();
eventCount
.
set
(
'全部事件'
,
0
);
...
...
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