@@ -0,0 +1,50 @@
|
||||
package scenebannerctrl
|
||||
|
||||
import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"91porn-server/common"
|
||||
"91porn-server/common/stderr"
|
||||
"91porn-server/models/v/scenebannermod"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
type listResp struct {
|
||||
List []bannerItem `json:"list"`
|
||||
}
|
||||
|
||||
type bannerItem struct {
|
||||
ID string `json:"id"`
|
||||
ImageURL string `json:"imageUrl"`
|
||||
MediaType string `json:"mediaType"`
|
||||
LinkType string `json:"linkType"`
|
||||
LinkValue string `json:"linkValue"`
|
||||
Sort int `json:"sort"`
|
||||
}
|
||||
|
||||
func List(ctx *gin.Context) {
|
||||
scene := strings.ToUpper(strings.TrimSpace(ctx.Query("scene")))
|
||||
if !scenebannermod.ValidScene(scene) {
|
||||
common.ServeJSON(ctx, stderr.ErrParamError, "invalid scene")
|
||||
return
|
||||
}
|
||||
list, err := scenebannermod.FindActive(scene, time.Now())
|
||||
if err != nil {
|
||||
common.ServeJSON(ctx, stderr.ErrDbQueryError, nil)
|
||||
return
|
||||
}
|
||||
items := make([]bannerItem, 0, len(list))
|
||||
for _, banner := range list {
|
||||
items = append(items, bannerItem{
|
||||
ID: banner.ID.Hex(),
|
||||
ImageURL: banner.ImageURL,
|
||||
MediaType: banner.MediaType,
|
||||
LinkType: banner.LinkType,
|
||||
LinkValue: banner.LinkValue,
|
||||
Sort: banner.Sort,
|
||||
})
|
||||
}
|
||||
common.ServeJSON(ctx, stderr.Success, listResp{List: items})
|
||||
}
|
||||
Reference in New Issue
Block a user