Add: get_typing_exam_ranking_records

This commit is contained in:
2019-07-18 11:55:49 +09:00
parent 1fe0b08e9f
commit 1f6d91f301
7 changed files with 346 additions and 33 deletions
+101 -2
View File
@@ -193,7 +193,7 @@ DBService.prototype.getTypingExamHighestRecord = function(writingID, onSucceeded
);
}
DBService.prototype.requestWritingPlayerHistory = function(writingID, date, onSucceededListener, onFailedListener) {
DBService.prototype.requestTypingExamPlayerHistory = function(writingID, date, onSucceededListener, onFailedListener) {
/*
var historyRecordManager = new HistoryRecordManager();
this.loadTempPlayerHistory(historyRecordManager);
@@ -224,7 +224,6 @@ DBService.prototype.requestWritingPlayerHistory = function(writingID, date, onSu
);
}
DBService.prototype.parseJSONtoHistoryRecord = function(jsonData) {
var historyRecordManager = new HistoryRecordManager();
@@ -276,3 +275,103 @@ DBService.prototype.loadTempRanking = function(rankingRecordManager) {
rankingRecordManager.push(new RankingRecord(15, 15, "우습지", 10));
rankingRecordManager.push(new RankingRecord(16, 16, "하하하", 4));
}
DBService.prototype.requestTypingExamRanking = function(type, writingID, date, time, onSucceededListener, onFailedListener) {
/*
var rankingRecordManager = new RankingRecordManager();
this.loadTempRanking(rankingRecordManager);
if(listener !== null)
listener(rankingRecordManager);
return;
}
*/
var xhr = this.makeXhr(
this.getRankingRecordUrl(type),
(function() { // onreadystatechange
if(xhr.readyState == 4 && xhr.status == 200) {
var replyJSON = JSON.parse(xhr.responseText);
if(replyJSON != null && replyJSON.result == "success")
onSucceededListener(type, this.parseJSONtoRankingRecord(type, replyJSON));
else
onFailedListener(replyJSON);
}
}).bind(this)
);
xhr.send(
"maestroID=" + this.maestroID
+ "&writingID=" + writingID
+ "&date=" + date
+ "&time=" + time
);
}
DBService.prototype.getRankingRecordUrl = function(type) {
var rankingRecordURL = this.webPath + "web/php/record/";
switch(type) {
case DBConnectManager.TYPE_MY_RANKING_HOUR:
case DBConnectManager.TYPE_ALL_RANKING_HOUR:
rankingRecordURL += "get_typing_exam_ranking_record_hour.php";
break;
case DBConnectManager.TYPE_MY_RANKING_DAY:
case DBConnectManager.TYPE_ALL_RANKING_DAY:
rankingRecordURL += "get_typing_exam_ranking_record_day.php";
break;
case DBConnectManager.TYPE_MY_RANKING_MONTH:
case DBConnectManager.TYPE_ALL_RANKING_MONTH:
rankingRecordURL += "get_typing_exam_ranking_record_month.php";
break;
}
return rankingRecordURL;
}
DBService.prototype.parseJSONtoRankingRecord = function(type, jsonData) {
var rankingRecordManager = new RankingRecordManager();
if(typeof jsonData === "undefined")
return rankingRecordManager;
var replyJSON = null;
switch(type) {
case DBConnectManager.TYPE_MY_RANKING_HOUR:
case DBConnectManager.TYPE_ALL_RANKING_HOUR:
replyJSON = jsonData.rankingHour;
break;
case DBConnectManager.TYPE_MY_RANKING_DAY:
case DBConnectManager.TYPE_ALL_RANKING_DAY:
replyJSON = jsonData.rankingDay;
break;
case DBConnectManager.TYPE_MY_RANKING_MONTH:
case DBConnectManager.TYPE_ALL_RANKING_MONTH:
replyJSON = jsonData.rankingMonth;
break;
}
if(replyJSON === null)
return rankingRecordManager;
var count = replyJSON.length;
for(var i = 0; i < count; i++) {
var record = new RankingRecord(
i + 1,
replyJSON[i]["PlayerID"],
replyJSON[i]["Name"],
replyJSON[i]["HighScore"]
);
rankingRecordManager.push(record);
}
return rankingRecordManager;
}