From 59d262d31e418d8585f2ed3db8c5e7814a423100 Mon Sep 17 00:00:00 2001 From: yangduo Date: Thu, 8 Aug 2024 16:25:48 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/adminserver/api/v1/system/mail.go | 47 +++++++++++++++--------- server/adminserver/router/system/mail.go | 2 +- 2 files changed, 30 insertions(+), 19 deletions(-) diff --git a/server/adminserver/api/v1/system/mail.go b/server/adminserver/api/v1/system/mail.go index a6303cab..a1e1f401 100644 --- a/server/adminserver/api/v1/system/mail.go +++ b/server/adminserver/api/v1/system/mail.go @@ -17,25 +17,40 @@ type MailApi struct { func (this *MailApi) ListMail(c *gin.Context) { var pageSize = q5.SafeToInt32(c.DefaultQuery("pagesize", "")) - var cursor = q5.SafeToInt64(c.DefaultQuery("cursor", "")) + var cursor = q5.SafeToInt32(c.DefaultQuery("cursor", "")) + reqObj := struct { + Subject string `json:"subject"` + Content string `json:"content"` + }{} + if err := c.ShouldBindJSON(&reqObj); err != nil { + c.JSON(http.StatusOK, gin.H{ + "code": 1, + "message": err.Error(), + }) + return + } orderBy := "" sql := "SELECT * FROM t_mail WHERE 1=1 and unikey is not null " - subFilters := []f5.DbQueryFilter{} - { - inSub := `tag1 IN (` + q5.ToString(jccommon.MAIL_TAG1_CUSTOM) - inSub += ")" - //q5.AppendSlice(&subFilters, f5.GetDbFilter().Custom(inSub).And()) - q5.AppendSlice(&subFilters, f5.GetDbFilter().Custom("deleted = 0").And()) + subFilters := []f5.DbQueryFilter{ + f5.GetDbFilter().Custom("deleted = 0").And(), + } + + if reqObj.Subject != "" { + q5.AppendSlice(&subFilters, f5.GetDbFilter().Like("subject", reqObj.Subject).And()) + } + + if reqObj.Content != "" { + q5.AppendSlice(&subFilters, f5.GetDbFilter().Like("content", reqObj.Content).And()) } mails := []*system.Mail{} rspObj := struct { Code int32 `json:"code"` Message string `json:"message"` - Cursor int64 `json:"cursor"` - Remaining int32 `json:"remaining"` + Curpage int32 `json:"curpage"` + TotalPage int32 `json:"totalpage"` Data []*system.Mail `json:"data"` }{} - f5.GetGoStyleDb().StreamPageQuery( + f5.GetGoStyleDb().PageQuery( constant.MAIL_DB, pageSize, cursor, @@ -43,14 +58,10 @@ func (this *MailApi) ListMail(c *gin.Context) { []string{}, f5.GetDbFilter().Comp(subFilters...), orderBy, - func(err error, pagination *f5.StreamPagination) { - rspObj.Cursor = pagination.NextCursor - rspObj.Remaining = pagination.Remaining - }, - func(ds *f5.DataSet) { - p := new(system.Mail) - f5.UnmarshalModel(ds, p) - q5.AppendSlice(&mails, p) + func(err error, pagination *f5.Pagination) { + rspObj.Curpage = pagination.CurrentPage + rspObj.TotalPage = pagination.TotalPages + f5.UnmarshalModelList(pagination.Rows, &mails) }) rspObj.Data = mails c.JSON(http.StatusOK, rspObj) diff --git a/server/adminserver/router/system/mail.go b/server/adminserver/router/system/mail.go index fcc0d9eb..b3da070d 100644 --- a/server/adminserver/router/system/mail.go +++ b/server/adminserver/router/system/mail.go @@ -15,7 +15,7 @@ func (this *MailRoute) InitMailRouter(priRouter *gin.RouterGroup) { { priUserRouter.POST("add", middleware.Permission("api/v1/mail/add", mailApi.AddMail)) priUserRouter.POST("edit", middleware.Permission("api/v1/mail/edit", mailApi.EditMail)) - priUserRouter.GET("list", middleware.Permission("api/v1/mail/list", mailApi.ListMail)) + priUserRouter.POST("list", middleware.Permission("api/v1/mail/list", mailApi.ListMail)) priUserRouter.GET("del/:mailid", middleware.Permission("api/v1/mail/del", mailApi.DelMail)) } }