Commit 01bfd7a3 by chenjinjing

no message

parent c1e9a3d1
......@@ -6,7 +6,7 @@ import { getChartData, objKeyReplace, getKeyValue, getSingleYAndMoreData, getLis
export async function getData(req, res) {
let ret:any = {};
let { pid } = req.query;
pid = parseInt(pid);
let baseInfo:any = await getBaseData(pid);
let 基础信息DataAndUnit = objKeyReplace(baseInfo.基础信息);
......@@ -41,9 +41,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 +85,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:"近期比赛概览",
......
......@@ -12,7 +12,9 @@ export async function selectOnceObjectData(sqlStr, ...placeholders) {
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 {};
return result.rows[result.rows.length - 1] || {};
......@@ -26,7 +28,10 @@ export async function selectData(sqlStr, ...placeholders) {
str = str.replace(`${placeholder}${num}`, `:${num}`);
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;
}
\ No newline at end of file
......@@ -4,9 +4,9 @@ export async function getBaseData(id) {
let result = {};
let sql = 'select * from students_detail where pid=Placeholder1';
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 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 scoreObj = { "击球速度":"HIT_SPEED", "击球力量":"HIT_POWER", "正手能力":"FOREHAND", "反手能力":"BACKHAND", "得分率":"SCORE_RATE&%"};
let selectResult = await selectOnceObjectData(sql, id);
......@@ -22,7 +22,7 @@ export async function getBaseData(id) {
let configKey = scoreObj[key];
scoreData[key] = checkUnit(configKey, selectResult, false);
}
result["基础信息"] = scoreData;
result["击球信息"] = scoreData;
return result;
......@@ -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 selectResult = await selectData(sql, pid, checkDate);
let selectResult = await selectData(sql, PID, checkDate);
let result = [];
selectResult.forEach(info => {
let selfScore = info.self_score || 0;
......
......@@ -6,31 +6,31 @@ 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",
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:"&%"
},
"运动员性别占比":{
sql:"select * from sex_ratio",
analysis:{ "男":"male", "女":"female" },
analysis:{ "男":"MALE", "女":"FEMALE" },
haveUnit:"&%"
},
"训练类型":{
sql:"select * from train_type",
analysis:{"外旋练习":"outspin", "内旋练习":"inspin", "反手练习":"backhand", "杀球练习":"smash" },
analysis:{"外旋练习":"OUTSPIN", "内旋练习":"INSPIN", "反手练习":"BACKHAND", "杀球练习":"SMASH" },
haveUnit:"&%"
},
"动作模型练习":{
sql:"select * from motion_model",
analysis:{ "模型A":"modelA", "模型B":"modelB", "模型C":"modelC", "模型D":"modelD" },
analysis:{ "模型A":"MODELA", "模型B":"MODELB", "模型C":"MODELC", "模型D":"MODELD" },
haveUnit:"&%"
},
"右上数据":{
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",
......@@ -39,7 +39,7 @@ const sqlKeyValueConfig = {
},
"参赛性别占比":{
sql:"select * from player_sex_ratio",
analysis:{ "男":"male", "女":"female" },
analysis:{ "男":"MALE", "女":"FEMALE" },
haveUnit:"&%"
}
};
......@@ -95,7 +95,7 @@ function checkUnit(str, data, allUnit?) {
export async function get最近一条淘汰赛时间() {
let sql = "select g_month,g_type from points_competition"
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) {
......@@ -105,14 +105,14 @@ export async function get积分赛淘汰赛数据(time, type) {
let list = [];
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({
rank,
p_name:p_name,
gameCount:game_count,
win,
lose,
points
rank:RANK,
p_name:P_NAME,
gameCount:GAME_COUNT,
win:WIN,
lose:LOSE,
points:POINTS
});
});
......@@ -124,21 +124,13 @@ export async function get男女训练成绩对比() {
let sql = "select * from train_month_sex";
let selectResult = await selectData(sql);
let maleAndFemale = {};// {"男":[{key:"1月", value:男值 }], "女":[{key:"1月", value:女值 }]}
let maleAndFemale = {"男":{}, "女":{}};// {"男":[{key:"1月", value:男值 }], "女":[{key:"1月", value:女值 }]}
let countMap = {};// {"1月":总和, }
selectResult.forEach(info => {
let {month_sex, female, male} = info;
if ( !maleAndFemale[female] ) maleAndFemale[female] = [];
maleAndFemale[female].push({
key:month_sex,
value:female
});
if ( !maleAndFemale[male] ) maleAndFemale[male] = [];
maleAndFemale[male].push({
key:month_sex,
value:male
});
countMap[month_sex] = female + male;
let {MONTH_SEX, FEMALE, MALE} = info;
maleAndFemale["女"][MONTH_SEX] = FEMALE
maleAndFemale["男"][MONTH_SEX] = MALE;
countMap[MONTH_SEX] = FEMALE + MALE;
});
return {maleAndFemale, countMap};
......@@ -172,26 +164,26 @@ export async function 基础数据() {
let result = [];//[{... list:[{}, {}, {}] }]
let distinctMap = {};
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]) {
distinctMap[p_id] = {
"出生日期": birth,
"惯用手": habitual_hand,
"比赛场次": match_count,
"胜场": win_count,
"胜率": win_rate,
"mid":m_id,
"名称":self_name,
"img":self_pic,
"abbr":pyfl(self_name).substring(0,1),
"出生日期": BIRTH,
"惯用手": HABITUAL_HAND,
"比赛场次": MATCH_COUNT,
"胜场": WIN_COUNT,
"胜率": WIN_RATE,
"mid":M_ID,
"名称":SELF_NAME,
"img":SELF_PIC,
"abbr":pyfl(SELF_NAME).substring(0,1),
list:[]
};
}
distinctMap[p_id].list.push({
selfName:self_name,
selfScore:self_score,
opponentScore:opponent_score,
opponentName:opponent_name,
selfName:SELF_NAME,
selfScore:SELF_SCORE,
opponentScore:OPPONENT_SCORE,
opponentName:OPPONENT_NAME,
});
});
......
//端口
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 演示环境(测试数据,前端无密码访问)
......
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