Drop LevelDB and move all the things to SQLite. Implemented endpoints: /api <unit, accessoryMaterialAll> /api <unit, accessoryTab> /live/continue /live/partyList /unit/favoriteAccessory (WIP) /unit/sale Signed-off-by: Sean Du <do4suki@gmail.com>
322 lines
14 KiB
Go
322 lines
14 KiB
Go
package liveschema
|
|
|
|
import (
|
|
"honoka-chan/internal/constant"
|
|
userschema "honoka-chan/internal/schema/user"
|
|
)
|
|
|
|
type RewardReq struct {
|
|
Module string `json:"module"`
|
|
Action string `json:"action"`
|
|
GoodCnt int `json:"good_cnt"`
|
|
MissCnt int `json:"miss_cnt"`
|
|
IsTraining bool `json:"is_training"`
|
|
GreatCnt int `json:"great_cnt"`
|
|
CommandNum string `json:"commandNum"`
|
|
LoveCnt int `json:"love_cnt"`
|
|
RemainHp int `json:"remain_hp"`
|
|
MaxCombo int `json:"max_combo"`
|
|
ScoreSmile int `json:"score_smile"`
|
|
PerfectCnt int `json:"perfect_cnt"`
|
|
BadCnt int `json:"bad_cnt"`
|
|
Mgd int `json:"mgd"`
|
|
EventPoint int `json:"event_point"`
|
|
LiveDifficultyID int `json:"live_difficulty_id"`
|
|
TimeStamp int `json:"timeStamp"`
|
|
PreciseScoreLog PreciseScoreLog `json:"precise_score_log"`
|
|
ScoreCute int `json:"score_cute"`
|
|
EventID any `json:"event_id"`
|
|
ScoreCool int `json:"score_cool"`
|
|
}
|
|
|
|
type Icon struct {
|
|
SlideID int `json:"slide_id"`
|
|
JustID int `json:"just_id"`
|
|
NormalID int `json:"normal_id"`
|
|
}
|
|
|
|
type LiveSetting struct {
|
|
StringSize int `json:"string_size"`
|
|
PreciseScoreAutoUpdateFlag bool `json:"precise_score_auto_update_flag"`
|
|
SeID int `json:"se_id"`
|
|
CutinBrightness int `json:"cutin_brightness"`
|
|
RandomValue int `json:"random_value"`
|
|
PreciseScoreUpdateType constant.PreciseScoreUpdateType `json:"precise_score_update_type"`
|
|
EffectFlag bool `json:"effect_flag"`
|
|
NotesSpeed float64 `json:"notes_speed"`
|
|
Icon Icon `json:"icon"`
|
|
CutinType int `json:"cutin_type"`
|
|
BackgroundID any `json:"background_id"`
|
|
}
|
|
|
|
type PreciseList struct {
|
|
Count int `json:"count"`
|
|
Effect int `json:"effect"`
|
|
Accuracy int `json:"accuracy"`
|
|
Tap float64 `json:"tap"`
|
|
IsSame bool `json:"is_same"`
|
|
Release any `json:"release"`
|
|
Position int `json:"position"`
|
|
NoteNumber int `json:"note_number"`
|
|
FirstTouch any `json:"first_touch"`
|
|
Tp any `json:"tp"`
|
|
Tpf any `json:"tpf"`
|
|
}
|
|
|
|
type BackgroundScore struct {
|
|
Smile int `json:"smile"`
|
|
Cute int `json:"cute"`
|
|
Cool int `json:"cool"`
|
|
}
|
|
|
|
type TriggerLog struct {
|
|
ActivationRate int `json:"activation_rate"`
|
|
Position int `json:"position"`
|
|
}
|
|
|
|
type PreciseScoreLog struct {
|
|
LiveSetting LiveSetting `json:"live_setting"`
|
|
TapAdjust int `json:"tap_adjust"`
|
|
PreciseList []PreciseList `json:"precise_list"`
|
|
BackgroundScore BackgroundScore `json:"background_score"`
|
|
IsLogOn bool `json:"is_log_on"`
|
|
ScoreLog []int `json:"score_log"`
|
|
IsSkillOn bool `json:"is_skill_on"`
|
|
TriggerLog []TriggerLog `json:"trigger_log"`
|
|
RandomSeed int `json:"random_seed"`
|
|
}
|
|
|
|
type RewardLiveInfo struct {
|
|
LiveDifficultyID int `json:"live_difficulty_id"`
|
|
IsRandom bool `json:"is_random"`
|
|
AcFlag int `json:"ac_flag"`
|
|
SwingFlag int `json:"swing_flag"`
|
|
}
|
|
|
|
type PlayerExpUnitMax struct {
|
|
Before int `json:"before"`
|
|
After int `json:"after"`
|
|
}
|
|
|
|
type PlayerExpFriendMax struct {
|
|
Before int `json:"before"`
|
|
After int `json:"after"`
|
|
}
|
|
|
|
type PlayerExpLpMax struct {
|
|
Before int `json:"before"`
|
|
After int `json:"after"`
|
|
}
|
|
|
|
type BaseRewardInfo struct {
|
|
PlayerExp int `json:"player_exp"`
|
|
PlayerExpUnitMax PlayerExpUnitMax `json:"player_exp_unit_max"`
|
|
PlayerExpFriendMax PlayerExpFriendMax `json:"player_exp_friend_max"`
|
|
PlayerExpLpMax PlayerExpLpMax `json:"player_exp_lp_max"`
|
|
GameCoin int `json:"game_coin"`
|
|
GameCoinRewardBoxFlag bool `json:"game_coin_reward_box_flag"`
|
|
SocialPoint int `json:"social_point"`
|
|
}
|
|
|
|
type LiveClear struct {
|
|
AddType int `json:"add_type"`
|
|
Amount int `json:"amount"`
|
|
ItemCategoryID int `json:"item_category_id"`
|
|
UnitID int `json:"unit_id"`
|
|
UnitOwningUserID int64 `json:"unit_owning_user_id"`
|
|
IsSupportMember bool `json:"is_support_member"`
|
|
Exp int `json:"exp"`
|
|
NextExp int `json:"next_exp"`
|
|
MaxHp int `json:"max_hp"`
|
|
Level int `json:"level"`
|
|
MaxLevel int `json:"max_level"`
|
|
LevelLimitID int `json:"level_limit_id"`
|
|
SkillLevel int `json:"skill_level"`
|
|
Rank int `json:"rank"`
|
|
Love int `json:"love"`
|
|
IsRankMax bool `json:"is_rank_max"`
|
|
IsLevelMax bool `json:"is_level_max"`
|
|
IsLoveMax bool `json:"is_love_max"`
|
|
IsSigned bool `json:"is_signed"`
|
|
NewUnitFlag bool `json:"new_unit_flag"`
|
|
RewardBoxFlag bool `json:"reward_box_flag"`
|
|
UnitSkillExp int `json:"unit_skill_exp"`
|
|
DisplayRank int `json:"display_rank"`
|
|
UnitRemovableSkillCapacity int `json:"unit_removable_skill_capacity"`
|
|
RemovableSkillIds []any `json:"removable_skill_ids"`
|
|
}
|
|
|
|
type LiveRank struct {
|
|
AddType int `json:"add_type"`
|
|
Amount int `json:"amount"`
|
|
ItemCategoryID int `json:"item_category_id"`
|
|
UnitID int `json:"unit_id"`
|
|
UnitOwningUserID int64 `json:"unit_owning_user_id"`
|
|
IsSupportMember bool `json:"is_support_member"`
|
|
Exp int `json:"exp"`
|
|
NextExp int `json:"next_exp"`
|
|
MaxHp int `json:"max_hp"`
|
|
Level int `json:"level"`
|
|
MaxLevel int `json:"max_level"`
|
|
LevelLimitID int `json:"level_limit_id"`
|
|
SkillLevel int `json:"skill_level"`
|
|
Rank int `json:"rank"`
|
|
Love int `json:"love"`
|
|
IsRankMax bool `json:"is_rank_max"`
|
|
IsLevelMax bool `json:"is_level_max"`
|
|
IsLoveMax bool `json:"is_love_max"`
|
|
IsSigned bool `json:"is_signed"`
|
|
NewUnitFlag bool `json:"new_unit_flag"`
|
|
RewardBoxFlag bool `json:"reward_box_flag"`
|
|
UnitSkillExp int `json:"unit_skill_exp"`
|
|
DisplayRank int `json:"display_rank"`
|
|
UnitRemovableSkillCapacity int `json:"unit_removable_skill_capacity"`
|
|
RemovableSkillIds []any `json:"removable_skill_ids"`
|
|
}
|
|
|
|
type RewardUnitList struct {
|
|
LiveClear []LiveClear `json:"live_clear"`
|
|
LiveRank []LiveRank `json:"live_rank"`
|
|
LiveCombo []any `json:"live_combo"`
|
|
}
|
|
|
|
type Rewards struct {
|
|
Rarity int `json:"rarity"`
|
|
ItemID int `json:"item_id"`
|
|
AddType int `json:"add_type"`
|
|
Amount int `json:"amount"`
|
|
ItemCategoryID int `json:"item_category_id"`
|
|
RewardBoxFlag bool `json:"reward_box_flag"`
|
|
InsertDate string `json:"insert_date"`
|
|
}
|
|
|
|
type EffortPoint struct {
|
|
LiveEffortPointBoxSpecID int `json:"live_effort_point_box_spec_id"`
|
|
Capacity int `json:"capacity"`
|
|
Before int `json:"before"`
|
|
After int `json:"after"`
|
|
Rewards []Rewards `json:"rewards"`
|
|
}
|
|
|
|
type PlayRewardUnitList struct {
|
|
ID int `xorm:"id pk autoincr" json:"-"`
|
|
UserDeckID int `xorm:"user_deck_id" json:"-"`
|
|
UnitOwningUserID int `xorm:"unit_owning_user_id" json:"unit_owning_user_id"`
|
|
UnitID int `xorm:"unit_id" json:"unit_id"`
|
|
Position int `xorm:"position" json:"position"`
|
|
Level int `xorm:"level" json:"level"`
|
|
LevelLimitID int `xorm:"level_limit_id" json:"level_limit_id"`
|
|
DisplayRank int `xorm:"display_rank" json:"display_rank"`
|
|
Love int `xorm:"love" json:"love"`
|
|
UnitSkillLevel int `xorm:"unit_skill_level" json:"unit_skill_level"`
|
|
IsRankMax bool `xorm:"is_rank_max" json:"is_rank_max"`
|
|
IsLoveMax bool `xorm:"is_love_max" json:"is_love_max"`
|
|
IsLevelMax bool `xorm:"is_level_max" json:"is_level_max"`
|
|
IsSigned bool `xorm:"is_signed" json:"is_signed"`
|
|
BeforeLove int `xorm:"before_love" json:"before_love"`
|
|
MaxLove int `xorm:"max_love" json:"max_love"`
|
|
InsertData int64 `xorm:"insert_date" json:"-"`
|
|
}
|
|
|
|
type NextLevelInfo struct {
|
|
Level int `json:"level"`
|
|
FromExp int `json:"from_exp"`
|
|
}
|
|
|
|
type GoalAccompInfo struct {
|
|
AchievedIds []any `json:"achieved_ids"`
|
|
Rewards []any `json:"rewards"`
|
|
}
|
|
|
|
type RewardRankInfo struct {
|
|
BeforeClassRankID int `json:"before_class_rank_id"`
|
|
AfterClassRankID int `json:"after_class_rank_id"`
|
|
RankUpDate string `json:"rank_up_date"`
|
|
}
|
|
|
|
type ClassSystem struct {
|
|
RankInfo RewardRankInfo `json:"rank_info"`
|
|
CompleteFlag bool `json:"complete_flag"`
|
|
IsOpened bool `json:"is_opened"`
|
|
IsVisible bool `json:"is_visible"`
|
|
}
|
|
|
|
type PlayRewardList struct {
|
|
ItemID int `json:"item_id"`
|
|
AddType int `json:"add_type"`
|
|
Amount int `json:"amount"`
|
|
ItemCategoryID int `json:"item_category_id"`
|
|
RewardBoxFlag bool `json:"reward_box_flag"`
|
|
}
|
|
|
|
type AccomplishedAchievementList struct {
|
|
AchievementID int `json:"achievement_id"`
|
|
Count int `json:"count"`
|
|
IsAccomplished bool `json:"is_accomplished"`
|
|
InsertDate string `json:"insert_date"`
|
|
EndDate string `json:"end_date"`
|
|
RemainingTime string `json:"remaining_time"`
|
|
IsNew bool `json:"is_new"`
|
|
ForDisplay bool `json:"for_display"`
|
|
IsLocked bool `json:"is_locked"`
|
|
OpenConditionString string `json:"open_condition_string"`
|
|
AccomplishID string `json:"accomplish_id"`
|
|
RewardList []PlayRewardList `json:"reward_list"`
|
|
}
|
|
|
|
type Parameter struct {
|
|
Smile int `json:"smile"`
|
|
Pure int `json:"pure"`
|
|
Cool int `json:"cool"`
|
|
}
|
|
|
|
type Museum struct {
|
|
Parameter Parameter `json:"parameter"`
|
|
ContentsIDList []int `json:"contents_id_list"`
|
|
}
|
|
|
|
type RewardUnitSupportList struct {
|
|
UnitID int `json:"unit_id"`
|
|
Amount int `json:"amount"`
|
|
}
|
|
|
|
type RewardData struct {
|
|
LiveInfo []RewardLiveInfo `json:"live_info"`
|
|
Rank int `json:"rank"`
|
|
ComboRank int `json:"combo_rank"`
|
|
TotalLove int `json:"total_love"`
|
|
IsHighScore bool `json:"is_high_score"`
|
|
HiScore int `json:"hi_score"`
|
|
BaseRewardInfo BaseRewardInfo `json:"base_reward_info"`
|
|
RewardUnitList RewardUnitList `json:"reward_unit_list"`
|
|
UnlockedSubscenarioIds []any `json:"unlocked_subscenario_ids"`
|
|
UnlockedMultiUnitScenarioIds []any `json:"unlocked_multi_unit_scenario_ids"`
|
|
EffortPoint []EffortPoint `json:"effort_point"`
|
|
IsEffortPointVisible bool `json:"is_effort_point_visible"`
|
|
LimitedEffortBox []any `json:"limited_effort_box"`
|
|
UnitList []PlayRewardUnitList `json:"unit_list"`
|
|
BeforeUserInfo userschema.UserInfo `json:"before_user_info"`
|
|
AfterUserInfo userschema.UserInfo `json:"after_user_info"`
|
|
NextLevelInfo []NextLevelInfo `json:"next_level_info"`
|
|
GoalAccompInfo GoalAccompInfo `json:"goal_accomp_info"`
|
|
SpecialRewardInfo []any `json:"special_reward_info"`
|
|
EventInfo []any `json:"event_info"`
|
|
DailyRewardInfo []any `json:"daily_reward_info"`
|
|
CanSendFriendRequest bool `json:"can_send_friend_request"`
|
|
UsingBuffInfo []any `json:"using_buff_info"`
|
|
ClassSystem ClassSystem `json:"class_system"`
|
|
AccomplishedAchievementList []AccomplishedAchievementList `json:"accomplished_achievement_list"`
|
|
UnaccomplishedAchievementCnt int `json:"unaccomplished_achievement_cnt"`
|
|
AddedAchievementList []any `json:"added_achievement_list"`
|
|
MuseumInfo Museum `json:"museum_info"`
|
|
UnitSupportList []RewardUnitSupportList `json:"unit_support_list"`
|
|
ServerTimestamp int64 `json:"server_timestamp"`
|
|
PresentCnt int `json:"present_cnt"`
|
|
}
|
|
|
|
type RewardResp struct {
|
|
ResponseData RewardData `json:"response_data"`
|
|
ReleaseInfo []any `json:"release_info"`
|
|
StatusCode int `json:"status_code"`
|
|
}
|