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
bae57bb5
Commit
bae57bb5
authored
Jul 04, 2024
by
Leo Zheng
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
代码重构:
- 增加抽象类abstractDataStrategy来简化具体类的代码
parent
d380a3b1
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
63 additions
and
59 deletions
+63
-59
getData.ts
src/biz/getData.ts
+1
-5
abstractDataStrategyLeft.ts
src/biz/strategies/left/abstractDataStrategyLeft.ts
+13
-0
guchengLoadStrategy.ts
src/biz/strategies/left/guchengLoadStrategy.ts
+3
-3
sightVisitorFlowByDayStrategy.ts
src/biz/strategies/left/sightVisitorFlowByDayStrategy.ts
+4
-8
sightVisitorFlowPerHourStrategy.ts
src/biz/strategies/left/sightVisitorFlowPerHourStrategy.ts
+4
-8
totalVisitorFlowByHourStrategy.ts
src/biz/strategies/left/totalVisitorFlowByHourStrategy.ts
+5
-8
totalVisitorFlowStrategy.ts
src/biz/strategies/left/totalVisitorFlowStrategy.ts
+4
-8
abstractDataStrategyMid.ts
src/biz/strategies/middle/abstractDataStrategyMid.ts
+12
-0
currentEventStrategy.ts
src/biz/strategies/middle/currentEventStrategy.ts
+8
-0
eventDataStrategy.ts
src/biz/strategies/middle/eventDataStrategy.ts
+2
-11
strategyFactory.ts
src/biz/strategies/strategyFactory.ts
+7
-7
寿州古城.xlsx
src/data/寿州古城.xlsx
+0
-0
票务系统.xlsx
src/data/票务系统.xlsx
+0
-0
router.ts
src/routers/router.ts
+0
-1
No files found.
src/biz/getData.ts
View file @
bae57bb5
/**寿州古城智慧调度事件态势感知 */
import
{
DataExtractor
}
from
"../util/dataExtractor"
;
import
{
strategyFactory
}
from
"./strategies/strategyFactory"
;
/**
...
...
@@ -11,14 +10,11 @@ export function getData(req, res) {
/**填充数据格式处理 */
const
strategy
=
strategyFactory
.
createStrategy
(
req
.
query
.
content
)
let
ret
=
strategy
.
execute
(
req
);
res
.
send
(
ret
);
}
export
function
test
(
req
,
res
)
{
const
ret
=
"Success!"
;
res
.
send
(
ret
);
res
.
send
(
"Success!"
);
}
...
...
src/biz/strategies/left/abstractDataStrategyLeft.ts
0 → 100644
View file @
bae57bb5
import
{
dataStrategy
}
from
"../dataStrategy"
;
import
{
DataExtractor
}
from
"../../../util/dataExtractor"
;
export
abstract
class
abstractDataStrategyLeft
implements
dataStrategy
{
extractor
=
DataExtractor
.
getInstance
();
static
readonly
fileName
=
'票务系统.xlsx'
;
static
readonly
sheetName
=
'票务系统-订单主表'
;
execute
(
params
?:
any
):
any
{
}
}
\ No newline at end of file
src/biz/strategies/guchengLoadStrategy.ts
→
src/biz/strategies/
left/
guchengLoadStrategy.ts
View file @
bae57bb5
import
{
dataStrategy
}
from
"./dataStrategy
"
;
import
{
randomStatusGenerator
}
from
"../../util/randomStatusGenerator
"
;
import
{
randomStatusGenerator
}
from
"../../../util/randomStatusGenerator
"
;
import
{
abstractDataStrategyLeft
}
from
"./abstractDataStrategyLeft
"
;
export
class
guchengLoadStrategy
implements
dataStrategy
{
export
class
guchengLoadStrategy
extends
abstractDataStrategyLeft
{
execute
():
any
{
return
randomStatusGenerator
.
getRandomStatus
();
}
...
...
src/biz/strategies/sightVisitorFlowByDayStrategy.ts
→
src/biz/strategies/
left/
sightVisitorFlowByDayStrategy.ts
View file @
bae57bb5
import
{
dataStrategy
}
from
"./dataStrategy"
;
import
{
DataExtractor
}
from
"../../util/dataExtractor"
;
import
{
randomStatusGenerator
}
from
"../../util/randomStatusGenerator"
;
import
excelSerialToJSDate
from
"../../util/excelDateToJSDate"
;
import
{
randomStatusGenerator
}
from
"../../../util/randomStatusGenerator"
;
import
excelSerialToJSDate
from
"../../../util/excelDateToJSDate"
;
import
{
abstractDataStrategyLeft
}
from
"./abstractDataStrategyLeft"
;
export
class
sightVisitorFlowByDayStrategy
implements
dataStrategy
{
extractor
=
DataExtractor
.
getInstance
();
static
readonly
fileName
=
'票务系统.xlsx'
;
static
readonly
sheetName
=
'票务系统-订单主表'
;
export
class
sightVisitorFlowByDayStrategy
extends
abstractDataStrategyLeft
{
execute
(
params
?:
any
):
any
{
if
(
!
params
||
!
params
.
query
||
!
params
.
query
.
date
)
{
throw
new
Error
(
"Data parameter is required."
)
...
...
src/biz/strategies/sightVisitorFlowPerHourStrategy.ts
→
src/biz/strategies/
left/
sightVisitorFlowPerHourStrategy.ts
View file @
bae57bb5
import
{
dataStrategy
}
from
"./dataStrategy"
;
import
{
DataExtractor
}
from
"../../util/dataExtractor"
;
import
excelSerialToJSDate
from
"../../util/excelDateToJSDate"
;
import
mapToObj
from
"../../util/mapToObj"
;
import
excelSerialToJSDate
from
"../../../util/excelDateToJSDate"
;
import
mapToObj
from
"../../../util/mapToObj"
;
import
{
abstractDataStrategyLeft
}
from
"./abstractDataStrategyLeft"
;
export
class
sightVisitorFlowByHourStrategy
implements
dataStrategy
{
extractor
=
DataExtractor
.
getInstance
();
static
readonly
fileName
=
'票务系统.xlsx'
;
static
readonly
sheetName
=
'票务系统-订单主表'
;
export
class
sightVisitorFlowByHourStrategy
extends
abstractDataStrategyLeft
{
execute
(
params
?:
any
):
any
{
if
(
!
params
||
!
params
.
query
||
!
params
.
query
.
date
||
!
params
.
query
.
sight
)
{
...
...
src/biz/strategies/totalVisitorFlowByHourStrategy.ts
→
src/biz/strategies/
left/
totalVisitorFlowByHourStrategy.ts
View file @
bae57bb5
import
{
dataStrategy
}
from
"./dataStrategy"
;
import
{
DataExtractor
}
from
"../../util/dataExtractor"
;
import
excelSerialToJSDate
from
"../../util/excelDateToJSDate"
;
import
mapToObj
from
"../../util/mapToObj"
;
import
excelSerialToJSDate
from
"../../../util/excelDateToJSDate"
;
import
mapToObj
from
"../../../util/mapToObj"
;
import
{
abstractDataStrategyLeft
}
from
"./abstractDataStrategyLeft"
;
export
class
totalVisitorFlowByHourStrategy
extends
abstractDataStrategyLeft
{
export
class
totalVisitorFlowByHourStrategy
implements
dataStrategy
{
extractor
=
DataExtractor
.
getInstance
();
static
readonly
fileName
=
'票务系统.xlsx'
;
static
readonly
sheetName
=
'票务系统-订单主表'
;
execute
(
params
?:
any
):
any
{
if
(
!
params
||
!
params
.
query
||
!
params
.
query
.
date
)
{
...
...
src/biz/strategies/totalVisitorFlowStrategy.ts
→
src/biz/strategies/
left/
totalVisitorFlowStrategy.ts
View file @
bae57bb5
import
{
dataStrategy
}
from
"./dataStrategy"
;
import
{
DataExtractor
}
from
"../../util/dataExtractor"
;
import
excelSerialToJSDate
from
"../../util/excelDateToJSDate"
;
import
mapToObj
from
"../../util/mapToObj"
;
import
excelSerialToJSDate
from
"../../../util/excelDateToJSDate"
;
import
mapToObj
from
"../../../util/mapToObj"
;
import
{
abstractDataStrategyLeft
}
from
"./abstractDataStrategyLeft"
;
export
class
totalVisitorFlowStrategy
implements
dataStrategy
{
extractor
=
DataExtractor
.
getInstance
();
static
readonly
fileName
=
'票务系统.xlsx'
;
static
readonly
sheetName
=
'票务系统-订单主表'
;
export
class
totalVisitorFlowStrategy
extends
abstractDataStrategyLeft
{
execute
(
params
?:
any
):
any
{
if
(
!
params
||
!
params
.
query
||
!
params
.
query
.
date
)
{
...
...
src/biz/strategies/middle/abstractDataStrategyMid.ts
0 → 100644
View file @
bae57bb5
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
=
'指挥调度系统'
;
execute
(
params
?:
any
):
any
{
}
}
\ No newline at end of file
src/biz/strategies/middle/currentEventStrategy.ts
0 → 100644
View file @
bae57bb5
import
{
dataStrategy
}
from
"../dataStrategy"
;
export
class
currentEventStrategy
implements
dataStrategy
{
execute
(
params
?:
any
):
any
{
}
}
\ No newline at end of file
src/biz/strategies/eventDataStrategy.ts
→
src/biz/strategies/
middle/
eventDataStrategy.ts
View file @
bae57bb5
import
{
dataStrategy
}
from
"./dataStrategy"
;
import
{
DataExtractor
}
from
"../../util/dataExtractor"
;
export
class
allEventDataStrategy
implements
dataStrategy
{
extractor
=
DataExtractor
.
getInstance
();
static
readonly
fileName
=
'寿州古城.xlsx'
;
static
readonly
sheetName
=
'指挥调度系统'
;
import
{
abstractDataStrategyMid
}
from
"./abstractDataStrategyMid"
;
export
class
allEventDataStrategy
extends
abstractDataStrategyMid
{
execute
():
any
{
return
this
.
extractor
.
getData
(
allEventDataStrategy
.
fileName
,
allEventDataStrategy
.
sheetName
);
}
}
\ No newline at end of file
src/biz/strategies/strategyFactory.ts
View file @
bae57bb5
import
{
dataStrategy
}
from
"./dataStrategy"
;
import
{
allEventDataStrategy
}
from
"./eventDataStrategy"
;
import
{
sightVisitorFlowByDayStrategy
}
from
"./sightVisitorFlowByDayStrategy"
;
import
{
gateStatusStrategy
}
from
"./gateStatusStrategy"
;
import
{
sightVisitorFlowByHourStrategy
}
from
"./sightVisitorFlowPerHourStrategy"
;
import
{
guchengLoadStrategy
}
from
"./guchengLoadStrategy"
;
import
{
totalVisitorFlowStrategy
}
from
"./totalVisitorFlowStrategy"
;
import
{
totalVisitorFlowByHourStrategy
}
from
"./totalVisitorFlowByHourStrategy"
;
import
{
allEventDataStrategy
}
from
"./
middle/
eventDataStrategy"
;
import
{
sightVisitorFlowByDayStrategy
}
from
"./
left/
sightVisitorFlowByDayStrategy"
;
import
{
gateStatusStrategy
}
from
"./
left/
gateStatusStrategy"
;
import
{
sightVisitorFlowByHourStrategy
}
from
"./
left/
sightVisitorFlowPerHourStrategy"
;
import
{
guchengLoadStrategy
}
from
"./
left/
guchengLoadStrategy"
;
import
{
totalVisitorFlowStrategy
}
from
"./
left/
totalVisitorFlowStrategy"
;
import
{
totalVisitorFlowByHourStrategy
}
from
"./
left/
totalVisitorFlowByHourStrategy"
;
export
class
strategyFactory
{
private
static
strategies
:
{
[
key
:
string
]:
new
()
=>
dataStrategy
}
=
{
...
...
src/data/寿州古城.xlsx
deleted
100644 → 0
View file @
d380a3b1
File deleted
src/data/票务系统.xlsx
View file @
bae57bb5
No preview for this file type
src/routers/router.ts
View file @
bae57bb5
...
...
@@ -9,6 +9,5 @@ import * as szgcBiz from '../biz/getData';
export
function
setRouter
(
httpServer
){
httpServer
.
get
(
'/getdata'
,
asyncHandler
(
szgcBiz
.
getData
));
httpServer
.
get
(
'/test'
,
szgcBiz
.
test
);
}
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