Fix: menu app data list
This commit is contained in:
@@ -178,26 +178,54 @@ class MenuCollection extends DBMethodContainer
|
|||||||
|
|
||||||
|
|
||||||
// highest record list
|
// highest record list
|
||||||
public function getHighestRecordList($maestroID, $playerID, $appGroup, $language)
|
public function getHighestRecordList($maestroID, $playerID, $appList)
|
||||||
{
|
{
|
||||||
switch($appGroup) {
|
switch($appGroup) {
|
||||||
case 0: // typing finger position
|
case 0: // typing finger position
|
||||||
case 1: // typing practice
|
case 1: // typing practice
|
||||||
case 3: // typing play
|
return $this->getTypingHighestRecordList($maestroID, $playerID, $appList);
|
||||||
return $this->getTypingHighestRecordList($maestroID, $playerID, $appGroup, $language);
|
|
||||||
|
|
||||||
case 2:
|
case 2:
|
||||||
// return $this->getTypingExamHighestRecordWritingList($maestroID, $playerID, $appGroup, $language);
|
// return $this->getTypingExamHighestRecordWritingList($maestroID, $playerID, $appGroup, $language);
|
||||||
|
|
||||||
|
case 3: // typing play
|
||||||
case 4: // mouse play
|
case 4: // mouse play
|
||||||
// return $this->getMouseHighestRecordList($maestroID, $playerID, $appGroup);
|
return null;
|
||||||
break;
|
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)
|
public function getTypingExamHighestRecordWritingList($maestroID, $playerID, $appGroup, $language)
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ include "./../db/menu_collection.php";
|
|||||||
$menuCollection = new MenuCollection($dbConnector->getMysqli());
|
$menuCollection = new MenuCollection($dbConnector->getMysqli());
|
||||||
$appList = $menuCollection->getAppList($maestroID, $playerID, $appGroup, $language);
|
$appList = $menuCollection->getAppList($maestroID, $playerID, $appGroup, $language);
|
||||||
$activeAppList = $menuCollection->getActiveAppList($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("appGroupName", $menuCollection->getAppGroupName($appGroup));
|
||||||
$jsonBuilder->setData("languageName", $menuCollection->getLanguageName($language));
|
$jsonBuilder->setData("languageName", $menuCollection->getLanguageName($language));
|
||||||
|
|||||||
+178
-10
@@ -9,7 +9,28 @@ QUnit.test( "AppList", function( assert ) {
|
|||||||
dbService.setMaestroID(MAESTRO_ID);
|
dbService.setMaestroID(MAESTRO_ID);
|
||||||
dbService.setPlayerID(PLAYER_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() {
|
setTimeout(function() {
|
||||||
var appGroup = 0; // finger position
|
var appGroup = 0; // finger position
|
||||||
var language = 1; // English
|
var language = 1; // English
|
||||||
@@ -17,20 +38,20 @@ QUnit.test( "AppList", function( assert ) {
|
|||||||
appGroup,
|
appGroup,
|
||||||
language,
|
language,
|
||||||
(function(jsonData) {
|
(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.appList.length, 7, "appList");
|
||||||
assert.equal(jsonData.activeAppList.length, 5, "activeAppList");
|
assert.equal(jsonData.activeAppList.length, 5, "activeAppList");
|
||||||
assert.equal(jsonData.highestRecordList, null, "highestRecordList");
|
assert.equal(jsonData.highestRecordList.length, 7, "highestRecordList");
|
||||||
done();
|
asyncFingerPositionEnglish();
|
||||||
}).bind(this),
|
}).bind(this),
|
||||||
(function(jsonData) {
|
(function(jsonData) {
|
||||||
console.log(replyJSON);
|
console.log(replyJSON);
|
||||||
done();
|
asyncFingerPositionEnglish();
|
||||||
}).bind(this)
|
}).bind(this)
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
var done2 = assert.async();
|
var asyncPracticeKorean = assert.async();
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
var appGroup = 1; // typing practice
|
var appGroup = 1; // typing practice
|
||||||
var language = 0; // Korean
|
var language = 0; // Korean
|
||||||
@@ -38,15 +59,162 @@ QUnit.test( "AppList", function( assert ) {
|
|||||||
appGroup,
|
appGroup,
|
||||||
language,
|
language,
|
||||||
(function(jsonData) {
|
(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.appList.length, 10, "appList");
|
||||||
assert.equal(jsonData.activeAppList.length, 10, "activeAppList");
|
assert.equal(jsonData.activeAppList.length, 10, "activeAppList");
|
||||||
assert.equal(jsonData.highestRecordList, null, "highestRecordList");
|
assert.equal(jsonData.highestRecordList.length, 10, "highestRecordList");
|
||||||
done2();
|
asyncPracticeKorean();
|
||||||
}).bind(this),
|
}).bind(this),
|
||||||
(function(jsonData) {
|
(function(jsonData) {
|
||||||
console.log(replyJSON);
|
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)
|
}).bind(this)
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user