28 lines
783 B
Go
28 lines
783 B
Go
package service
|
|
|
|
import (
|
|
"errors"
|
|
"strings"
|
|
|
|
"github.com/QuantumNous/new-api/model"
|
|
)
|
|
|
|
// PublishUserMessage 发布一条站内消息。
|
|
// 约束:标题和内容不能为空,且必须至少指定一个接收目标(指定用户或最小角色)。
|
|
func PublishUserMessage(msg *model.UserMessage) error {
|
|
if msg == nil {
|
|
return errors.New("message is nil")
|
|
}
|
|
msg.Title = strings.TrimSpace(msg.Title)
|
|
msg.Content = strings.TrimSpace(msg.Content)
|
|
msg.Type = strings.TrimSpace(msg.Type)
|
|
msg.BizType = strings.TrimSpace(msg.BizType)
|
|
if msg.Title == "" || msg.Content == "" {
|
|
return errors.New("title or content is empty")
|
|
}
|
|
if msg.ReceiverUserID <= 0 && msg.ReceiverMinRole <= 0 {
|
|
return errors.New("receiver is empty")
|
|
}
|
|
return model.CreateUserMessage(msg)
|
|
}
|