Files
huangguo_server/web/service/annouser/announce.go
T
rootandClaude Opus 5 8679200f41 Initial commit
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-15 13:57:10 +08:00

89 lines
2.5 KiB
Go

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"
"go.mongodb.org/mongo-driver/mongo"
)
// GetAnnounceList 获取会员中心跑马灯列表
func GetAnnounceListApi() (code stderr.Code, announce string) {
aInfos, err := annoumod.GetAnnounceApi("createdAt", -1)
if err != nil && err != mongo.ErrNoDocuments {
return stderr.ErrDbQueryError, ""
}
if err == mongo.ErrNoDocuments || len(aInfos) <= 0 {
return stderr.Success, ""
}
return stderr.Success, aInfos[0].Content
}
// GetAnnounceList 获取会员中心跑马灯列表
func GetAnnounceList() (code stderr.Code, data []annoumod.Announce) {
aInfos, err := annoumod.GetAnnounce("createdAt", -1)
if err != nil && err != mongo.ErrNoDocuments {
return stderr.ErrDbQueryError, nil
}
if err == mongo.ErrNoDocuments || len(aInfos) <= 0 {
return stderr.Success, nil
}
return stderr.Success, aInfos
}
// UpdateAnnounce 更新会员中心跑马灯信息
func UpdateAnnounce(req annoumod.EditAnnounceReq) (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.EditAnnounceInfo)
cnt, err := annoumod.UpdateAnnounce(oid, m)
if err != nil {
return stderr.ErrDbUpdateError, nil
}
return stderr.Success, annoumod.OpeResp{Count: cnt}
}
// DeleteAnnounce 删除会员中心跑马灯
func DeleteAnnounce(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.DeleteAnnounce(oids)
if err != nil {
return stderr.ErrDbUpdateError, nil
}
return stderr.Success, annoumod.OpeResp{Count: cnt}
}
// AddAnnounce 添加会员中心跑马灯
func AddAnnounce(req annoumod.AddAnnounceReq) (code stderr.Code) {
infos := []annoumod.Announce{annoumod.Announce{
ID: primitive.NewObjectID(),
Content: req.Content,
Url: req.Url,
Type: annoumod.UserCenter,
Active: req.Active,
CreatedAt: time.Now(),
UpdatedAt: time.Now(),
}}
if err := annoumod.AddAnnounce(infos); err != nil {
return stderr.ErrDbInsertError
}
return stderr.Success
}