This commit is contained in:
yangduo 2024-08-08 16:25:48 +08:00
parent 9c5e60b19c
commit 59d262d31e
2 changed files with 30 additions and 19 deletions

View File

@ -17,25 +17,40 @@ type MailApi struct {
func (this *MailApi) ListMail(c *gin.Context) { func (this *MailApi) ListMail(c *gin.Context) {
var pageSize = q5.SafeToInt32(c.DefaultQuery("pagesize", "")) 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 := "" orderBy := ""
sql := "SELECT * FROM t_mail WHERE 1=1 and unikey is not null " sql := "SELECT * FROM t_mail WHERE 1=1 and unikey is not null "
subFilters := []f5.DbQueryFilter{} subFilters := []f5.DbQueryFilter{
{ f5.GetDbFilter().Custom("deleted = 0").And(),
inSub := `tag1 IN (` + q5.ToString(jccommon.MAIL_TAG1_CUSTOM) }
inSub += ")"
//q5.AppendSlice(&subFilters, f5.GetDbFilter().Custom(inSub).And()) if reqObj.Subject != "" {
q5.AppendSlice(&subFilters, f5.GetDbFilter().Custom("deleted = 0").And()) 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{} mails := []*system.Mail{}
rspObj := struct { rspObj := struct {
Code int32 `json:"code"` Code int32 `json:"code"`
Message string `json:"message"` Message string `json:"message"`
Cursor int64 `json:"cursor"` Curpage int32 `json:"curpage"`
Remaining int32 `json:"remaining"` TotalPage int32 `json:"totalpage"`
Data []*system.Mail `json:"data"` Data []*system.Mail `json:"data"`
}{} }{}
f5.GetGoStyleDb().StreamPageQuery( f5.GetGoStyleDb().PageQuery(
constant.MAIL_DB, constant.MAIL_DB,
pageSize, pageSize,
cursor, cursor,
@ -43,14 +58,10 @@ func (this *MailApi) ListMail(c *gin.Context) {
[]string{}, []string{},
f5.GetDbFilter().Comp(subFilters...), f5.GetDbFilter().Comp(subFilters...),
orderBy, orderBy,
func(err error, pagination *f5.StreamPagination) { func(err error, pagination *f5.Pagination) {
rspObj.Cursor = pagination.NextCursor rspObj.Curpage = pagination.CurrentPage
rspObj.Remaining = pagination.Remaining rspObj.TotalPage = pagination.TotalPages
}, f5.UnmarshalModelList(pagination.Rows, &mails)
func(ds *f5.DataSet) {
p := new(system.Mail)
f5.UnmarshalModel(ds, p)
q5.AppendSlice(&mails, p)
}) })
rspObj.Data = mails rspObj.Data = mails
c.JSON(http.StatusOK, rspObj) c.JSON(http.StatusOK, rspObj)

View File

@ -15,7 +15,7 @@ func (this *MailRoute) InitMailRouter(priRouter *gin.RouterGroup) {
{ {
priUserRouter.POST("add", middleware.Permission("api/v1/mail/add", mailApi.AddMail)) priUserRouter.POST("add", middleware.Permission("api/v1/mail/add", mailApi.AddMail))
priUserRouter.POST("edit", middleware.Permission("api/v1/mail/edit", mailApi.EditMail)) 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)) priUserRouter.GET("del/:mailid", middleware.Permission("api/v1/mail/del", mailApi.DelMail))
} }
} }