package category import ( "context" "database/sql" "time" "photography-backend/internal/model" "photography-backend/internal/svc" "photography-backend/internal/types" "github.com/zeromicro/go-zero/core/logx" ) type CreateCategoryLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } // 创建分类 func NewCreateCategoryLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateCategoryLogic { return &CreateCategoryLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *CreateCategoryLogic) CreateCategory(req *types.CreateCategoryRequest) (resp *types.CreateCategoryResponse, err error) { // 1. 创建分类 category := &model.Category{ Name: req.Name, Description: sql.NullString{String: req.Description, Valid: req.Description != ""}, CreatedAt: time.Now(), UpdatedAt: time.Now(), } _, err = l.svcCtx.CategoryModel.Insert(l.ctx, category) if err != nil { return nil, err } // 2. 返回结果 return &types.CreateCategoryResponse{ BaseResponse: types.BaseResponse{ Code: 200, Message: "创建成功", }, Data: types.Category{ Id: category.Id, Name: category.Name, Description: category.Description.String, CreatedAt: category.CreatedAt.Unix(), UpdatedAt: category.UpdatedAt.Unix(), }, }, nil }