1
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/gogf/gf/v2/database/gdb"
|
||||
|
||||
"36wisdom/biz/model/dto"
|
||||
"36wisdom/biz/service"
|
||||
)
|
||||
|
||||
type sceneNode struct{}
|
||||
|
||||
var SceneNode = &sceneNode{}
|
||||
|
||||
func (c *sceneNode) Get(ctx context.Context, req *dto.SceneNodeGetReq) (*dto.SceneNodeGetRes, error) {
|
||||
rec, err := service.SceneNode.GetInLevel(ctx, req.NodeId, req.LevelId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
res := &dto.SceneNodeGetRes{}
|
||||
if !rec.IsEmpty() {
|
||||
res.SceneNode = sceneNodeItem(rec)
|
||||
}
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func (c *sceneNode) ListByLevel(ctx context.Context, req *dto.SceneNodeListReq) (*dto.SceneNodeListRes, error) {
|
||||
recs, err := service.SceneNode.ListEnabledByLevel(ctx, req.LevelId)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
res := &dto.SceneNodeListRes{List: make([]dto.SceneNodeItem, 0, len(recs))}
|
||||
for _, r := range recs {
|
||||
res.List = append(res.List, sceneNodeItem(r))
|
||||
}
|
||||
return res, nil
|
||||
}
|
||||
|
||||
func sceneNodeItem(r gdb.Record) dto.SceneNodeItem {
|
||||
return dto.SceneNodeItem{
|
||||
Id: r["id"].Int64(),
|
||||
LevelId: r["level_id"].Int64(),
|
||||
Title: r["title"].String(),
|
||||
CharacterId: r["character_id"].Int64(),
|
||||
Content: r["content"].String(),
|
||||
Image: r["image"].String(),
|
||||
Audio: r["audio"].String(),
|
||||
NodeType: r["node_type"].Int(),
|
||||
InteractionType: r["interaction_type"].Int(),
|
||||
Config: r["config"].String(),
|
||||
Script: r["script"].String(),
|
||||
ResultType: r["result_type"].Int(),
|
||||
IsEntry: r["is_entry"].Int(),
|
||||
SortOrder: r["sort_order"].Int(),
|
||||
Status: r["status"].Int(),
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user