Compare commits
No commits in common. "2455067913301206ea19f002971e2781348313d7" and "24b5560c9c204727eb4e4fab658c1e77459a45cc" have entirely different histories.
2455067913
...
24b5560c9c
@ -18,40 +18,17 @@ import (
|
|||||||
"fonchain-fiee/pkg/service/asChat/dto"
|
"fonchain-fiee/pkg/service/asChat/dto"
|
||||||
"go.uber.org/zap"
|
"go.uber.org/zap"
|
||||||
"log"
|
"log"
|
||||||
"sync"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var cacheMap = make(map[int64]dto.NewMessageRequest)
|
|
||||||
var newMessageLocker sync.Mutex
|
|
||||||
|
|
||||||
func NewMessage(ctx context.Context, cache *chatCache.ChatCache, sender *accountFiee.ChatUserData, request dto.NewMessageRequest) (err error) {
|
func NewMessage(ctx context.Context, cache *chatCache.ChatCache, sender *accountFiee.ChatUserData, request dto.NewMessageRequest) (err error) {
|
||||||
newMessageLocker.Lock()
|
|
||||||
defer newMessageLocker.Unlock()
|
|
||||||
if request.SessionId == "" {
|
if request.SessionId == "" {
|
||||||
return errors.New("sessionId不能为空")
|
return errors.New("sessionId不能为空")
|
||||||
}
|
}
|
||||||
if request.MsgType == 0 {
|
if request.MsgType == 0 {
|
||||||
return errors.New("msgType不能为空")
|
return errors.New("msgType不能为空")
|
||||||
}
|
}
|
||||||
//短时间重复消息不发送
|
fmt.Println("NewMessage 1111111111111111111111111111111")
|
||||||
if request.AtUserId != 0 && request.Robot {
|
fmt.Println("NewMessage 22222222222222222222222222222222222")
|
||||||
if msgRecord, ok := cacheMap[request.AtUserId]; ok {
|
|
||||||
if msgRecord.SessionId == "" {
|
|
||||||
cacheMap[request.AtUserId] = request
|
|
||||||
} else {
|
|
||||||
fmt.Println(request.LocalStamp - msgRecord.LocalStamp)
|
|
||||||
if msgRecord.Message.Text == request.Message.Text && request.LocalStamp-msgRecord.LocalStamp < 10 {
|
|
||||||
cacheMap[request.AtUserId] = request
|
|
||||||
return nil
|
|
||||||
} else {
|
|
||||||
cacheMap[request.AtUserId] = request
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
cacheMap[request.AtUserId] = request
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//存储入库
|
//存储入库
|
||||||
if sender.NickName == "" {
|
if sender.NickName == "" {
|
||||||
sender.NickName = fmt.Sprintf("未知用户(%d)", sender.ID)
|
sender.NickName = fmt.Sprintf("未知用户(%d)", sender.ID)
|
||||||
|
Loading…
Reference in New Issue
Block a user