Add LP recovery items to user info

Signed-off-by: Sean Du <do4suki@gmail.com>
This commit is contained in:
2026-06-05 05:48:43 +08:00
parent 947da92a66
commit a7ec1f1b7b
2 changed files with 52 additions and 31 deletions
+31 -31
View File
@@ -6,37 +6,37 @@ type LpRecoveryItem struct {
} }
type UserInfo struct { type UserInfo struct {
UserID int `json:"user_id"` UserID int `json:"user_id"`
Name string `json:"name"` Name string `json:"name"`
Level int `json:"level"` Level int `json:"level"`
Exp int `json:"exp"` Exp int `json:"exp"`
PreviousExp int `json:"previous_exp"` PreviousExp int `json:"previous_exp"`
NextExp int `json:"next_exp"` NextExp int `json:"next_exp"`
GameCoin int `json:"game_coin"` GameCoin int `json:"game_coin"`
SnsCoin int `json:"sns_coin"` SnsCoin int `json:"sns_coin"`
FreeSnsCoin int `json:"free_sns_coin"` FreeSnsCoin int `json:"free_sns_coin"`
PaidSnsCoin int `json:"paid_sns_coin"` PaidSnsCoin int `json:"paid_sns_coin"`
SocialPoint int `json:"social_point"` SocialPoint int `json:"social_point"`
UnitMax int `json:"unit_max"` UnitMax int `json:"unit_max"`
WaitingUnitMax int `json:"waiting_unit_max"` WaitingUnitMax int `json:"waiting_unit_max"`
CurrentEnergy int `json:"current_energy"` CurrentEnergy int `json:"current_energy"`
EnergyMax int `json:"energy_max"` EnergyMax int `json:"energy_max"`
EnergyFullTime string `json:"energy_full_time"` EnergyFullTime string `json:"energy_full_time"`
LicenseLiveEnergyRecoverlyTime int `json:"license_live_energy_recoverly_time"` LicenseLiveEnergyRecoverlyTime int `json:"license_live_energy_recoverly_time"`
EnergyFullNeedTime int `json:"energy_full_need_time"` EnergyFullNeedTime int `json:"energy_full_need_time"`
OverMaxEnergy int `json:"over_max_energy"` OverMaxEnergy int `json:"over_max_energy"`
TrainingEnergy int `json:"training_energy"` TrainingEnergy int `json:"training_energy"`
TrainingEnergyMax int `json:"training_energy_max"` TrainingEnergyMax int `json:"training_energy_max"`
FriendMax int `json:"friend_max"` FriendMax int `json:"friend_max"`
InviteCode string `json:"invite_code"` InviteCode string `json:"invite_code"`
InsertDate string `json:"insert_date"` InsertDate string `json:"insert_date"`
UpdateDate string `json:"update_date"` UpdateDate string `json:"update_date"`
TutorialState int `json:"tutorial_state"` TutorialState int `json:"tutorial_state"`
DiamondCoin int `json:"diamond_coin"` DiamondCoin int `json:"diamond_coin"`
CrystalCoin int `json:"crystal_coin"` CrystalCoin int `json:"crystal_coin"`
UnlockRandomLiveMuse int `json:"unlock_random_live_muse"` UnlockRandomLiveMuse int `json:"unlock_random_live_muse"`
UnlockRandomLiveAqours int `json:"unlock_random_live_aqours"` UnlockRandomLiveAqours int `json:"unlock_random_live_aqours"`
// LpRecoveryItem []LpRecoveryItem `json:"lp_recovery_item"` LpRecoveryItem []LpRecoveryItem `json:"lp_recovery_item"`
} }
type Birth struct { type Birth struct {
+21
View File
@@ -7,6 +7,15 @@ import (
userschema "honoka-chan/internal/schema/user" userschema "honoka-chan/internal/schema/user"
) )
// recovery_item_m
// https://github.com/lemon-devs/llsif_cn_db_diff/blob/master/item/item.db.sql
var defaultLpRecoveryItemIDs = []int{
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
22, 23, 24, 25, 26, 27, 801, 802, 803, 804, 805, 995, 777001, 777002, 777003,
777005, 777006, 777007, 777008, 777009, 777010, 777011, 777012, 777013, 777014,
777015, 777016, 777017, 777018, 777019, 777020,
}
func (ss *Session) GetUserPref(userID string) usermodel.UserPref { func (ss *Session) GetUserPref(userID string) usermodel.UserPref {
pref := usermodel.UserPref{} pref := usermodel.UserPref{}
has, err := ss.UserEng.Table(new(usermodel.UserPref)). has, err := ss.UserEng.Table(new(usermodel.UserPref)).
@@ -64,9 +73,21 @@ func (ss *Session) GetUserInfo() userschema.UserInfo {
CrystalCoin: 0, CrystalCoin: 0,
UnlockRandomLiveMuse: 1, UnlockRandomLiveMuse: 1,
UnlockRandomLiveAqours: 1, UnlockRandomLiveAqours: 1,
LpRecoveryItem: buildLpRecoveryItems(),
} }
} }
func buildLpRecoveryItems() []userschema.LpRecoveryItem {
items := make([]userschema.LpRecoveryItem, 0, len(defaultLpRecoveryItemIDs))
for _, itemID := range defaultLpRecoveryItemIDs {
items = append(items, userschema.LpRecoveryItem{
ItemID: itemID,
Amount: 1,
})
}
return items
}
func (ss *Session) GetUserLiveRecord(liveDifficultyID int) []usermodel.UserLiveRecord { func (ss *Session) GetUserLiveRecord(liveDifficultyID int) []usermodel.UserLiveRecord {
liveRecord := []usermodel.UserLiveRecord{} liveRecord := []usermodel.UserLiveRecord{}
err := ss.UserEng.Table(new(usermodel.UserLiveRecord)). err := ss.UserEng.Table(new(usermodel.UserLiveRecord)).