Skip to content

Commit

Permalink
Merge pull request #195 from GoSimplicity/demo
Browse files Browse the repository at this point in the history
优化user模块

Former-commit-id: cde7866f17c43c9ff2bbe20709dfb51b276c01a3
  • Loading branch information
GoSimplicity authored Aug 4, 2024
2 parents 27919a6 + 6e55c07 commit 12e7e00
Show file tree
Hide file tree
Showing 59 changed files with 332 additions and 473 deletions.
2 changes: 1 addition & 1 deletion Dockerfile → deploy/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ FROM golang:1.22.3 AS build-stage
ENV GO111MODULE=on
ENV GOPROXY=https://goproxy.cn,direct
WORKDIR /app
COPY . .
COPY .. .
RUN go mod tidy
# 静态编译可执行文件
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o main .
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
4 changes: 2 additions & 2 deletions doc/function_module.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@
## 论坛模块

- **发布帖子**:用户可以在论坛上发布新帖子,包括文本、图片、视频等✅
- **评论管理**:用户可以对帖子进行评论,并管理自己的评论
- **评论管理**:用户可以对帖子进行评论,并管理自己的评论
- **点赞功能**:用户可以对帖子或评论进行点赞,点赞后的帖子可在点赞列表中找到✅
- **收藏功能**:用户可以对帖子进行收藏,收藏后的帖子可以在收藏夹中找到✅
- **历史记录**:用户浏览过的帖子可在历史记录中查看✅
- **版块管理**:管理员可以创建、编辑和删除论坛的版块✅
- **内容审核**:引入内容审核机制,接入ai辅助管理员进行审核
- **内容审核**:引入内容审核机制,接入ai辅助管理员进行审核

## 内容管理模块

Expand Down
36 changes: 0 additions & 36 deletions docs/docs.go

This file was deleted.

7 changes: 0 additions & 7 deletions docs/swagger.json

This file was deleted.

4 changes: 0 additions & 4 deletions docs/swagger.yaml

This file was deleted.

11 changes: 5 additions & 6 deletions internal/api/activity.go
Original file line number Diff line number Diff line change
@@ -1,36 +1,35 @@
package api

import (
"github.com/GoSimplicity/LinkMe/internal/api/required_parameter"
"github.com/GoSimplicity/LinkMe/internal/constants"
"github.com/GoSimplicity/LinkMe/internal/service"
"github.com/GoSimplicity/LinkMe/middleware"
. "github.com/GoSimplicity/LinkMe/pkg/ginp"
"github.com/casbin/casbin/v2"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
)

type ActivityHandler struct {
ce *casbin.Enforcer
svc service.ActivityService
l *zap.Logger
}

func NewActivityHandler(svc service.ActivityService, ce *casbin.Enforcer, l *zap.Logger) *ActivityHandler {
func NewActivityHandler(svc service.ActivityService, ce *casbin.Enforcer) *ActivityHandler {
return &ActivityHandler{
svc: svc,
ce: ce,
l: l,
}
}

func (ah *ActivityHandler) RegisterRoutes(server *gin.Engine) {
casbinMiddleware := middleware.NewCasbinMiddleware(ah.ce, ah.l)
casbinMiddleware := middleware.NewCasbinMiddleware(ah.ce)
historyGroup := server.Group("/api/activity")
historyGroup.GET("/recent", casbinMiddleware.CheckCasbin(), WrapQuery(ah.GetRecentActivity)) // 获取最近的活动记录
}

func (ah *ActivityHandler) GetRecentActivity(ctx *gin.Context, _ GetRecentActivityReq) (Result, error) {
// GetRecentActivity 获取最近的活动记录
func (ah *ActivityHandler) GetRecentActivity(ctx *gin.Context, _ required_parameter.GetRecentActivityReq) (Result, error) {
activity, err := ah.svc.GetRecentActivity(ctx)
if err != nil {
return Result{
Expand Down
18 changes: 8 additions & 10 deletions internal/api/check.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package api

import (
"github.com/GoSimplicity/LinkMe/internal/api/required_parameter"
. "github.com/GoSimplicity/LinkMe/internal/constants"
"github.com/GoSimplicity/LinkMe/internal/domain"
"github.com/GoSimplicity/LinkMe/internal/service"
Expand All @@ -9,27 +10,24 @@ import (
ijwt "github.com/GoSimplicity/LinkMe/utils/jwt"
"github.com/casbin/casbin/v2"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
)

type CheckHandler struct {
svc service.CheckService
l *zap.Logger
ce *casbin.Enforcer
biz string
}

func NewCheckHandler(svc service.CheckService, l *zap.Logger, ce *casbin.Enforcer) *CheckHandler {
func NewCheckHandler(svc service.CheckService, ce *casbin.Enforcer) *CheckHandler {
return &CheckHandler{
svc: svc,
l: l,
ce: ce,
biz: "check",
}
}

func (ch *CheckHandler) RegisterRoutes(server *gin.Engine) {
casbinMiddleware := middleware.NewCasbinMiddleware(ch.ce, ch.l)
casbinMiddleware := middleware.NewCasbinMiddleware(ch.ce)
checkGroup := server.Group("/api/checks")
checkGroup.Use(casbinMiddleware.CheckCasbin())
checkGroup.POST("/approve", WrapBody(ch.ApproveCheck)) // 审核通过
Expand All @@ -39,7 +37,7 @@ func (ch *CheckHandler) RegisterRoutes(server *gin.Engine) {
checkGroup.GET("/stats", WrapQuery(ch.GetCheckCount)) // 管理员使用
}

func (ch *CheckHandler) ApproveCheck(ctx *gin.Context, req ApproveCheckReq) (Result, error) {
func (ch *CheckHandler) ApproveCheck(ctx *gin.Context, req required_parameter.ApproveCheckReq) (Result, error) {
uc := ctx.MustGet("user").(ijwt.UserClaims)
err := ch.svc.ApproveCheck(ctx, req.CheckID, req.Remark, uc.Uid)
if err != nil {
Expand All @@ -54,7 +52,7 @@ func (ch *CheckHandler) ApproveCheck(ctx *gin.Context, req ApproveCheckReq) (Res
}, nil
}

func (ch *CheckHandler) RejectCheck(ctx *gin.Context, req RejectCheckReq) (Result, error) {
func (ch *CheckHandler) RejectCheck(ctx *gin.Context, req required_parameter.RejectCheckReq) (Result, error) {
uc := ctx.MustGet("user").(ijwt.UserClaims)
err := ch.svc.RejectCheck(ctx, req.CheckID, req.Remark, uc.Uid)
if err != nil {
Expand All @@ -69,7 +67,7 @@ func (ch *CheckHandler) RejectCheck(ctx *gin.Context, req RejectCheckReq) (Resul
}, nil
}

func (ch *CheckHandler) ListChecks(ctx *gin.Context, req ListCheckReq) (Result, error) {
func (ch *CheckHandler) ListChecks(ctx *gin.Context, req required_parameter.ListCheckReq) (Result, error) {
checks, err := ch.svc.ListChecks(ctx, domain.Pagination{
Page: req.Page,
Size: req.Size,
Expand All @@ -87,7 +85,7 @@ func (ch *CheckHandler) ListChecks(ctx *gin.Context, req ListCheckReq) (Result,
}, nil
}

func (ch *CheckHandler) CheckDetail(ctx *gin.Context, req CheckDetailReq) (Result, error) {
func (ch *CheckHandler) CheckDetail(ctx *gin.Context, req required_parameter.CheckDetailReq) (Result, error) {
check, err := ch.svc.CheckDetail(ctx, req.CheckID)
if err != nil {
return Result{
Expand All @@ -102,7 +100,7 @@ func (ch *CheckHandler) CheckDetail(ctx *gin.Context, req CheckDetailReq) (Resul
}, nil
}

func (ch *CheckHandler) GetCheckCount(ctx *gin.Context, _ GetCheckCount) (Result, error) {
func (ch *CheckHandler) GetCheckCount(ctx *gin.Context, _ required_parameter.GetCheckCount) (Result, error) {
count, err := ch.svc.GetCheckCount(ctx)
if err != nil {
return Result{
Expand Down
9 changes: 5 additions & 4 deletions internal/api/comment.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package api

import (
"github.com/GoSimplicity/LinkMe/internal/api/required_parameter"
. "github.com/GoSimplicity/LinkMe/internal/constants"
"github.com/GoSimplicity/LinkMe/internal/domain"
"github.com/GoSimplicity/LinkMe/internal/service"
Expand Down Expand Up @@ -31,7 +32,7 @@ func (ch *CommentHandler) RegisterRoutes(server *gin.Engine) {
}

// CreateComment 创建评论处理器方法
func (ch *CommentHandler) CreateComment(ctx *gin.Context, req CreateCommentReq) (Result, error) {
func (ch *CommentHandler) CreateComment(ctx *gin.Context, req required_parameter.CreateCommentReq) (Result, error) {
uc := ctx.MustGet("user").(ijwt.UserClaims)
comment := domain.Comment{
Content: req.Content,
Expand Down Expand Up @@ -60,7 +61,7 @@ func (ch *CommentHandler) CreateComment(ctx *gin.Context, req CreateCommentReq)
}

// ListComments 列出评论处理器方法
func (ch *CommentHandler) ListComments(ctx *gin.Context, req ListCommentsReq) (Result, error) {
func (ch *CommentHandler) ListComments(ctx *gin.Context, req required_parameter.ListCommentsReq) (Result, error) {
comments, err := ch.svc.ListComments(ctx, req.PostId, req.MinId, req.Limit)
if err != nil {
return Result{
Expand All @@ -76,7 +77,7 @@ func (ch *CommentHandler) ListComments(ctx *gin.Context, req ListCommentsReq) (R
}

// DeleteComment 删除评论处理器方法
func (ch *CommentHandler) DeleteComment(ctx *gin.Context, req DeleteCommentReq) (Result, error) {
func (ch *CommentHandler) DeleteComment(ctx *gin.Context, req required_parameter.DeleteCommentReq) (Result, error) {
err := ch.svc.DeleteComment(ctx, req.CommentId)
if err != nil {
return Result{
Expand All @@ -91,7 +92,7 @@ func (ch *CommentHandler) DeleteComment(ctx *gin.Context, req DeleteCommentReq)
}

// GetMoreCommentReply 获取更多评论回复处理器方法
func (ch *CommentHandler) GetMoreCommentReply(ctx *gin.Context, req GetMoreCommentReplyReq) (Result, error) {
func (ch *CommentHandler) GetMoreCommentReply(ctx *gin.Context, req required_parameter.GetMoreCommentReplyReq) (Result, error) {
comments, err := ch.svc.GetMoreCommentsReply(ctx, req.RootId, req.MaxId, req.Limit)
if err != nil {
return Result{
Expand Down
7 changes: 4 additions & 3 deletions internal/api/history.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package api

import (
"github.com/GoSimplicity/LinkMe/internal/api/required_parameter"
. "github.com/GoSimplicity/LinkMe/internal/constants"
"github.com/GoSimplicity/LinkMe/internal/domain"
"github.com/GoSimplicity/LinkMe/internal/service"
Expand All @@ -27,7 +28,7 @@ func (h *HistoryHandler) RegisterRoutes(server *gin.Engine) {
historyGroup.DELETE("/delete/all", WrapBody(h.DeleteAllHistory))
}

func (h *HistoryHandler) GetHistory(ctx *gin.Context, req ListHistoryReq) (Result, error) {
func (h *HistoryHandler) GetHistory(ctx *gin.Context, req required_parameter.ListHistoryReq) (Result, error) {
uc := ctx.MustGet("user").(ijwt.UserClaims)
history, err := h.svc.GetHistory(ctx, domain.Pagination{
Page: req.Page,
Expand All @@ -47,7 +48,7 @@ func (h *HistoryHandler) GetHistory(ctx *gin.Context, req ListHistoryReq) (Resul
}, err
}

func (h *HistoryHandler) DeleteOneHistory(ctx *gin.Context, req DeleteHistoryReq) (Result, error) {
func (h *HistoryHandler) DeleteOneHistory(ctx *gin.Context, req required_parameter.DeleteHistoryReq) (Result, error) {
uc := ctx.MustGet("user").(ijwt.UserClaims)
if err := h.svc.DeleteOneHistory(ctx, req.PostId, uc.Uid); err != nil {
return Result{
Expand All @@ -61,7 +62,7 @@ func (h *HistoryHandler) DeleteOneHistory(ctx *gin.Context, req DeleteHistoryReq
}, nil
}

func (h *HistoryHandler) DeleteAllHistory(ctx *gin.Context, req DeleteHistoryAllReq) (Result, error) {
func (h *HistoryHandler) DeleteAllHistory(ctx *gin.Context, req required_parameter.DeleteHistoryAllReq) (Result, error) {
uc := ctx.MustGet("user").(ijwt.UserClaims)
if req.IsDeleteAll == true {
if err := h.svc.DeleteAllHistory(ctx, uc.Uid); err != nil {
Expand Down
8 changes: 0 additions & 8 deletions internal/api/mysql_job.go

This file was deleted.

16 changes: 7 additions & 9 deletions internal/api/plate.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package api

import (
"github.com/GoSimplicity/LinkMe/internal/api/required_parameter"
. "github.com/GoSimplicity/LinkMe/internal/constants"
"github.com/GoSimplicity/LinkMe/internal/domain"
"github.com/GoSimplicity/LinkMe/internal/service"
Expand All @@ -9,25 +10,22 @@ import (
ijwt "github.com/GoSimplicity/LinkMe/utils/jwt"
"github.com/casbin/casbin/v2"
"github.com/gin-gonic/gin"
"go.uber.org/zap"
)

type PlateHandler struct {
svc service.PlateService
l *zap.Logger
ce *casbin.Enforcer
}

func NewPlateHandler(svc service.PlateService, l *zap.Logger, ce *casbin.Enforcer) *PlateHandler {
func NewPlateHandler(svc service.PlateService, ce *casbin.Enforcer) *PlateHandler {
return &PlateHandler{
svc: svc,
l: l,
ce: ce,
}
}

func (h *PlateHandler) RegisterRoutes(server *gin.Engine) {
casbinMiddleware := middleware.NewCasbinMiddleware(h.ce, h.l)
casbinMiddleware := middleware.NewCasbinMiddleware(h.ce)
permissionGroup := server.Group("/api/plate")
permissionGroup.Use(casbinMiddleware.CheckCasbin())
permissionGroup.POST("/create", WrapBody(h.CreatePlate))
Expand All @@ -36,7 +34,7 @@ func (h *PlateHandler) RegisterRoutes(server *gin.Engine) {
permissionGroup.POST("/list", WrapBody(h.ListPlate))
}

func (h *PlateHandler) CreatePlate(ctx *gin.Context, req CreatePlateReq) (Result, error) {
func (h *PlateHandler) CreatePlate(ctx *gin.Context, req required_parameter.CreatePlateReq) (Result, error) {
uc := ctx.MustGet("user").(ijwt.UserClaims)
if err := h.svc.CreatePlate(ctx, domain.Plate{
Name: req.Name,
Expand All @@ -54,7 +52,7 @@ func (h *PlateHandler) CreatePlate(ctx *gin.Context, req CreatePlateReq) (Result
}, nil
}

func (h *PlateHandler) UpdatePlate(ctx *gin.Context, req UpdatePlateReq) (Result, error) {
func (h *PlateHandler) UpdatePlate(ctx *gin.Context, req required_parameter.UpdatePlateReq) (Result, error) {
uc := ctx.MustGet("user").(ijwt.UserClaims)
if err := h.svc.UpdatePlate(ctx, domain.Plate{
ID: req.ID,
Expand All @@ -73,7 +71,7 @@ func (h *PlateHandler) UpdatePlate(ctx *gin.Context, req UpdatePlateReq) (Result
}, nil
}

func (h *PlateHandler) DeletePlate(ctx *gin.Context, req DeletePlateReq) (Result, error) {
func (h *PlateHandler) DeletePlate(ctx *gin.Context, req required_parameter.DeletePlateReq) (Result, error) {
uc := ctx.MustGet("user").(ijwt.UserClaims)
err := h.svc.DeletePlate(ctx, req.PlateID, uc.Uid)
if err != nil {
Expand All @@ -88,7 +86,7 @@ func (h *PlateHandler) DeletePlate(ctx *gin.Context, req DeletePlateReq) (Result
}, nil
}

func (h *PlateHandler) ListPlate(ctx *gin.Context, req ListPlateReq) (Result, error) {
func (h *PlateHandler) ListPlate(ctx *gin.Context, req required_parameter.ListPlateReq) (Result, error) {
plates, err := h.svc.ListPlate(ctx, domain.Pagination{
Page: req.Page,
Size: req.Size,
Expand Down
Loading

0 comments on commit 12e7e00

Please sign in to comment.