Multi users data [1/N]

Signed-off-by: Yuan Si <do4suki@gmail.com>
This commit is contained in:
2023-04-12 16:05:24 +08:00
parent fe1e012127
commit dd2da649c1
15 changed files with 1501 additions and 225 deletions
+924 -8
View File
File diff suppressed because it is too large Load Diff
+13 -5
View File
@@ -107,6 +107,11 @@ func PlayLiveHandler(ctx *gin.Context) {
CheckErr(err)
deckId := playReq.UnitDeckID
// Save Deck Id for /live/reward
key := "live_deck_" + userId[0]
err = database.LevelDb.Put([]byte(key), []byte(strconv.Itoa(deckId)))
CheckErr(err)
// Song type: normal / special
// sqlite3 doesn't support FULL OUTER JOIN so use UNION ALL here.
sql := `SELECT notes_setting_asset,c_rank_score,b_rank_score,a_rank_score,s_rank_score,ac_flag,swing_flag FROM live_setting_m WHERE live_setting_id IN (SELECT live_setting_id FROM normal_live_m WHERE live_difficulty_id = ? UNION ALL SELECT live_setting_id FROM special_live_m WHERE live_difficulty_id = ?)`
@@ -119,7 +124,7 @@ func PlayLiveHandler(ctx *gin.Context) {
// fmt.Println(c_rank_score, b_rank_score, a_rank_score, s_rank_score)
notes := []model.NotesList{}
fmt.Println("./assets/notes/" + notes_setting_asset)
// fmt.Println("./assets/notes/" + notes_setting_asset)
notes_list := utils.ReadAllText("./assets/notes/" + notes_setting_asset)
err = json.Unmarshal([]byte(notes_list), &notes)
CheckErr(err)
@@ -312,7 +317,7 @@ func PlayScoreHandler(ctx *gin.Context) {
// fmt.Println(c_rank_score, b_rank_score, a_rank_score, s_rank_score)
notes := []model.NotesList{}
fmt.Println("./assets/notes/" + notes_setting_asset)
// fmt.Println("./assets/notes/" + notes_setting_asset)
notes_list := utils.ReadAllText("./assets/notes/" + notes_setting_asset)
err = json.Unmarshal([]byte(notes_list), &notes)
CheckErr(err)
@@ -434,10 +439,13 @@ func PlayRewardHandler(ctx *gin.Context) {
err = MainEng.DB().QueryRow(sql, difficultyId, difficultyId).Scan(&c_rank_score, &b_rank_score, &a_rank_score, &s_rank_score, &c_rank_combo, &b_rank_combo, &a_rank_combo, &s_rank_combo, &ac_flag, &swing_flag)
CheckErr(err)
unitsList := []model.PlayRewardUnitList{}
deck, err := database.LevelDb.Get([]byte("deck_info"))
key := "live_deck_" + userId[0]
deckId, err := database.LevelDb.Get([]byte(key))
CheckErr(err)
err = json.Unmarshal(deck, &unitsList)
unitsList := []model.PlayRewardUnitList{}
err = UserEng.Table("deck_unit_m").Select("*").
Join("LEFT", "user_deck_m", "deck_unit_m.user_deck_id = user_deck_m.id").
Where("user_id = ? AND deck_id = ?", userId[0], string(deckId)).Find(&unitsList)
CheckErr(err)
totalScore := playRewardReq.ScoreSmile + playRewardReq.ScoreCool + playRewardReq.ScoreCute
+9 -1
View File
@@ -6,6 +6,7 @@ import (
"fmt"
"honoka-chan/database"
"honoka-chan/encrypt"
"honoka-chan/tools"
"honoka-chan/utils"
"io"
"net/http"
@@ -318,8 +319,13 @@ func AccountLoginHandler(ctx *gin.Context) {
defer stmt.Close()
var pass, autokey, ticket, userid string
err = stmt.QueryRow(phone).Scan(&pass, &autokey, &ticket, &userid)
rows, err := stmt.Query(phone)
CheckErr(err)
defer rows.Close()
for rows.Next() {
err = rows.Scan(&pass, &autokey, &ticket, &userid)
CheckErr(err)
}
loginResp := LoginResp{}
loginCode := 0
@@ -372,6 +378,8 @@ func AccountLoginHandler(ctx *gin.Context) {
panic(err)
}
tools.InitUserData(int(loginTime))
// Login Response
loginResp.Autokey = autokey
loginResp.HasRealInfo = 1