创建聊天组

This commit is contained in:
苏尹岚
2020-10-21 11:43:15 +08:00
parent 9b8fc7e1dc
commit 9861f7a774
2 changed files with 43 additions and 0 deletions

View File

@@ -132,6 +132,10 @@ func CreateMessageGroup(ctx *jxcontext.Context, userID, userID2 string) (err err
groupID int
)
if userID2 != "" {
messageGroups, err := dao.GetMessageGroups(db, userID, model.GroupMemberTypeNormal, userID2)
if len(messageGroups) > 0 && messageGroups[0].MessageGroupMembers != nil {
return err
}
user, err := dao.GetUserByID(db, "user_id", userID2)
if err != nil {
return err

View File

@@ -170,3 +170,42 @@ func GetImMessageRecord(db *DaoDB, vendorOrderID, userID string, storeID, vendor
err = GetRows(db, &msg, sql, sqlParams)
return msg, err
}
type GetMessageGroupsResult struct {
model.MessageGroup
MessageGroupMembers []*model.MessageGroupMember `json:"messageGroupMembers"`
}
func GetMessageGroups(db *DaoDB, userID string, groupType int, userID2 string) (messageGroupsResult []*GetMessageGroupsResult, err error) {
sql := `
SELECT *
FROM message_group
WHERE deleted_at = ?
`
sqlParams := []interface{}{utils.DefaultTimeValue}
if userID != "" {
sql += " AND user_id = ?"
sqlParams = append(sqlParams, userID)
}
if groupType != 0 {
sql += " AND type = ?"
sqlParams = append(sqlParams, groupType)
}
if err = GetRows(db, &messageGroupsResult, sql, sqlParams); err == nil {
for _, v := range messageGroupsResult {
var messageGroupMembers []*model.MessageGroupMember
sql2 := `
SELECT * FROM message_group_member WHERE group_id = ?
`
sqlParams2 := []interface{}{v.GroupID}
if userID2 != "" {
sql2 += ` AND user_id = ?`
sqlParams2 = append(sqlParams2, userID2)
}
if err = GetRows(db, &messageGroupMembers, sql2, sqlParams2); err == nil {
v.MessageGroupMembers = messageGroupMembers
}
}
}
return messageGroupsResult, err
}