初始化项目框架,完成部分接口开发

This commit is contained in:
2025-07-10 21:04:29 +08:00
commit b2871ec0d2
168 changed files with 6399 additions and 0 deletions

View File

@ -0,0 +1,5 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package admin

View File

@ -0,0 +1,15 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package admin
import (
"server/api/admin"
)
type ControllerV1 struct{}
func NewV1() admin.IAdminV1 {
return &ControllerV1{}
}

View File

@ -0,0 +1,17 @@
package admin
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/admin/v1"
)
func (c *ControllerV1) AdminEditPass(ctx context.Context, req *v1.AdminEditPassReq) (res *v1.AdminEditPassRes, err error) {
out, err := service.Admin().EditPass(ctx, &model.AdminEditPassIn{NewPass: req.NewPass, OldPass: req.OldPass})
if err != nil {
return nil, err
}
return &v1.AdminEditPassRes{Success: out.Success}, nil
}

View File

@ -0,0 +1,22 @@
package admin
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"server/internal/model"
"server/internal/service"
"server/api/admin/v1"
)
func (c *ControllerV1) AdminInfo(ctx context.Context, req *v1.AdminInfoReq) (res *v1.AdminInfoRes, err error) {
adminId := g.RequestFromCtx(ctx).GetCtxVar("id").Int64()
out, err := service.Admin().Info(ctx, &model.AdminInfoIn{AdminId: adminId})
if err != nil {
return nil, err
}
return &v1.AdminInfoRes{
AdminId: out.AdminId,
Username: out.Username,
}, nil
}

View File

@ -0,0 +1,5 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package auth

View File

@ -0,0 +1,15 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package auth
import (
"server/api/auth"
)
type ControllerV1 struct{}
func NewV1() auth.IAuthV1 {
return &ControllerV1{}
}

View File

@ -0,0 +1,17 @@
package auth
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/auth/v1"
)
func (c *ControllerV1) AdminLogin(ctx context.Context, req *v1.AdminLoginReq) (res *v1.AdminLoginRes, err error) {
out, err := service.Admin().Login(ctx, &model.AdminLoginIn{Username: req.Username, Password: req.Password})
if err != nil {
return nil, err
}
return &v1.AdminLoginRes{Token: out.Token}, nil
}

View File

@ -0,0 +1,17 @@
package auth
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/auth/v1"
)
func (c *ControllerV1) UserCode(ctx context.Context, req *v1.UserCodeReq) (res *v1.UserCodeRes, err error) {
out, err := service.User().Code(ctx, &model.UserCodeIn{Email: req.Email})
if err != nil {
return nil, err
}
return &v1.UserCodeRes{Success: out.Success}, nil
}

View File

@ -0,0 +1,17 @@
package auth
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/auth/v1"
)
func (c *ControllerV1) UserEditPass(ctx context.Context, req *v1.UserEditPassReq) (res *v1.UserEditPassRes, err error) {
out, err := service.User().EditPass(ctx, &model.UserEditPassIn{Email: req.Email, Password: req.Password, Password2: req.Password2, Sign: req.Sign})
if err != nil {
return nil, err
}
return &v1.UserEditPassRes{Success: out.Success}, nil
}

View File

@ -0,0 +1,18 @@
package auth
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/auth/v1"
)
func (c *ControllerV1) UserLogin(ctx context.Context, req *v1.UserLoginReq) (res *v1.UserLoginRes, err error) {
out, err := service.User().Login(ctx, &model.UserLoginIn{Email: req.Email, Password: req.Password})
if err != nil {
return nil, err
}
return &v1.UserLoginRes{Token: out.Token}, nil
}

View File

@ -0,0 +1,17 @@
package auth
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/auth/v1"
)
func (c *ControllerV1) UserRegister(ctx context.Context, req *v1.UserRegisterReq) (res *v1.UserRegisterRes, err error) {
out, err := service.User().Register(ctx, &model.UserRegisterIn{Email: req.Email, Password: req.Password, Password2: req.Password2})
if err != nil {
return nil, err
}
return &v1.UserRegisterRes{Success: out.Success}, nil
}

View File

@ -0,0 +1,5 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package book

View File

@ -0,0 +1,15 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package book
import (
"server/api/book"
)
type ControllerV1 struct{}
func NewV1() book.IBookV1 {
return &ControllerV1{}
}

View File

@ -0,0 +1,26 @@
package book
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/book/v1"
)
func (c *ControllerV1) BookAdd(ctx context.Context, req *v1.BookAddReq) (res *v1.BookAddRes, err error) {
out, err := service.Book().Create(ctx, &model.BookAddIn{
AuthorId: req.AuthorId,
CategoryId: req.CategoryId,
CoverUrl: req.CoverUrl,
Description: req.Description,
IsRecommended: req.IsRecommended,
Status: req.Status,
Tags: req.Tags,
Title: req.Title,
})
if err != nil {
return nil, err
}
return &v1.BookAddRes{Success: out.Success}, nil
}

View File

