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) {
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)

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("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))
}
}