Files
honoka-chan/internal/handler/api/award/info.go
T
YumeMichi c77241a883 Overhaul [1/n]
Signed-off-by: Sean Du <do4suki@gmail.com>
2026-01-29 02:42:28 +08:00

50 lines
949 B
Go

package award
import (
"honoka-chan/internal/schema/api/award"
"honoka-chan/internal/session"
"time"
"github.com/gin-gonic/gin"
)
func awardInfo(ctx *gin.Context) (res any, err error) {
ss := session.Get(ctx)
var awardList []int
err = ss.MainEng.Table("award_m").Cols("award_id").Find(&awardList)
if ss.CheckErr(err) {
return
}
var awardID int
_, err = ss.UserEng.Table("user_pref").Where("user_id = ?", ss.UserID).Cols("award_id").Get(&awardID)
if ss.CheckErr(err) {
return
}
awardsList := []award.Info{}
for _, id := range awardList {
isSet := false
if id == awardID {
isSet = true
}
awardsList = append(awardsList, award.Info{
AwardID: id,
IsSet: isSet,
InsertDate: time.Now().Format("2006-01-02 03:04:05"),
})
}
res = award.InfoResp{
Result: award.InfoData{
AwardInfo: awardsList,
},
Status: 200,
CommandNum: false,
TimeStamp: time.Now().Unix(),
}
return res, err
}