Files
slogan/server/styleagent/controller/wardrobe_item_controller.go
T
admin a6de9ebd12 Add 'server/' from commit 'e64421295fff83acbb6d6ab3d3b27f3ef8368f00'
git-subtree-dir: server
git-subtree-mainline: c4e617ada7
git-subtree-split: e64421295f
2026-08-04 15:02:35 +08:00

62 lines
1.7 KiB
Go

package controller
import (
"context"
"slogan-agent/common"
"slogan-agent/styleagent/model/dto"
"slogan-agent/styleagent/model/entity"
"slogan-agent/styleagent/service"
"github.com/gogf/gf/v2/frame/g"
)
type wardrobe struct{}
var Wardrobe = new(wardrobe)
func (c *wardrobe) Upload(ctx context.Context, req *dto.WardrobeUploadReq) (res *dto.WardrobeUploadRes, err error) {
id, err := service.WardrobeService.Upload(ctx, common.GetUserId(g.RequestFromCtx(ctx)), entity.WardrobeItem{
Category: req.Category,
Season: req.Season,
StyleTags: req.StyleTags,
ColorInfo: req.ColorInfo,
}, g.RequestFromCtx(ctx).GetUploadFile("file"))
if err != nil {
return nil, err
}
return &dto.WardrobeUploadRes{Id: id}, nil
}
func (c *wardrobe) List(ctx context.Context, req *dto.WardrobeListReq) (res *dto.WardrobeListRes, err error) {
list, err := service.WardrobeService.List(ctx, common.GetUserId(g.RequestFromCtx(ctx)), req.Category)
if err != nil {
return nil, err
}
return &dto.WardrobeListRes{List: list}, nil
}
func (c *wardrobe) Update(ctx context.Context, req *dto.WardrobeUpdateReq) (res *struct{}, err error) {
data := map[string]any{}
if req.Category != "" {
data["category"] = req.Category
}
if req.Season != "" {
data["season"] = req.Season
}
if req.StyleTags != "" {
data["style_tags"] = req.StyleTags
}
if err := service.WardrobeService.Update(ctx, common.GetUserId(g.RequestFromCtx(ctx)), req.Id, data); err != nil {
return nil, err
}
return &struct{}{}, nil
}
func (c *wardrobe) Delete(ctx context.Context, req *dto.WardrobeDeleteReq) (res *struct{}, err error) {
if err := service.WardrobeService.Delete(ctx, common.GetUserId(g.RequestFromCtx(ctx)), req.Id); err != nil {
return nil, err
}
return &struct{}{}, nil
}