@ -0,0 +1,19 @@
package book
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/book/v1"
)
func (c *ControllerV1) BookDel(ctx context.Context, req *v1.BookDelReq) (res *v1.BookDelRes, err error) {
out, err := service.Book().Delete(ctx, &model.BookDelIn{
Id: req.Id,
})
if err != nil {
return nil, err
}
return &v1.BookDelRes{Success: out.Success}, nil
}

View File

@ -0,0 +1,27 @@
package book
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/book/v1"
)
func (c *ControllerV1) BookEdit(ctx context.Context, req *v1.BookEditReq) (res *v1.BookEditRes, err error) {
out, err := service.Book().Update(ctx, &model.BookEditIn{
AuthorId: req.AuthorId,
CategoryId: req.CategoryId,
CoverUrl: req.CoverUrl,
Description: req.Description,
Id: req.Id,
IsRecommended: req.IsRecommended,
Status: req.Status,
Tags: req.Tags,
Title: req.Title,
})
if err != nil {
return nil, err
}
return &v1.BookEditRes{Success: out.Success}, nil
}

View File

@ -0,0 +1,28 @@
package book
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/book/v1"
)
func (c *ControllerV1) BookList(ctx context.Context, req *v1.BookListReq) (res *v1.BookListRes, err error) {
out, err := service.Book().List(ctx, &model.BookListIn{
AuthorId: req.AuthorId,
CategoryId: req.CategoryId,
IsRecommended: req.IsRecommended,
Page: req.Page,
Size: req.Size,
Status: req.Status,
Title: req.Title,
})
if err != nil {
return nil, err
}
return &v1.BookListRes{
List: out.List,
Total: out.Total,
}, nil
}

View File

@ -0,0 +1,5 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package category

View File

@ -0,0 +1,15 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package category
import (
"server/api/category"
)
type ControllerV1 struct{}
func NewV1() category.ICategoryV1 {
return &ControllerV1{}
}

View File

@ -0,0 +1,22 @@
package category
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/category/v1"
)
func (c *ControllerV1) CategoryAdd(ctx context.Context, req *v1.CategoryAddReq) (res *v1.CategoryAddRes, err error) {
out, err := service.Category().Create(ctx, &model.CategoryAddIn{
Name: req.Name,
Type: req.Type,
})
if err != nil {
return nil, err
}
return &v1.CategoryAddRes{
Success: out.Success,
}, nil
}

View File

@ -0,0 +1,21 @@
package category
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/category/v1"
)
func (c *ControllerV1) CategoryDel(ctx context.Context, req *v1.CategoryDelReq) (res *v1.CategoryDelRes, err error) {
out, err := service.Category().Delete(ctx, &model.CategoryDelIn{
Id: req.Id,
})
if err != nil {
return nil, err
}
return &v1.CategoryDelRes{
Success: out.Success,
}, nil
}

View File

@ -0,0 +1,23 @@
package category
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/category/v1"
)
func (c *ControllerV1) CategoryEdit(ctx context.Context, req *v1.CategoryEditReq) (res *v1.CategoryEditRes, err error) {
out, err := service.Category().Update(ctx, &model.CategoryEditIn{
Id: req.Id,
Name: req.Name,
Type: req.Type,
})
if err != nil {
return nil, err
}
return &v1.CategoryEditRes{
Success: out.Success,
}, nil
}

View File

@ -0,0 +1,25 @@
package category
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/category/v1"
)
func (c *ControllerV1) CategoryList(ctx context.Context, req *v1.CategoryListReq) (res *v1.CategoryListRes, err error) {
out, err := service.Category().List(ctx, &model.CategoryListIn{
Name: req.Name,
Page: req.Page,
Size: req.Size,
Type: req.Type,
})
if err != nil {
return nil, err
}
return &v1.CategoryListRes{
List: out.List,
Total: out.Total,
}, nil
}

View File

@ -0,0 +1,5 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package chapter

View File

@ -0,0 +1,15 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package chapter
import (
"server/api/chapter"
)
type ControllerV1 struct{}
func NewV1() chapter.IChapterV1 {
return &ControllerV1{}
}

View File

@ -0,0 +1,27 @@
package chapter
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/chapter/v1"
)
func (c *ControllerV1) ChapterAdd(ctx context.Context, req *v1.ChapterAddReq) (res *v1.ChapterAddRes, err error) {
out, err := service.Chapter().Create(ctx, &model.ChapterAddIn{
BookId: req.BookId,
Content: req.Content,
IsLocked: req.IsLocked,
RequiredScore: req.RequiredScore,
Sort: req.Sort,
Title: req.Title,
WordCount: req.WordCount,
})
if err != nil {
return nil, err
}
return &v1.ChapterAddRes{
Success: out.Success,
}, nil
}

View File

@ -0,0 +1,19 @@
package chapter
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/chapter/v1"
)
func (c *ControllerV1) ChapterDel(ctx context.Context, req *v1.ChapterDelReq) (res *v1.ChapterDelRes, err error) {
out, err := service.Chapter().Delete(ctx, &model.ChapterDelIn{
Id: req.Id,
})
if err != nil {
return nil, err
}
return &v1.ChapterDelRes{Success: out.Success}, nil
}

