初始
This commit is contained in:
108
internal/app/system/controller/comments.go
Normal file
108
internal/app/system/controller/comments.go
Normal file
@ -0,0 +1,108 @@
|
||||
// ==========================================================================
|
||||
// GFast自动生成controller操作代码。
|
||||
// 生成日期:2024-04-23 14:47:24
|
||||
// 生成路径: internal/app/system/controller/comments.go
|
||||
// 生成人:gfast
|
||||
// desc:App通知公告评论
|
||||
// company:云南奇讯科技有限公司
|
||||
// ==========================================================================
|
||||
|
||||
package controller
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/tiger1103/gfast/v3/api/v1/system"
|
||||
"github.com/tiger1103/gfast/v3/internal/app/system/dao"
|
||||
ct "github.com/tiger1103/gfast/v3/internal/app/system/logic/context"
|
||||
"github.com/tiger1103/gfast/v3/internal/app/system/model/do"
|
||||
"github.com/tiger1103/gfast/v3/internal/app/system/service"
|
||||
"github.com/tiger1103/gfast/v3/library/liberr"
|
||||
)
|
||||
|
||||
type commentsController struct {
|
||||
BaseController
|
||||
}
|
||||
|
||||
var Comments = new(commentsController)
|
||||
|
||||
// List 列表
|
||||
func (c *commentsController) List(ctx context.Context, req *system.CommentsSearchReq) (res *system.CommentsSearchRes, err error) {
|
||||
res, err = service.Comments().List(ctx, req)
|
||||
return
|
||||
}
|
||||
|
||||
// Get 获取App通知公告评论
|
||||
func (c *commentsController) Get(ctx context.Context, req *system.CommentsGetReq) (res *system.CommentsGetRes, err error) {
|
||||
res = new(system.CommentsGetRes)
|
||||
res.CommentsInfoRes, err = service.Comments().GetById(ctx, req.Id)
|
||||
return
|
||||
}
|
||||
|
||||
// Add 添加App通知公告评论
|
||||
func (c *commentsController) Add(ctx context.Context, req *system.CommentsAddReq) (res *system.CommentsAddRes, err error) {
|
||||
err = service.Comments().Add(ctx, req)
|
||||
return
|
||||
}
|
||||
|
||||
// Edit 修改App通知公告评论
|
||||
func (c *commentsController) Edit(ctx context.Context, req *system.CommentsEditReq) (res *system.CommentsEditRes, err error) {
|
||||
err = service.Comments().Edit(ctx, req)
|
||||
return
|
||||
}
|
||||
|
||||
// Delete 删除App通知公告评论
|
||||
func (c *commentsController) Delete(ctx context.Context, req *system.CommentsDeleteReq) (res *system.CommentsDeleteRes, err error) {
|
||||
err = service.Comments().Delete(ctx, req.Ids)
|
||||
return
|
||||
}
|
||||
|
||||
// Publish 通知公告发布一条评论
|
||||
func (c *commentsController) Publish(ctx context.Context, req *system.CommentsPublishReq) (*system.CommentsPublishRes, error) {
|
||||
// 获取用户的主键ID
|
||||
userID := ct.New().GetUserId(ctx)
|
||||
|
||||
err := g.Try(ctx, func(ctx context.Context) {
|
||||
_, err := dao.Comments.Ctx(ctx).Insert(do.Comments{
|
||||
NotificationId: req.NotificationId, // 关联的通知ID
|
||||
CommentText: req.CommentText, // 评论内容
|
||||
CommentId: userID, // 用户ID
|
||||
})
|
||||
liberr.ErrIsNil(ctx, err, "添加评论失败")
|
||||
})
|
||||
liberr.ErrIsNil(ctx, err)
|
||||
return &system.CommentsPublishRes{}, nil
|
||||
}
|
||||
|
||||
// 获取指定一个通知公告的评论列表
|
||||
func (c *commentsController) GetListByNotificationId(ctx context.Context, req *system.CommentsGetListByNotificationIdReq) (res *system.CommentsGetListByNotificationIdRes, err error) {
|
||||
res = new(system.CommentsGetListByNotificationIdRes)
|
||||
|
||||
err = g.Try(ctx, func(ctx context.Context) {
|
||||
m := dao.Comments.Ctx(ctx).WithAll()
|
||||
|
||||
// 获取总页数
|
||||
res.Total, err = m.Count()
|
||||
liberr.ErrIsNil(ctx, err, "获取数据失败")
|
||||
|
||||
res.CurrentPage = req.PageNum
|
||||
|
||||
if req.PageNum == 0 {
|
||||
req.PageNum = 1
|
||||
}
|
||||
|
||||
if req.PageSize == 0 {
|
||||
req.PageSize = 30
|
||||
}
|
||||
|
||||
m = m.As("cs").LeftJoin("sys_user as su", "su.id = cs.comment_id").
|
||||
Where("cs.notification_id", req.NotificationId)
|
||||
|
||||
err = m.Page(req.PageNum, req.PageSize).Order("id asc").
|
||||
Fields(`cs.id,notification_id,comment_text,comment_id,cs.created_at,su.user_nickname`).Scan(&res.List)
|
||||
liberr.ErrIsNil(ctx, err, "获取数据失败")
|
||||
})
|
||||
|
||||
return
|
||||
}
|
Reference in New Issue
Block a user