Fix: menu app data list
This commit is contained in:
@@ -178,26 +178,54 @@ class MenuCollection extends DBMethodContainer
|
||||
|
||||
|
||||
// highest record list
|
||||
public function getHighestRecordList($maestroID, $playerID, $appGroup, $language)
|
||||
public function getHighestRecordList($maestroID, $playerID, $appList)
|
||||
{
|
||||
switch($appGroup) {
|
||||
case 0: // typing finger position
|
||||
case 1: // typing practice
|
||||
case 3: // typing play
|
||||
return $this->getTypingHighestRecordList($maestroID, $playerID, $appGroup, $language);
|
||||
return $this->getTypingHighestRecordList($maestroID, $playerID, $appList);
|
||||
|
||||
case 2:
|
||||
// return $this->getTypingExamHighestRecordWritingList($maestroID, $playerID, $appGroup, $language);
|
||||
|
||||
case 3: // typing play
|
||||
case 4: // mouse play
|
||||
// return $this->getMouseHighestRecordList($maestroID, $playerID, $appGroup);
|
||||
return null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public function getTypingHighestRecordList($maestroID, $playerID, $appGroup, $language)
|
||||
public function getTypingHighestRecordList($maestroID, $playerID, $appList)
|
||||
{
|
||||
return null;
|
||||
$highestRecordArray = array();
|
||||
$count = count($appList);
|
||||
for($i = 0; $i < $count; $i++) {
|
||||
$appID = $appList[$i]["appID"];
|
||||
$highestRecord["appID"] = $appID;
|
||||
$highestRecord["HighestRecord"] = $this->getTypingHighestRecord($maestroID, $playerID, $appID);
|
||||
array_push($highestRecordArray, $highestRecord);
|
||||
|
||||
}
|
||||
return $highestRecordArray;
|
||||
}
|
||||
|
||||
public function getTypingHighestRecord($maestroID, $playerID, $appID)
|
||||
{
|
||||
$query = "
|
||||
SELECT HighestRecord
|
||||
FROM app_highest_record
|
||||
WHERE MaestroID=? AND PlayerID=? AND AppID=?";
|
||||
$stmt = $this->mysqli->prepare($query);
|
||||
$stmt->bind_param("iii", $maestroID, $playerID, $appID);
|
||||
$stmt->execute();
|
||||
$stmt->bind_result($highestRecord);
|
||||
$returnValue = $stmt->fetch();
|
||||
$stmt->close();
|
||||
|
||||
if($returnValue === NULL || $returnValue === FALSE)
|
||||
return 0;
|
||||
|
||||
return $highestRecord;
|
||||
}
|
||||
|
||||
public function getTypingExamHighestRecordWritingList($maestroID, $playerID, $appGroup, $language)
|
||||
|
||||
@@ -28,7 +28,7 @@ include "./../db/menu_collection.php";
|
||||
$menuCollection = new MenuCollection($dbConnector->getMysqli());
|
||||
$appList = $menuCollection->getAppList($maestroID, $playerID, $appGroup, $language);
|
||||
$activeAppList = $menuCollection->getActiveAppList($maestroID, $playerID, $appGroup, $language);
|
||||
$highestRecordList = $menuCollection->getHighestRecordList($maestroID, $playerID, $appGroup, $language);
|
||||
$highestRecordList = $menuCollection->getHighestRecordList($maestroID, $playerID, $appList);
|
||||
|
||||
$jsonBuilder->setData("appGroupName", $menuCollection->getAppGroupName($appGroup));
|
||||
$jsonBuilder->setData("languageName", $menuCollection->getLanguageName($language));
|
||||
|
||||
+178
-10
@@ -9,7 +9,28 @@ QUnit.test( "AppList", function( assert ) {
|
||||
dbService.setMaestroID(MAESTRO_ID);
|
||||
dbService.setPlayerID(PLAYER_ID);
|
||||
|
||||
var done = assert.async();
|
||||
var asyncFingerPositionKorean = assert.async();
|
||||
setTimeout(function() {
|
||||
var appGroup = 0; // finger position
|
||||
var language = 0; // Korean
|
||||
dbService.requestMainMenuAppData(
|
||||
appGroup,
|
||||
language,
|
||||
(function(jsonData) {
|
||||
assert.equal(jsonData.appGroup, appGroup, "appGroup : finger position, Korean");
|
||||
assert.equal(jsonData.appList.length, 8, "appList");
|
||||
assert.equal(jsonData.activeAppList.length, 8, "activeAppList");
|
||||
assert.equal(jsonData.highestRecordList.length, 8, "highestRecordList");
|
||||
asyncFingerPositionKorean();
|
||||
}).bind(this),
|
||||
(function(jsonData) {
|
||||
console.log(replyJSON);
|
||||
asyncFingerPositionKorean();
|
||||
}).bind(this)
|
||||
);
|
||||
});
|
||||
|
||||
var asyncFingerPositionEnglish = assert.async();
|
||||
setTimeout(function() {
|
||||
var appGroup = 0; // finger position
|
||||
var language = 1; // English
|
||||
@@ -17,20 +38,20 @@ QUnit.test( "AppList", function( assert ) {
|
||||
appGroup,
|
||||
language,
|
||||
(function(jsonData) {
|
||||
assert.equal(jsonData.appGroup, appGroup, "appGroup : finger position, English");
|
||||
assert.equal(jsonData.appGroup, appGroup, "#1 appGroup : finger position, English");
|
||||
assert.equal(jsonData.appList.length, 7, "appList");
|
||||
assert.equal(jsonData.activeAppList.length, 5, "activeAppList");
|
||||
assert.equal(jsonData.highestRecordList, null, "highestRecordList");
|
||||
done();
|
||||
assert.equal(jsonData.highestRecordList.length, 7, "highestRecordList");
|
||||
asyncFingerPositionEnglish();
|
||||
}).bind(this),
|
||||
(function(jsonData) {
|
||||
console.log(replyJSON);
|
||||
done();
|
||||
asyncFingerPositionEnglish();
|
||||
}).bind(this)
|
||||
);
|
||||
});
|
||||
|
||||
var done2 = assert.async();
|
||||
var asyncPracticeKorean = assert.async();
|
||||
setTimeout(function() {
|
||||
var appGroup = 1; // typing practice
|
||||
var language = 0; // Korean
|
||||
@@ -38,15 +59,162 @@ QUnit.test( "AppList", function( assert ) {
|
||||
appGroup,
|
||||
language,
|
||||
(function(jsonData) {
|
||||
assert.equal(jsonData.appGroup, appGroup, "appGroup : typing practice, Korean");
|
||||
assert.equal(jsonData.appGroup, appGroup, "#2 appGroup : typing practice, Korean");
|
||||
assert.equal(jsonData.appList.length, 10, "appList");
|
||||
assert.equal(jsonData.activeAppList.length, 10, "activeAppList");
|
||||
assert.equal(jsonData.highestRecordList, null, "highestRecordList");
|
||||
done2();
|
||||
assert.equal(jsonData.highestRecordList.length, 10, "highestRecordList");
|
||||
asyncPracticeKorean();
|
||||
}).bind(this),
|
||||
(function(jsonData) {
|
||||
console.log(replyJSON);
|
||||
done2();
|
||||
asyncPracticeKorean();
|
||||
}).bind(this)
|
||||
);
|
||||
});
|
||||
|
||||
var asyncPracticeEnglish = assert.async();
|
||||
setTimeout(function() {
|
||||
var appGroup = 1; // typing practice
|
||||
var language = 1; // English
|
||||
dbService.requestMainMenuAppData(
|
||||
appGroup,
|
||||
language,
|
||||
(function(jsonData) {
|
||||
assert.equal(jsonData.appGroup, appGroup, "#2 appGroup : typing practice, English");
|
||||
assert.equal(jsonData.appList.length, 8, "appList");
|
||||
assert.equal(jsonData.activeAppList.length, 10, "activeAppList");
|
||||
assert.equal(jsonData.highestRecordList.length, 10, "highestRecordList");
|
||||
asyncPracticeEnglish();
|
||||
}).bind(this),
|
||||
(function(jsonData) {
|
||||
console.log(replyJSON);
|
||||
asyncPracticeEnglish();
|
||||
}).bind(this)
|
||||
);
|
||||
});
|
||||
|
||||
var asyncTestKorean = assert.async();
|
||||
setTimeout(function() {
|
||||
var appGroup = 2; // typing test
|
||||
var language = 0; // Korean
|
||||
dbService.requestMainMenuAppData(
|
||||
appGroup,
|
||||
language,
|
||||
(function(jsonData) {
|
||||
assert.equal(jsonData.appGroup, appGroup, "#3 appGroup : typing test, Korean");
|
||||
assert.equal(jsonData.appList.length, 10, "appList");
|
||||
assert.equal(jsonData.activeAppList.length, 10, "activeAppList");
|
||||
assert.equal(jsonData.highestRecordList.length, 10, "highestRecordList");
|
||||
asyncTestKorean();
|
||||
}).bind(this),
|
||||
(function(jsonData) {
|
||||
console.log(replyJSON);
|
||||
asyncTestKorean();
|
||||
}).bind(this)
|
||||
);
|
||||
});
|
||||
|
||||
var asyncTestEnglish = assert.async();
|
||||
setTimeout(function() {
|
||||
var appGroup = 2; // typing test
|
||||
var language = 1; // English
|
||||
dbService.requestMainMenuAppData(
|
||||
appGroup,
|
||||
language,
|
||||
(function(jsonData) {
|
||||
assert.equal(jsonData.appGroup, appGroup, "#3 appGroup : typing test, English");
|
||||
assert.equal(jsonData.appList, 10, "appList");
|
||||
assert.equal(jsonData.activeAppList.length, 10, "activeAppList");
|
||||
assert.equal(jsonData.highestRecordList.length, 10, "highestRecordList");
|
||||
asyncTestEnglish();
|
||||
}).bind(this),
|
||||
(function(jsonData) {
|
||||
console.log(replyJSON);
|
||||
asyncTestEnglish();
|
||||
}).bind(this)
|
||||
);
|
||||
});
|
||||
|
||||
var asyncTypingPlayKorean = assert.async();
|
||||
setTimeout(function() {
|
||||
var appGroup = 3; // typing play
|
||||
var language = 0; // Korean
|
||||
dbService.requestMainMenuAppData(
|
||||
appGroup,
|
||||
language,
|
||||
(function(jsonData) {
|
||||
assert.equal(jsonData.appGroup, appGroup, "#4 appGroup : typing play, Korean");
|
||||
assert.equal(jsonData.appList.length, 2, "appList");
|
||||
assert.equal(jsonData.activeAppList.length, 2, "activeAppList");
|
||||
assert.equal(jsonData.highestRecordList, null, "highestRecordList");
|
||||
asyncTypingPlayKorean();
|
||||
}).bind(this),
|
||||
(function(jsonData) {
|
||||
console.log(replyJSON);
|
||||
asyncTypingPlayKorean();
|
||||
}).bind(this)
|
||||
);
|
||||
});
|
||||
|
||||
var asyncTypingPlayEnglish = assert.async();
|
||||
setTimeout(function() {
|
||||
var appGroup = 3; // typing play
|
||||
var language = 1; // English
|
||||
dbService.requestMainMenuAppData(
|
||||
appGroup,
|
||||
language,
|
||||
(function(jsonData) {
|
||||
assert.equal(jsonData.appGroup, appGroup, "#4 appGroup : typing play, English");
|
||||
assert.equal(jsonData.appList.length, 2, "appList");
|
||||
assert.equal(jsonData.activeAppList.length, 2, "activeAppList");
|
||||
assert.equal(jsonData.highestRecordList, null, "highestRecordList");
|
||||
asyncTypingPlayEnglish();
|
||||
}).bind(this),
|
||||
(function(jsonData) {
|
||||
console.log(replyJSON);
|
||||
asyncTypingPlayEnglish();
|
||||
}).bind(this)
|
||||
);
|
||||
});
|
||||
|
||||
var asyncMousePlayKorean = assert.async();
|
||||
setTimeout(function() {
|
||||
var appGroup = 4; // mouse play
|
||||
var language = 0; // Korean
|
||||
dbService.requestMainMenuAppData(
|
||||
appGroup,
|
||||
language,
|
||||
(function(jsonData) {
|
||||
assert.equal(jsonData.appGroup, appGroup, "#5 appGroup : mouse play, Korean");
|
||||
assert.equal(jsonData.appList.length, 10, "appList");
|
||||
assert.equal(jsonData.activeAppList.length, 10, "activeAppList");
|
||||
assert.equal(jsonData.highestRecordList, null, "highestRecordList");
|
||||
asyncMousePlayKorean();
|
||||
}).bind(this),
|
||||
(function(jsonData) {
|
||||
console.log(replyJSON);
|
||||
asyncMousePlayKorean();
|
||||
}).bind(this)
|
||||
);
|
||||
});
|
||||
|
||||
var asyncMousePlayEnglish = assert.async();
|
||||
setTimeout(function() {
|
||||
var appGroup = 4; // mouse play
|
||||
var language = 1; // English
|
||||
dbService.requestMainMenuAppData(
|
||||
appGroup,
|
||||
language,
|
||||
(function(jsonData) {
|
||||
assert.equal(jsonData.appGroup, appGroup, "#5 appGroup : mouse play, English");
|
||||
assert.equal(jsonData.appList.length, 10, "appList");
|
||||
assert.equal(jsonData.activeAppList.length, 10, "activeAppList");
|
||||
assert.equal(jsonData.highestRecordList, null, "highestRecordList");
|
||||
asyncMousePlayEnglish();
|
||||
}).bind(this),
|
||||
(function(jsonData) {
|
||||
console.log(replyJSON);
|
||||
asyncMousePlayEnglish();
|
||||
}).bind(this)
|
||||
);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user