46 lines
985 B
Go
46 lines
985 B
Go
// internal/controller/hero/hero_v1.go
|
|
package hero
|
|
|
|
import (
|
|
"context"
|
|
"epic/api/hero/v1"
|
|
"epic/internal/service"
|
|
)
|
|
|
|
func (c *ControllerV1) GetOne(ctx context.Context, req *v1.GetOneReq) (res *v1.GetOneRes, err error) {
|
|
hero, err := service.Hero().GetHeroByCode(ctx, req.Code)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
res = &v1.GetOneRes{
|
|
EpicHeroInfo: hero,
|
|
}
|
|
return res, nil
|
|
}
|
|
|
|
func (c *ControllerV1) GetList(ctx context.Context, req *v1.GetListReq) (res *v1.GetListRes, err error) {
|
|
// 获取 VO 列表
|
|
list, err := service.Hero().GetHeroList(ctx)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
// 构造响应
|
|
res = &v1.GetListRes{
|
|
Records: list, // ✅ 正确赋值字段
|
|
}
|
|
return res, nil
|
|
}
|
|
|
|
func (c *ControllerV1) GetDetail(ctx context.Context, req *v1.GetDetailReq) (res *v1.GetDetailRes, err error) {
|
|
detail, err := service.Hero().GetHeroDetailByCode(ctx, req.Code)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
res = &v1.GetDetailRes{
|
|
Data: detail,
|
|
}
|
|
return res, nil
|
|
}
|