53 lines
1.5 KiB
Go
53 lines
1.5 KiB
Go
|
|
package service
|
||
|
|
|
||
|
|
import (
|
||
|
|
"StuAcaWorksAI/dao"
|
||
|
|
"errors"
|
||
|
|
)
|
||
|
|
|
||
|
|
// 创建会话服务
|
||
|
|
func CreateSession(userID int, name string) (error, uint) {
|
||
|
|
err, id := dao.CreateSession(userID, name)
|
||
|
|
return err, id
|
||
|
|
}
|
||
|
|
|
||
|
|
// 查找用户的会话列表
|
||
|
|
func FindSessionByUserID(userID int) []dao.Session {
|
||
|
|
sessions := dao.FindSessionByUserID(userID)
|
||
|
|
return sessions
|
||
|
|
}
|
||
|
|
|
||
|
|
// 更新会话名字
|
||
|
|
func UpdateSessionByID(id int, userId int, name string) error {
|
||
|
|
err := dao.UpdateSessionByID(id, userId, name)
|
||
|
|
return err
|
||
|
|
}
|
||
|
|
|
||
|
|
// 创建消息服务
|
||
|
|
func CreateMessage(msgType int, sessionID int, fromID int, toID int, msg string, status int) (error, uint) {
|
||
|
|
//sessionID, fromID, toID, msgType, status int, msg string
|
||
|
|
err, id := dao.CreateMessage(sessionID, fromID, toID, msgType, status, msg)
|
||
|
|
return err, id
|
||
|
|
}
|
||
|
|
|
||
|
|
// 通过会话id查询消息
|
||
|
|
func FindMessageBySessionID(sessionID, userID int) (error, []dao.Message) {
|
||
|
|
//查看会话是否属于该用户
|
||
|
|
session := dao.FindSessionByID(sessionID)
|
||
|
|
if session.UserID != userID {
|
||
|
|
return errors.New("session not belong to user"), nil
|
||
|
|
}
|
||
|
|
msgs := dao.FindMessageBySessionID(sessionID)
|
||
|
|
return nil, msgs
|
||
|
|
}
|
||
|
|
|
||
|
|
func CreateGeneralMessageService(fromID, toID, msgType, sessionID int, msg string) (error, uint) {
|
||
|
|
//查看会话是否属于该用户
|
||
|
|
session := dao.FindSessionByID(sessionID)
|
||
|
|
if session.UserID != fromID {
|
||
|
|
return errors.New("session not belong to user"), 0
|
||
|
|
}
|
||
|
|
err, mid := CreateMessage(msgType, sessionID, fromID, toID, msg, 0)
|
||
|
|
return err, mid
|
||
|
|
}
|