View File

@ -0,0 +1,28 @@
package chapter
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/chapter/v1"
)
func (c *ControllerV1) ChapterEdit(ctx context.Context, req *v1.ChapterEditReq) (res *v1.ChapterEditRes, err error) {
out, err := service.Chapter().Update(ctx, &model.ChapterEditIn{
BookId: req.BookId,
Content: req.Content,
Id: req.Id,
IsLocked: req.IsLocked,
RequiredScore: req.RequiredScore,
Sort: req.Sort,
Title: req.Title,
WordCount: req.WordCount,
})
if err != nil {
return nil, err
}
return &v1.ChapterEditRes{
Success: out.Success,
}, nil
}

View File

@ -0,0 +1,26 @@
package chapter
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/chapter/v1"
)
func (c *ControllerV1) ChapterList(ctx context.Context, req *v1.ChapterListReq) (res *v1.ChapterListRes, err error) {
out, err := service.Chapter().List(ctx, &model.ChapterListIn{
BookId: req.BookId,
IsLocked: req.IsLocked,
Page: req.Page,
Size: req.Size,
Title: req.Title,
})
if err != nil {
return nil, err
}
return &v1.ChapterListRes{
List: out.List,
Total: out.Total,
}, nil
}

View File

@ -0,0 +1,5 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package feedback

View File

@ -0,0 +1,15 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package feedback
import (
"server/api/feedback"
)
type ControllerV1 struct{}
func NewV1() feedback.IFeedbackV1 {
return &ControllerV1{}
}

View File

@ -0,0 +1,24 @@
package feedback
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"server/internal/model"
"server/internal/service"
"server/api/feedback/v1"
)
func (c *ControllerV1) FeedbackAdd(ctx context.Context, req *v1.FeedbackAddReq) (res *v1.FeedbackAddRes, err error) {
userId := g.RequestFromCtx(ctx).GetCtxVar("id").Int64()
out, err := service.Feedback().Create(ctx, &model.FeedbackAddIn{
Content: req.Content,
UserId: userId,
})
if err != nil {
return nil, err
}
return &v1.FeedbackAddRes{
Success: out.Success,
}, nil
}

View File

@ -0,0 +1,25 @@
package feedback
import (
"context"
"server/internal/model"
"server/internal/service"
"server/api/feedback/v1"
)
func (c *ControllerV1) FeedbackList(ctx context.Context, req *v1.FeedbackListReq) (res *v1.FeedbackListRes, err error) {
out, err := service.Feedback().List(ctx, &model.FeedbackListIn{
Page: req.Page,
Size: req.Size,
Status: req.Status,
UserId: req.UserId,
})
if err != nil {
return nil, err
}
return &v1.FeedbackListRes{
List: out.List,
Total: out.Total,
}, nil
}

View File

@ -0,0 +1,5 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package user

View File

@ -0,0 +1,15 @@
// =================================================================================
// This is auto-generated by GoFrame CLI tool only once. Fill this file as you wish.
// =================================================================================
package user
import (
"server/api/user"
)
type ControllerV1 struct{}
func NewV1() user.IUserV1 {
return &ControllerV1{}
}

View File

@ -0,0 +1,19 @@
package user
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"server/internal/model"
"server/internal/service"
"server/api/user/v1"
)
func (c *ControllerV1) Delete(ctx context.Context, req *v1.DeleteReq) (res *v1.DeleteRes, err error) {
userId := g.RequestFromCtx(ctx).GetCtxVar("id").Int64()
out, err := service.User().Delete(ctx, &model.UserDeleteIn{UserId: userId, Password: req.Password})
if err != nil {
return nil, err
}
return &v1.DeleteRes{Success: out.Success}, nil
}

View File

@ -0,0 +1,14 @@
package user
import (
"context"
"github.com/gogf/gf/v2/errors/gcode"
"github.com/gogf/gf/v2/errors/gerror"
"server/api/user/v1"
)
func (c *ControllerV1) Logout(ctx context.Context, req *v1.LogoutReq) (res *v1.LogoutRes, err error) {
return nil, gerror.NewCode(gcode.CodeNotImplemented)
}

View File

@ -0,0 +1,24 @@
package user
import (
"context"
"github.com/gogf/gf/v2/frame/g"
"server/internal/model"
"server/internal/service"
"server/api/user/v1"
)
func (c *ControllerV1) UserInfo(ctx context.Context, req *v1.UserInfoReq) (res *v1.UserInfoRes, err error) {
userId := g.RequestFromCtx(ctx).GetCtxVar("id").Int64()
info, err := service.User().Info(ctx, &model.UserInfoIn{UserId: userId})
if err != nil {
return nil, err
}
return &v1.UserInfoRes{
Username: info.Username,
Avatar: info.Avatar,
Email: info.Email,
Points: info.Points,
}, nil
}