package controller import ( "context" "slogan-agent/common" "slogan-agent/styleagent/model/dto" "slogan-agent/styleagent/service" "github.com/gogf/gf/v2/frame/g" ) type avatar struct{} var Avatar = new(avatar) func (c *avatar) Build(ctx context.Context, req *dto.AvatarBuildReq) (res *dto.AvatarBuildRes, err error) { a, err := service.AvatarService.Build(ctx, common.GetUserId(g.RequestFromCtx(ctx))) if err != nil { return nil, err } return &dto.AvatarBuildRes{AvatarId: a.Id, Status: a.BuildStatus}, nil } func (c *avatar) Get(ctx context.Context, req *struct{}) (res *dto.AvatarGetRes, err error) { a, err := service.AvatarService.Get(ctx, common.GetUserId(g.RequestFromCtx(ctx))) if err != nil || a == nil { return &dto.AvatarGetRes{}, nil } return &dto.AvatarGetRes{ FaceTemplateId: a.FaceTemplateId, BodyTemplateId: a.BodyTemplateId, SkinToneIndex: a.SkinToneIndex, GlbUrl: a.GlbUrl, BuildStatus: a.BuildStatus, Error: a.Error, }, nil }