Commit 01bfd7a3 by chenjinjing

no message

parent c1e9a3d1
...@@ -6,7 +6,7 @@ import { getChartData, objKeyReplace, getKeyValue, getSingleYAndMoreData, getLis ...@@ -6,7 +6,7 @@ import { getChartData, objKeyReplace, getKeyValue, getSingleYAndMoreData, getLis
export async function getData(req, res) { export async function getData(req, res) {
let ret:any = {}; let ret:any = {};
let { pid } = req.query; let { pid } = req.query;
pid = parseInt(pid);
let baseInfo:any = await getBaseData(pid); let baseInfo:any = await getBaseData(pid);
let 基础信息DataAndUnit = objKeyReplace(baseInfo.基础信息); let 基础信息DataAndUnit = objKeyReplace(baseInfo.基础信息);
...@@ -41,9 +41,9 @@ export async function getData(req, res) { ...@@ -41,9 +41,9 @@ export async function getData(req, res) {
//接口2 近期比赛概览 //接口2 近期比赛概览
export async function getjqbsgl(req, res) { export async function getjqbsgl(req, res) {
let { pid, date } = req.query; let { PID, date } = req.query;
let ret:any = {}; let ret:any = {};
ret["jqbsgl"] = await 近期比赛概览(pid, date); ret["jqbsgl"] = await 近期比赛概览(PID, date);
res.send(ret); res.send(ret);
} }
...@@ -85,9 +85,9 @@ export async function get图表数据(req, res) { ...@@ -85,9 +85,9 @@ export async function get图表数据(req, res) {
async function 近期比赛概览(pid, inTime) { async function 近期比赛概览(PID, inTime) {
let time = inTime || new Date(); let time = inTime || new Date();
let 近期比赛概览数据 = await get近期比赛概览(pid, time); let 近期比赛概览数据 = await get近期比赛概览(PID, time);
let subTitle = 近期比赛概览数据.length > 0 ? 近期比赛概览数据[0].date : ""; let subTitle = 近期比赛概览数据.length > 0 ? 近期比赛概览数据[0].date : "";
return { return {
title:"近期比赛概览", title:"近期比赛概览",
......
...@@ -12,7 +12,9 @@ export async function selectOnceObjectData(sqlStr, ...placeholders) { ...@@ -12,7 +12,9 @@ export async function selectOnceObjectData(sqlStr, ...placeholders) {
paramaterList.push(thisStr); paramaterList.push(thisStr);
}); });
const result = await orcaleDB.execute(str); let result;
if (placeholders.length) result = await orcaleDB.execute(str, paramaterList);
else result = await orcaleDB.execute(str);
if (!result || !result.rows) return {}; if (!result || !result.rows) return {};
return result.rows[result.rows.length - 1] || {}; return result.rows[result.rows.length - 1] || {};
...@@ -26,7 +28,10 @@ export async function selectData(sqlStr, ...placeholders) { ...@@ -26,7 +28,10 @@ export async function selectData(sqlStr, ...placeholders) {
str = str.replace(`${placeholder}${num}`, `:${num}`); str = str.replace(`${placeholder}${num}`, `:${num}`);
paramaterList.push(thisStr); paramaterList.push(thisStr);
}); });
let result;
if (placeholders.length) result = await orcaleDB.execute(str, paramaterList);
else result = await orcaleDB.execute(str);
const result = await orcaleDB.execute(str);
return result.rows; return result.rows;
} }
\ No newline at end of file
...@@ -4,9 +4,9 @@ export async function getBaseData(id) { ...@@ -4,9 +4,9 @@ export async function getBaseData(id) {
let result = {}; let result = {};
let sql = 'select * from students_detail where pid=Placeholder1'; 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","姓名":"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 scoreObj = { "击球速度":"HIT_SPEED", "击球力量":"HIT_POWER", "正手能力":"FOREHAND", "反手能力":"BACKHAND", "得分率":"SCORE_RATE&%"};
let selectResult = await selectOnceObjectData(sql, id); let selectResult = await selectOnceObjectData(sql, id);
...@@ -22,7 +22,7 @@ export async function getBaseData(id) { ...@@ -22,7 +22,7 @@ export async function getBaseData(id) {
let configKey = scoreObj[key]; let configKey = scoreObj[key];
scoreData[key] = checkUnit(configKey, selectResult, false); scoreData[key] = checkUnit(configKey, selectResult, false);
} }
result["基础信息"] = scoreData; result["击球信息"] = scoreData;
return result; return result;
...@@ -39,9 +39,9 @@ function checkUnit(str, data, allUnit?) { ...@@ -39,9 +39,9 @@ function checkUnit(str, data, allUnit?) {
} }
export async function get近期比赛概览(pid, checkDate) { 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 date < Placeholder2";
let selectResult = await selectData(sql, pid, checkDate); let selectResult = await selectData(sql, PID, checkDate);
let result = []; let result = [];
selectResult.forEach(info => { selectResult.forEach(info => {
let selfScore = info.self_score || 0; let selfScore = info.self_score || 0;
......
...@@ -6,31 +6,31 @@ const percentStr = '&%'; ...@@ -6,31 +6,31 @@ const percentStr = '&%';
const sqlKeyValueConfig = { const sqlKeyValueConfig = {
"左上数据":{ "左上数据":{
sql:"select * from train_stu_and_video", 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", sql:"select * from age_range",
analysis:{"6-11岁":"age6_11", "12-15岁":"age12_15", "16-22岁":"age16_22", "23岁以上":"age_b23" }, analysis:{"6-11岁":"AGE6_11", "12-15岁":"AGE12_15", "16-22岁":"AGE16_22", "23岁以上":"AGE_B23" },
haveUnit:"&%" haveUnit:"&%"
}, },
"运动员性别占比":{ "运动员性别占比":{
sql:"select * from sex_ratio", sql:"select * from sex_ratio",
analysis:{ "男":"male", "女":"female" }, analysis:{ "男":"MALE", "女":"FEMALE" },
haveUnit:"&%" haveUnit:"&%"
}, },
"训练类型":{ "训练类型":{
sql:"select * from train_type", sql:"select * from train_type",
analysis:{"外旋练习":"outspin", "内旋练习":"inspin", "反手练习":"backhand", "杀球练习":"smash" }, analysis:{"外旋练习":"OUTSPIN", "内旋练习":"INSPIN", "反手练习":"BACKHAND", "杀球练习":"SMASH" },
haveUnit:"&%" haveUnit:"&%"
}, },
"动作模型练习":{ "动作模型练习":{
sql:"select * from motion_model", sql:"select * from motion_model",
analysis:{ "模型A":"modelA", "模型B":"modelB", "模型C":"modelC", "模型D":"modelD" }, analysis:{ "模型A":"MODELA", "模型B":"MODELB", "模型C":"MODELC", "模型D":"MODELD" },
haveUnit:"&%" haveUnit:"&%"
}, },
"右上数据":{ "右上数据":{
sql:"select * from match_and_player_count", 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", sql:"select * from match_type",
...@@ -39,7 +39,7 @@ const sqlKeyValueConfig = { ...@@ -39,7 +39,7 @@ const sqlKeyValueConfig = {
}, },
"参赛性别占比":{ "参赛性别占比":{
sql:"select * from player_sex_ratio", sql:"select * from player_sex_ratio",
analysis:{ "男":"male", "女":"female" }, analysis:{ "男":"MALE", "女":"FEMALE" },
haveUnit:"&%" haveUnit:"&%"
} }
}; };
...@@ -95,7 +95,7 @@ function checkUnit(str, data, allUnit?) { ...@@ -95,7 +95,7 @@ function checkUnit(str, data, allUnit?) {
export async function get最近一条淘汰赛时间() { export async function get最近一条淘汰赛时间() {
let sql = "select g_month,g_type from points_competition" let sql = "select g_month,g_type from points_competition"
let result = await selectOnceObjectData(sql); let result = await selectOnceObjectData(sql);
return {time:result["g_month"], type:result["g_type"]}; return {time:result["G_MONTH"], type:result["G_TYPE"]};
} }
export async function get积分赛淘汰赛数据(time, type) { export async function get积分赛淘汰赛数据(time, type) {
...@@ -105,14 +105,14 @@ export async function get积分赛淘汰赛数据(time, type) { ...@@ -105,14 +105,14 @@ export async function get积分赛淘汰赛数据(time, type) {
let list = []; let list = [];
selectResult.forEach(info => { selectResult.forEach(info => {
let {rank, p_name, game_count, win, lose, points} = info; let {RANK, P_NAME, GAME_COUNT, WIN, LOSE, POINTS} = info;
list.push({ list.push({
rank, rank:RANK,
p_name:p_name, p_name:P_NAME,
gameCount:game_count, gameCount:GAME_COUNT,
win, win:WIN,
lose, lose:LOSE,
points points:POINTS
}); });
}); });
...@@ -124,21 +124,13 @@ export async function get男女训练成绩对比() { ...@@ -124,21 +124,13 @@ export async function get男女训练成绩对比() {
let sql = "select * from train_month_sex"; let sql = "select * from train_month_sex";
let selectResult = await selectData(sql); let selectResult = await selectData(sql);
let maleAndFemale = {};// {"男":[{key:"1月", value:男值 }], "女":[{key:"1月", value:女值 }]} let maleAndFemale = {"男":{}, "女":{}};// {"男":[{key:"1月", value:男值 }], "女":[{key:"1月", value:女值 }]}
let countMap = {};// {"1月":总和, } let countMap = {};// {"1月":总和, }
selectResult.forEach(info => { selectResult.forEach(info => {
let {month_sex, female, male} = info; let {MONTH_SEX, FEMALE, MALE} = info;
if ( !maleAndFemale[female] ) maleAndFemale[female] = []; maleAndFemale["女"][MONTH_SEX] = FEMALE
maleAndFemale[female].push({ maleAndFemale["男"][MONTH_SEX] = MALE;
key:month_sex, countMap[MONTH_SEX] = FEMALE + MALE;
value:female
});
if ( !maleAndFemale[male] ) maleAndFemale[male] = [];
maleAndFemale[male].push({
key:month_sex,
value:male
});
countMap[month_sex] = female + male;
}); });
return {maleAndFemale, countMap}; return {maleAndFemale, countMap};
...@@ -172,26 +164,26 @@ export async function 基础数据() { ...@@ -172,26 +164,26 @@ export async function 基础数据() {
let result = [];//[{... list:[{}, {}, {}] }] let result = [];//[{... list:[{}, {}, {}] }]
let distinctMap = {}; let distinctMap = {};
selectList.forEach(info => { selectList.forEach(info => {
let {p_id, birth, habitual_hand, match_count, win_count, win_rate, self_name, self_score, opponent_score, opponent_name, m_id, self_pic} = info; let {p_id, BIRTH, HABITUAL_HAND, MATCH_COUNT, WIN_COUNT, WIN_RATE, SELF_NAME, SELF_SCORE, OPPONENT_SCORE, OPPONENT_NAME, M_ID, SELF_PIC} = info;
if (!distinctMap[p_id]) { if (!distinctMap[p_id]) {
distinctMap[p_id] = { distinctMap[p_id] = {
"出生日期": birth, "出生日期": BIRTH,
"惯用手": habitual_hand, "惯用手": HABITUAL_HAND,
"比赛场次": match_count, "比赛场次": MATCH_COUNT,
"胜场": win_count, "胜场": WIN_COUNT,
"胜率": win_rate, "胜率": WIN_RATE,
"mid":m_id, "mid":M_ID,
"名称":self_name, "名称":SELF_NAME,
"img":self_pic, "img":SELF_PIC,
"abbr":pyfl(self_name).substring(0,1), "abbr":pyfl(SELF_NAME).substring(0,1),
list:[] list:[]
}; };
} }
distinctMap[p_id].list.push({ distinctMap[p_id].list.push({
selfName:self_name, selfName:SELF_NAME,
selfScore:self_score, selfScore:SELF_SCORE,
opponentScore:opponent_score, opponentScore:OPPONENT_SCORE,
opponentName:opponent_name, opponentName:OPPONENT_NAME,
}); });
}); });
......
//端口 //端口
export function getPort() : number { export function getPort() : number {
return Number(process.env.PORT) || Number(process.argv[3]) || 7536; return Number(process.env.PORT) || Number(process.argv[3]) || 7537; //7536
} }
// sit 测试环境 prod 生产环境 dem 演示环境(测试数据,前端无密码访问) // sit 测试环境 prod 生产环境 dem 演示环境(测试数据,前端无密码访问)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment