创建聊天组
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user