@@ -0,0 +1,80 @@
|
||||
package annouser
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"91porn-server/common/log"
|
||||
"91porn-server/common/stderr"
|
||||
"91porn-server/models/v/annoumod"
|
||||
"91porn-server/web/vidhelp"
|
||||
|
||||
"go.mongodb.org/mongo-driver/bson/primitive"
|
||||
)
|
||||
|
||||
// GetAnnouList 获取公告列表
|
||||
func GetAnnouList(req annoumod.ListReq) (code stderr.Code, data interface{}) {
|
||||
if len(req.Sort) == 0 {
|
||||
req.Sort = "createdAt"
|
||||
}
|
||||
desc := -1
|
||||
if req.Desc == 1 {
|
||||
desc = req.Desc
|
||||
}
|
||||
aInfos, _, total, err := annoumod.GetAnnou(req.PageNumber, req.PageSize, req.Sort, desc)
|
||||
if err != nil {
|
||||
return stderr.ErrDbQueryError, nil
|
||||
}
|
||||
return stderr.Success, annoumod.ListResp{AInfos: aInfos, Total: total}
|
||||
}
|
||||
|
||||
// UpdateAnnou 更新公告信息
|
||||
func UpdateAnnou(req annoumod.EditReq) (code stderr.Code, data interface{}) {
|
||||
oid, err := primitive.ObjectIDFromHex(req.ID)
|
||||
if err != nil {
|
||||
log.Error(fmt.Sprintf("exchange string(%s) to objectID error.", req.ID))
|
||||
return stderr.ErrParamError, nil
|
||||
}
|
||||
m := vidhelp.Struct2Map(req.EditInfo)
|
||||
cnt, err := annoumod.UpdateAnnou(oid, m)
|
||||
if err != nil {
|
||||
return stderr.ErrDbUpdateError, nil
|
||||
}
|
||||
return stderr.Success, annoumod.OpeResp{Count: cnt}
|
||||
}
|
||||
|
||||
// DeleteAnnou 删除公告
|
||||
func DeleteAnnou(ids []string) (code stderr.Code, data interface{}) {
|
||||
oids := make([]primitive.ObjectID, 0, len(ids))
|
||||
for _, id := range ids {
|
||||
oid, err := primitive.ObjectIDFromHex(id)
|
||||
if err != nil {
|
||||
log.Error(fmt.Sprintf("exchange string(%s) to objectID error.", id))
|
||||
continue
|
||||
}
|
||||
oids = append(oids, oid)
|
||||
}
|
||||
cnt, err := annoumod.DeleteAnnou(oids)
|
||||
if err != nil {
|
||||
return stderr.ErrDbUpdateError, nil
|
||||
}
|
||||
return stderr.Success, annoumod.OpeResp{Count: cnt}
|
||||
}
|
||||
|
||||
// AddAnnou 添加公告
|
||||
func AddAnnou(req annoumod.AddReq) (code stderr.Code, data interface{}) {
|
||||
infos := []annoumod.Annou{annoumod.Annou{
|
||||
Title: req.Title,
|
||||
Content: req.Content,
|
||||
Cover: req.Cover,
|
||||
Type: req.Type,
|
||||
Href: req.Href,
|
||||
Active: req.Active,
|
||||
CreatedAt: time.Now(),
|
||||
UpdatedAt: time.Now(),
|
||||
}}
|
||||
if err := annoumod.AddAnnou(infos); err != nil {
|
||||
return stderr.ErrDbInsertError, ""
|
||||
}
|
||||
return stderr.Success, nil
|
||||
}
|
||||
Reference in New Issue
Block a user