Overhaul [1/n]

Signed-off-by: Sean Du <do4suki@gmail.com>
This commit is contained in:
2026-01-29 02:42:28 +08:00
parent 989acd6ff1
commit c77241a883
2267 changed files with 7158 additions and 5583 deletions
+90
View File
@@ -0,0 +1,90 @@
package album
import (
"honoka-chan/internal/middleware"
"honoka-chan/internal/router"
"honoka-chan/internal/schema/album"
"honoka-chan/internal/session"
"github.com/gin-gonic/gin"
)
func seriesAll(ctx *gin.Context) {
ss := session.Get(ctx)
defer ss.Finalize()
var albumID []int
err := ss.MainEng.Table("album_series_m").Select("album_series_id").Find(&albumID)
if ss.CheckErr(err) {
return
}
albumSeriesAllRes := []album.SeriesAllData{}
for _, id := range albumID {
var unitList []struct {
UnitId int `xorm:"unit_id"`
Rarity int `xorm:"rarity"`
}
err = ss.MainEng.Table("unit_m").Where("album_series_id = ?", id).Cols("unit_id,rarity").Find(&unitList)
if ss.CheckErr(err) {
return
}
albumSeriesAll := []album.UnitList{}
for _, unit := range unitList {
albumSeries := album.UnitList{
UnitID: unit.UnitId,
RankMaxFlag: true,
LoveMaxFlag: true,
RankLevelMaxFlag: true,
AllMaxFlag: true,
TotalLove: 10000,
FavoritePoint: 1000,
}
if unit.Rarity != 4 {
switch unit.Rarity {
case 1:
// N
albumSeries.HighestLovePerUnit = 50
case 2:
// R
albumSeries.HighestLovePerUnit = 200
case 3:
// SR
albumSeries.HighestLovePerUnit = 500
case 5:
// SSR
albumSeries.HighestLovePerUnit = 750
}
} else {
// UR
albumSeries.HighestLovePerUnit = 1000
// IsSigned
albumSeries.SignFlag, err = ss.MainEng.Table("unit_sign_asset_m").Where("unit_id = ?", unit.UnitId).Exist()
if ss.CheckErr(err) {
return
}
}
albumSeriesAll = append(albumSeriesAll, albumSeries)
}
albumSeriesAllRes = append(albumSeriesAllRes, album.SeriesAllData{
SeriesID: id,
UnitList: albumSeriesAll,
})
}
ss.Respond(album.SeriesAllResp{
ResponseData: albumSeriesAllRes,
ReleaseInfo: []any{},
StatusCode: 200,
})
}
func init() {
router.AddHandler("main.php", "POST", "/album/seriesAll", middleware.Common, seriesAll)
}