Add: get_typing_exam_ranking_records
This commit is contained in:
+101
-2
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ function HistoryBoard(dataType) {
|
||||
this.date = DateUtil.getYYYYMMDD(today);
|
||||
|
||||
if(isTypingExamApp()) {
|
||||
this.dbService.requestWritingPlayerHistory(
|
||||
this.dbService.requestTypingExamPlayerHistory(
|
||||
sessionStorageManager.getWritingID(),
|
||||
this.date,
|
||||
(function(historyRecordManager) {
|
||||
|
||||
@@ -20,6 +20,11 @@ function RankingBoard(type) {
|
||||
this.makeMedalSprites();
|
||||
|
||||
this.dbConnectManager = new DBConnectManager();
|
||||
|
||||
this.dbService = new DBService();
|
||||
this.dbService.setMaestroID(sessionStorageManager.getMaestroID());
|
||||
this.dbService.setPlayerID(sessionStorageManager.getPlayerID());
|
||||
|
||||
setTimeout(
|
||||
(function() {
|
||||
this.requestRanking(DBConnectManager.TYPE_MY_RANKING_HOUR);
|
||||
@@ -37,42 +42,61 @@ RankingBoard.prototype.requestRanking = function(type) {
|
||||
var date = DateUtil.getYYYYMMDD(today);
|
||||
var time = DateUtil.getHHMMSS(today);
|
||||
|
||||
this.dbConnectManager.requestRanking(
|
||||
type,
|
||||
sessionStorageManager.getMaestroID(),
|
||||
date,
|
||||
time,
|
||||
(function(type, rankingRecordManager) {
|
||||
if(rankingRecordManager.getCount() == 0) {
|
||||
console.log("ranking board - no data");
|
||||
return;
|
||||
}
|
||||
if(isTypingExamApp()) {
|
||||
this.dbService.requestTypingExamRanking(
|
||||
type,
|
||||
sessionStorageManager.getWritingID(),
|
||||
date,
|
||||
time,
|
||||
(function(type, rankingRecordManager) {
|
||||
this.onReceiveRankingData(type, rankingRecordManager);
|
||||
}).bind(this),
|
||||
(function(jsonData) {
|
||||
console.log(jsonData);
|
||||
}).bind(this)
|
||||
);
|
||||
} else {
|
||||
this.dbConnectManager.requestRanking(
|
||||
type,
|
||||
sessionStorageManager.getMaestroID(),
|
||||
date,
|
||||
time,
|
||||
(function(type, rankingRecordManager) {
|
||||
this.onReceiveRankingData(type, rankingRecordManager);
|
||||
}).bind(this)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
var beginIndex = this.getBeginIndex(rankingRecordManager);
|
||||
var endIndex = this.getEndIndex(rankingRecordManager);
|
||||
RankingBoard.prototype.onReceiveRankingData = function(type, rankingRecordManager) {
|
||||
if(rankingRecordManager.getCount() == 0) {
|
||||
console.log("ranking board - no data");
|
||||
return;
|
||||
}
|
||||
|
||||
for(var i = 0; i < endIndex - beginIndex; i++) {
|
||||
var index = beginIndex + i;
|
||||
var data = rankingRecordManager.getAt(index);
|
||||
this.printRecord(type, i, data);
|
||||
}
|
||||
var beginIndex = this.getBeginIndex(rankingRecordManager);
|
||||
var endIndex = this.getEndIndex(rankingRecordManager);
|
||||
|
||||
switch(type) {
|
||||
case DBConnectManager.TYPE_MY_RANKING_HOUR:
|
||||
this.showMedal(this.medalHour, this.getMyRank(rankingRecordManager));
|
||||
break;
|
||||
for(var i = 0; i < endIndex - beginIndex; i++) {
|
||||
var index = beginIndex + i;
|
||||
var data = rankingRecordManager.getAt(index);
|
||||
this.printRecord(type, i, data);
|
||||
}
|
||||
|
||||
case DBConnectManager.TYPE_MY_RANKING_DAY:
|
||||
this.showMedal(this.medalDay, this.getMyRank(rankingRecordManager));
|
||||
break;
|
||||
switch(type) {
|
||||
case DBConnectManager.TYPE_MY_RANKING_HOUR:
|
||||
this.showMedal(this.medalHour, this.getMyRank(rankingRecordManager));
|
||||
break;
|
||||
|
||||
case DBConnectManager.TYPE_MY_RANKING_MONTH:
|
||||
this.showMedal(this.medalMonth, this.getMyRank(rankingRecordManager));
|
||||
break;
|
||||
case DBConnectManager.TYPE_MY_RANKING_DAY:
|
||||
this.showMedal(this.medalDay, this.getMyRank(rankingRecordManager));
|
||||
break;
|
||||
|
||||
}
|
||||
}).bind(this)
|
||||
);
|
||||
case DBConnectManager.TYPE_MY_RANKING_MONTH:
|
||||
this.showMedal(this.medalMonth, this.getMyRank(rankingRecordManager));
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
RankingBoard.prototype.getMyRank = function(rankingRecordManager) {
|
||||
|
||||
Reference in New Issue
Block a user