Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
sportsschoolserver
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
node_server
sportsschoolserver
Commits
d51d07b9
Commit
d51d07b9
authored
Nov 09, 2021
by
chenjinjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
01bfd7a3
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
65 additions
and
57 deletions
+65
-57
xsxxfx.ts
src/biz/xsxxfx.ts
+7
-9
ydygl.ts
src/biz/ydygl.ts
+11
-4
orcaleInterface.ts
src/data/orcaleInterface.ts
+3
-1
xsxxfxData.ts
src/data/xsxxfxData.ts
+42
-41
ydyglData.ts
src/data/ydyglData.ts
+2
-2
No files found.
src/biz/xsxxfx.ts
View file @
d51d07b9
import
{
info
}
from
"console"
;
import
{
get
选手详细分析
}
from
"../data/analysisData"
;
import
{
getBaseData
,
get
单前比赛对局时间节点
,
get
右侧数据
,
get
图表
,
get
散点图
,
get
比赛详情
,
get
近期比赛概览
}
from
"../data/xsxxfxData"
;
import
{
getChartData
,
objKeyReplace
,
getKeyValue
,
getSingleYAndMoreData
,
getListData
,
getMoreYChartData
}
from
"../util/tools"
;
import
{
getChartData
,
objKeyReplace
,
getKeyValue
,
getSingleYAndMoreData
,
getListData
,
getMoreYChartData
,
getKeyStringValue
}
from
"../util/tools"
;
export
async
function
getData
(
req
,
res
)
{
let
ret
:
any
=
{};
...
...
@@ -9,11 +9,9 @@ export async function getData(req, res) {
pid
=
parseInt
(
pid
);
let
baseInfo
:
any
=
await
getBaseData
(
pid
);
let
基础信息
DataAndUnit
=
objKeyReplace
(
baseInfo
.
基础信息
);
ret
[
"base1"
]
=
getKeyValue
(
"基础信息"
,
基础信息
DataAndUnit
.
dataMap
,
基础信息
DataAndUnit
.
unitMap
,
false
,
false
);
ret
[
"base1"
]
=
getKeyStringValue
(
"基础信息"
,
baseInfo
[
"基础信息"
]
);
let
技术特点评分
DataAndUnit
=
objKeyReplace
(
baseInfo
.
技术特点评分
);
ret
[
"base2"
]
=
getKeyValue
(
"技术特点评分"
,
技术特点评分
DataAndUnit
.
dataMap
,
技术特点评分
DataAndUnit
.
unitMap
,
false
,
false
);
ret
[
"base2"
]
=
getKeyStringValue
(
"技术特点评分"
,
baseInfo
[
"击球信息"
]
);
let
jqbsglInfo
=
await
近期比赛概览
(
pid
,
null
);
ret
[
"jqbsgl"
]
=
jqbsglInfo
;
...
...
@@ -41,9 +39,9 @@ export async function getData(req, res) {
//接口2 近期比赛概览
export
async
function
getjqbsgl
(
req
,
res
)
{
let
{
PID
,
date
}
=
req
.
query
;
let
{
pid
,
date
}
=
req
.
query
;
let
ret
:
any
=
{};
ret
[
"jqbsgl"
]
=
await
近期比赛概览
(
PID
,
date
);
ret
[
"jqbsgl"
]
=
await
近期比赛概览
(
pid
,
date
);
res
.
send
(
ret
);
}
...
...
@@ -85,9 +83,9 @@ export async function get图表数据(req, res) {
async
function
近期比赛概览
(
PID
,
inTime
)
{
async
function
近期比赛概览
(
pid
,
inTime
)
{
let
time
=
inTime
||
new
Date
();
let
近期比赛概览数据
=
await
get
近期比赛概览
(
PID
,
time
);
let
近期比赛概览数据
=
await
get
近期比赛概览
(
pid
,
time
);
let
subTitle
=
近期比赛概览数据
.
length
>
0
?
近期比赛概览数据
[
0
].
date
:
""
;
return
{
title
:
"近期比赛概览"
,
...
...
src/biz/ydygl.ts
View file @
d51d07b9
...
...
@@ -6,8 +6,8 @@ export async function getData(req, res) {
let
dataInfo
:
any
=
await
get
运动员概览
();
let
特化左上数据
=
[];
特化左上数据
.
push
({
key
:
"训练学生数"
,
number
:
dataInfo
.
左上数据
[
"训练学生数"
],
rate
:
dataInfo
.
左上数据
[
"训练学生数增幅"
]
});
特化左上数据
.
push
({
key
:
"训练视频采集数"
,
number
:
dataInfo
.
左上数据
[
"训练视频采集数"
],
rate
:
dataInfo
.
左上数据
[
"训练视频采集数增幅"
]
});
特化左上数据
.
push
({
key
:
"训练学生数"
,
number
:
parseInt
(
dataInfo
.
左上数据
[
"训练学生数"
]),
rate
:
parseInt
(
dataInfo
.
左上数据
[
"训练学生数增幅"
]),
unit
:
""
});
特化左上数据
.
push
({
key
:
"训练视频采集数"
,
number
:
parseInt
(
dataInfo
.
左上数据
[
"训练视频采集数"
]),
rate
:
parseInt
(
dataInfo
.
左上数据
[
"训练视频采集数增幅"
])
,
unit
:
""
});
// let 左上数据DataAndUnit = objKeyReplace(dataInfo.左上数据);
// ret["api1"] = getKeyValue("左上数据", 左上数据DataAndUnit.dataMap, 左上数据DataAndUnit.unitMap, false, false );
...
...
@@ -21,8 +21,15 @@ export async function getData(req, res) {
ret
[
"api4"
]
=
getKeyValue
(
"训练类型"
,
训练类型
DataAndUnit
.
dataMap
,
训练类型
DataAndUnit
.
unitMap
,
false
,
false
);
let
动作模型练习
DataAndUnit
=
objKeyReplace
(
dataInfo
.
动作模型练习
);
ret
[
"api5"
]
=
getKeyValue
(
"动作模型练习"
,
动作模型练习
DataAndUnit
.
dataMap
,
动作模型练习
DataAndUnit
.
unitMap
,
false
,
false
);
let
右上数据
DataAndUnit
=
objKeyReplace
(
dataInfo
.
右上数据
);
ret
[
"api9"
]
=
getKeyValue
(
"右上数据"
,
右上数据
DataAndUnit
.
dataMap
,
右上数据
DataAndUnit
.
unitMap
,
false
,
false
);
let
特化右上数据
=
[];
特化右上数据
.
push
({
key
:
"比赛场次"
,
number
:
parseInt
(
dataInfo
.
右上数据
[
"比赛场次"
]),
rate
:
parseInt
(
dataInfo
.
右上数据
[
"比赛场次增幅"
]),
unit
:
""
});
特化右上数据
.
push
({
key
:
"参赛覆盖人员"
,
number
:
parseInt
(
dataInfo
.
右上数据
[
"参赛覆盖人员"
]),
rate
:
parseInt
(
dataInfo
.
右上数据
[
"参赛覆盖人员增幅"
])
,
unit
:
""
});
// let 右上数据DataAndUnit = objKeyReplace(dataInfo.右上数据);
// ret["api9"] = getKeyValue("右上数据", 右上数据DataAndUnit.dataMap, 右上数据DataAndUnit.unitMap, false, false );
ret
[
"api9"
]
=
特化右上数据
;
let
比赛类型
DataAndUnit
=
objKeyReplace
(
dataInfo
.
比赛类型
);
ret
[
"api10"
]
=
getKeyValue
(
"比赛类型"
,
比赛类型
DataAndUnit
.
dataMap
,
比赛类型
DataAndUnit
.
unitMap
,
false
,
false
);
let
参赛性别占比
DataAndUnit
=
objKeyReplace
(
dataInfo
.
参赛性别占比
);
...
...
src/data/orcaleInterface.ts
View file @
d51d07b9
...
...
@@ -30,7 +30,9 @@ export async function selectData(sqlStr, ...placeholders) {
});
let
result
;
if
(
placeholders
.
length
)
result
=
await
orcaleDB
.
execute
(
str
,
paramaterList
);
if
(
placeholders
.
length
)
{
result
=
await
orcaleDB
.
execute
(
str
,
paramaterList
);
}
else
result
=
await
orcaleDB
.
execute
(
str
);
return
result
.
rows
;
...
...
src/data/xsxxfxData.ts
View file @
d51d07b9
...
...
@@ -5,7 +5,7 @@ export async function getBaseData(id) {
let
result
=
{};
let
sql
=
'select * from students_detail where p_id=Placeholder1'
;
let
baseObj
=
{
"img"
:
"SELF_PIC"
,
"姓名"
:
"NAME"
,
"性别"
:
"SEX"
,
"英语名字"
:
"EN_NAME"
,
"主教练"
:
"COACH"
,
"出生年份"
:
"BIRTH"
,
"身高"
:
"HEIGHT"
,
"体重"
:
"WEIGHT"
,
"比赛场次"
:
"MATCH_COUNT"
,
"胜场"
:
"WIN_COUNT"
,
"胜率"
:
"WIN_RATE&%"
,
"排名"
:
"RANK"
,
"惯用手"
:
"HABITUAL_HAND"
};
let
baseObj
=
{
"img"
:
"SELF_PIC"
,
"姓名"
:
"
P_
NAME"
,
"性别"
:
"SEX"
,
"英语名字"
:
"EN_NAME"
,
"主教练"
:
"COACH"
,
"出生年份"
:
"BIRTH"
,
"身高"
:
"HEIGHT"
,
"体重"
:
"WEIGHT"
,
"比赛场次"
:
"MATCH_COUNT"
,
"胜场"
:
"WIN_COUNT"
,
"胜率"
:
"WIN_RATE&%"
,
"排名"
:
"RANK"
,
"惯用手"
:
"HABITUAL_HAND"
};
let
scoreObj
=
{
"击球速度"
:
"HIT_SPEED"
,
"击球力量"
:
"HIT_POWER"
,
"正手能力"
:
"FOREHAND"
,
"反手能力"
:
"BACKHAND"
,
"得分率"
:
"SCORE_RATE&%"
};
let
selectResult
=
await
selectOnceObjectData
(
sql
,
id
);
...
...
@@ -40,23 +40,23 @@ function checkUnit(str, data, allUnit?) {
export
async
function
get
近期比赛概览
(
PID
,
checkDate
)
{
let
sql
=
"select * from recent_match where self_pid = Placeholder1 and date < Placeholder2"
;
let
sql
=
"select * from recent_match where self_pid = Placeholder1 and
m_
date < Placeholder2"
;
let
selectResult
=
await
selectData
(
sql
,
PID
,
checkDate
);
let
result
=
[];
selectResult
.
forEach
(
info
=>
{
let
selfScore
=
info
.
self_score
||
0
;
let
opponentScore
=
info
.
opponent_score
||
0
;
let
selfScore
=
info
.
SELF_SCORE
||
0
;
let
opponentScore
=
info
.
OPPONENT_SCORE
||
0
;
let
matchResult
=
selfScore
>
opponentScore
?
"胜"
:
"负"
;
result
.
push
({
selfName
:
info
.
self_name
,
selfPic
:
info
.
self_pic
,
selfName
:
info
.
SELF_NAME
,
selfPic
:
info
.
SELF_PIC
,
selfScore
,
opponentPic
:
info
.
opponent_pic
,
opponentPic
:
info
.
OPPONENT_PIC
,
opponentScore
,
oppenentName
:
info
.
opponent_name
,
pkTime
:
info
.
date
,
oppenentName
:
info
.
OPPONENT_NAME
,
pkTime
:
info
.
M_DATE
,
result
:
matchResult
,
mid
:
info
.
mid
mid
:
info
.
M_ID
});
});
...
...
@@ -64,24 +64,24 @@ export async function get近期比赛概览(PID, checkDate) {
}
export
async
function
get
比赛详情
(
mid
)
{
let
sql
=
"select * from match_information where mid = Placeholder1"
;
let
subSql
=
"select m_date from recent_match where mid = Placeholder1 "
let
sql
=
"select * from match_information where m
_
id = Placeholder1"
;
let
subSql
=
"select m_date from recent_match where m
_
id = Placeholder1 "
let
selectInfo
=
await
selectOnceObjectData
(
sql
,
mid
);
let
timeInfo
=
await
selectOnceObjectData
(
subSql
,
mid
);
let
selfScore
=
selectInfo
.
self_score
||
0
;
let
opponentScore
=
selectInfo
.
opponent_score
||
0
;
let
selfScore
=
selectInfo
.
SELF_SCORE
||
0
;
let
opponentScore
=
selectInfo
.
OPPONENT_SCORE
||
0
;
let
matchResult
=
selfScore
>
opponentScore
?
"胜"
:
"负"
;
let
result
=
{
mid
:
selectInfo
.
m_id
,
selfName
:
selectInfo
.
self_name
,
selfPic
:
selectInfo
.
self_pic
,
mid
:
selectInfo
.
M_ID
,
selfName
:
selectInfo
.
SELF_NAME
,
selfPic
:
selectInfo
.
SELF_PIC
,
selfScore
:
selfScore
,
opponentName
:
selectInfo
.
opponent_name
,
opponentPic
:
selectInfo
.
opponent_pic
,
opponentName
:
selectInfo
.
OPPONENT_NAME
,
opponentPic
:
selectInfo
.
OPPONENT_PIC
,
opponentScore
:
opponentScore
,
videoUrl
:
selectInfo
.
video_url
,
videoUrl
:
selectInfo
.
VIDEO_URL
,
result
:
matchResult
,
date
:
timeInfo
.
m_date
date
:
timeInfo
.
M_DATE
};
return
result
;
}
...
...
@@ -93,9 +93,9 @@ export async function get单前比赛对局时间节点(mid) {
let
rankMap
=
{};
selectInfo
.
forEach
(
info
=>
{
let
{
r_id
,
g_id
,
start_t
,
end_t
}
=
info
;
if
(
!
rankMap
[
r_id
]
)
rankMap
[
r_id
]
=
{};
rankMap
[
r_id
][
g_id
]
=
{
start
:
start_t
,
end
:
end_t
,
gName
:
`第
${
g_id
}
轮`
,
gId
:
g_id
};
let
{
R_ID
,
G_ID
,
START_T
,
END_T
}
=
info
;
if
(
!
rankMap
[
R_ID
]
)
rankMap
[
R_ID
]
=
{};
rankMap
[
R_ID
][
G_ID
]
=
{
start
:
START_T
,
end
:
END_T
,
gName
:
`第
${
G_ID
}
轮`
,
gId
:
G_ID
};
});
let
resultMap
=
{};
...
...
@@ -110,19 +110,20 @@ export async function get图表(mid, rid, gid) {
const
sqlInfo
=
{
"左侧爆发能量"
:{
sql
:
"select * from left_power where m_id = Placeholder1 and r_id = Placeholder2 and g_id = Placeholder3"
,
keyInfo
:{
"self"
:
"self_left_power"
,
"opponent"
:
"opponent_left_power"
,
"time"
:
"time_left"
}
keyInfo
:{
"self"
:
"SELF_LEFT_POWER"
,
"opponent"
:
"OPPONENT_LEFT_POWER"
,
"time"
:
"TIME_LEFT"
}
},
"右侧爆发能量"
:{
sql
:
"select * from right_power where m_id = Placeholder1 and r_id = Placeholder2 and g_id = Placeholder3"
,
keyInfo
:{
"self"
:
"
self_right_power"
,
"opponent"
:
"opponent_right_power"
,
"time"
:
"time_right
"
}
keyInfo
:{
"self"
:
"
SELF_RIGHT_POWER"
,
"opponent"
:
"OPPONENT_RIGHT_POWER"
,
"time"
:
"TIME_RIGHT
"
}
},
"左侧球移动速度"
:{
sql
:
"select * from left_ballmove where m_id = Placeholder1 and r_id = Placeholder2 and g_id = Placeholder3"
,
keyInfo
:{
"self"
:
"
self_left_ballmove"
,
"opponent"
:
"opponent_left_ballmove"
,
"time"
:
"time_left
"
}
keyInfo
:{
"self"
:
"
SELF_LEFT_BALLMOVE"
,
"opponent"
:
"OPPONENT_LEFT_BALLMOVE"
,
"time"
:
"TIME_LEFT
"
}
},
"右侧球移动速度"
:{
sql
:
"select * from right_ballmove where m_id = Placeholder1 and r_id = Placeholder2 and g_id = Placeholder3"
,
keyInfo
:{
"self"
:
"
self_right_ballmove"
,
"opponent"
:
"opponent_right_ballmove"
,
"time"
:
"time_right
"
}
keyInfo
:{
"self"
:
"
SELF_RIGHT_BALLMOVE"
,
"opponent"
:
"OPPONENT_RIGHT_BALLMOVE"
,
"time"
:
"TIME_RIGHT
"
}
}
};
let
result
=
{};
...
...
@@ -155,9 +156,9 @@ export async function get散点图(mid, rid, gid) {
selectResult
.
forEach
(
info
=>
{
result
.
push
({
time
:
info
.
m_time
,
x
:
info
.
x
,
y
:
info
.
y
time
:
info
.
M_TIME
,
x
:
info
.
X
,
y
:
info
.
Y
});
});
...
...
@@ -165,34 +166,34 @@ export async function get散点图(mid, rid, gid) {
}
export
async
function
get
右侧数据
(
mid
)
{
let
airSql
=
"select * from attack_and_defense_area where mid = Placeholder1"
;
let
airSql
=
"select * from attack_and_defense_area where m
_
id = Placeholder1"
;
let
mastResultStatsData
=
await
selectData
(
airSql
,
mid
);
let
attackData
=
[];
let
defenceData
=
[];
mastResultStatsData
.
forEach
(
info
=>
{
let
{
area_id
,
attack
,
defence
}
=
info
;
let
{
AREA_ID
,
ATTACK
,
defence
}
=
info
;
attackData
.
push
({
area
:
area_id
,
attack
,
area
:
AREA_ID
,
attack
:
ATTACK
,
});
defenceData
.
push
({
area
:
area_id
,
area
:
AREA_ID
,
defence
});
});
let
stationSql
=
"select * from thermal_station where mid = Placeholder1"
;
let
stationSql
=
"select * from thermal_station where m
_
id = Placeholder1"
;
let
stationStatsData
=
await
selectData
(
stationSql
,
mid
);
let
stationData
=
[];
stationStatsData
.
forEach
(
info
=>
{
let
{
area_id
,
self_count_rate
,
opponent_count_rate
}
=
info
;
let
{
AREA_ID
,
SELF_COUNT_RATE
,
OPPONENT_COUNT_RATE
}
=
info
;
stationData
.
push
({
area
:
area_id
,
self
:
self_count_rate
,
opponent
:
opponent_count_rate
area
:
AREA_ID
,
self
:
SELF_COUNT_RATE
,
opponent
:
OPPONENT_COUNT_RATE
});
});
...
...
src/data/ydyglData.ts
View file @
d51d07b9
...
...
@@ -6,7 +6,7 @@ const percentStr = '&%';
const
sqlKeyValueConfig
=
{
"左上数据"
:{
sql
:
"select * from train_stu_and_video"
,
analysis
:{
"训练学生数"
:
"TRAIN_STU_NUM"
,
"训练学生数增幅"
:
"TRAIN_STU_VARY
&%"
,
"训练视频采集数"
:
"TRAIN_VIDEO_NUM"
,
"训练视频采集数增幅"
:
"TRAIN_VIDEO_VARY&%
"
}
analysis
:{
"训练学生数"
:
"TRAIN_STU_NUM"
,
"训练学生数增幅"
:
"TRAIN_STU_VARY
"
,
"训练视频采集数"
:
"TRAIN_VIDEO_NUM"
,
"训练视频采集数增幅"
:
"TRAIN_VIDEO_VARY
"
}
},
"运动员年龄分布"
:{
sql
:
"select * from age_range"
,
...
...
@@ -30,7 +30,7 @@ const sqlKeyValueConfig = {
},
"右上数据"
:{
sql
:
"select * from match_and_player_count"
,
analysis
:{
"比赛场次"
:
"MATCH_COUNT"
,
"比赛场次增幅"
:
"MATCH_COUNT_VARY
&%"
,
"参赛覆盖人员"
:
"PLAYER_COUNT"
,
"参赛覆盖人员增幅"
:
"PLAYER_COUNT_VARY&%
"
},
analysis
:{
"比赛场次"
:
"MATCH_COUNT"
,
"比赛场次增幅"
:
"MATCH_COUNT_VARY
"
,
"参赛覆盖人员"
:
"PLAYER_COUNT"
,
"参赛覆盖人员增幅"
:
"PLAYER_COUNT_VARY
"
},
},
"比赛类型"
:{
sql
:
"select * from match_type"
,
...
...
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