Files
zmkgC/internal/app/system/controller/comments.go
2025-07-07 20:11:59 +08:00

109 lines
3.5 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// ==========================================================================
// 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
}