Implement more endpoints & overhaul [2/n]

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>
This commit is contained in:
2026-04-28 11:44:56 +08:00
parent 1500821f3e
commit 150ce674ad
218 changed files with 2993 additions and 2160 deletions
+70
View File
@@ -0,0 +1,70 @@
package unitmodel
type CommonUnitData struct {
ID int `xorm:"id pk autoincr" json:"-"`
UnitNumber int `xorm:"unit_number" json:"-"`
UnitID int `xorm:"unit_id" json:"unit_id"`
UnitTypeID int `xorm:"unit_type_id" json:"unit_type_id"`
Name string `xorm:"name" json:"name"`
Eponym string `xorm:"eponym" json:"eponym"`
Rarity int `xorm:"rarity" json:"rarity"`
Attribute int `xorm:"attribute" json:"attribute"`
Smile int `xorm:"smile" json:"smile"`
Cute int `xorm:"cute" json:"cute"`
Cool int `xorm:"cool" json:"cool"`
Exp int `xorm:"exp" json:"exp"`
Level int `xorm:"level" json:"level"`
MaxLevel int `xorm:"max_level" json:"max_level"`
LevelLimitID int `xorm:"level_limit_id" json:"level_limit_id"`
Rank int `xorm:"rank" json:"rank"`
MaxRank int `xorm:"max_rank" json:"max_rank"`
Love int `xorm:"love" json:"love"`
MaxLove int `xorm:"max_love" json:"max_love"`
UnitSkillExp int `xorm:"unit_skill_exp" json:"unit_skill_exp"`
UnitSkillLevel int `xorm:"unit_skill_level" json:"unit_skill_level"`
MaxHp int `xorm:"max_hp" json:"max_hp"`
UnitRemovableSkillCapacity int `xorm:"unit_removable_skill_capacity" json:"unit_removable_skill_capacity"`
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"`
IsSkillLevelMax bool `xorm:"is_skill_level_max" json:"is_skill_level_max"`
IsRemovableSkillCapacityMax bool `xorm:"is_removable_skill_capacity_max" json:"is_removable_skill_capacity_max"`
InsertDate int64 `xorm:"insert_date" json:"insert_date"`
}
type UnitDataMap struct {
UnitOwningUserID int `xorm:"unit_owning_user_id pk autoincr"`
FavoriteFlag bool `xorm:"favorite_flag"`
DisplayRank int `xorm:"display_rank"`
ID int `xorm:"id pk autoincr" json:"-"`
UnitID int `xorm:"unit_id" json:"unit_id"`
UnitTypeID int `xorm:"unit_type_id" json:"unit_type_id"`
Name string `xorm:"name" json:"name"`
Eponym string `xorm:"eponym" json:"eponym"`
Rarity int `xorm:"rarity" json:"rarity"`
Attribute int `xorm:"attribute" json:"attribute"`
Smile int `xorm:"smile" json:"smile"`
Cute int `xorm:"cute" json:"cute"`
Cool int `xorm:"cool" json:"cool"`
Exp int `xorm:"exp" json:"exp"`
Level int `xorm:"level" json:"level"`
MaxLevel int `xorm:"max_level" json:"max_level"`
LevelLimitID int `xorm:"level_limit_id" json:"level_limit_id"`
Rank int `xorm:"rank" json:"rank"`
MaxRank int `xorm:"max_rank" json:"max_rank"`
Love int `xorm:"love" json:"love"`
MaxLove int `xorm:"max_love" json:"max_love"`
UnitSkillExp int `xorm:"unit_skill_exp" json:"unit_skill_exp"`
UnitSkillLevel int `xorm:"unit_skill_level" json:"unit_skill_level"`
MaxHp int `xorm:"max_hp" json:"max_hp"`
UnitRemovableSkillCapacity int `xorm:"unit_removable_skill_capacity" json:"unit_removable_skill_capacity"`
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"`
IsSkillLevelMax bool `xorm:"is_skill_level_max" json:"is_skill_level_max"`
IsRemovableSkillCapacityMax bool `xorm:"is_removable_skill_capacity_max" json:"is_removable_skill_capacity_max"`
InsertDate int64 `xorm:"insert_date" json:"insert_date"`
}
+38
View File
@@ -0,0 +1,38 @@
package unitmodel
type UnitM struct {
UnitId int `xorm:"unit_id pk"`
UnitNumber int `xorm:"unit_number"`
UnitTypeId int `xorm:"unit_type_id"`
AlbumSeriesId *int `xorm:"album_series_id"`
Eponym *string `xorm:"eponym"`
EponymEn string `xorm:"eponym_en"`
Name string `xorm:"name"`
NameEn *string `xorm:"name_en"`
NormalCardId int `xorm:"normal_card_id"`
RankMaxCardId int `xorm:"rank_max_card_id"`
NormalIconAsset string `xorm:"normal_icon_asset"`
NormalIconAssetEn *string `xorm:"normal_icon_asset_en"`
RankMaxIconAsset string `xorm:"rank_max_icon_asset"`
RankMaxIconAssetEn *string `xorm:"rank_max_icon_asset_en"`
NormalUnitNaviAssetId int `xorm:"normal_unit_navi_asset_id"`
RankMaxUnitNaviAssetId int `xorm:"rank_max_unit_navi_asset_id"`
Rarity int `xorm:"rarity"`
AttributeId int `xorm:"attribute_id"`
DefaultUnitSkillId *int `xorm:"default_unit_skill_id"`
SkillAssetVoiceId *int `xorm:"skill_asset_voice_id"`
DefaultLeaderSkillId *int `xorm:"default_leader_skill_id"`
DefaultRemovableSkillCapacity int `xorm:"default_removable_skill_capacity"`
MaxRemovableSkillCapacity int `xorm:"max_removable_skill_capacity"`
DisableRankUp int `xorm:"disable_rank_up"`
RankMin int `xorm:"rank_min"`
RankMax int `xorm:"rank_max"`
UnitLevelUpPatternId int `xorm:"unit_level_up_pattern_id"`
HpMax int `xorm:"hp_max"`
SmileMax int `xorm:"smile_max"`
PureMax int `xorm:"pure_max"`
CoolMax int `xorm:"cool_max"`
ReinforceItemRankUpCost *int `xorm:"reinforce_item_rank_up_cost"`
SubUnitTypeId *int `xorm:"sub_unit_type_id"`
ReleaseTag *string `xorm:"release_tag"`
}