创建聊天组
This commit is contained in:
@@ -132,6 +132,10 @@ func CreateMessageGroup(ctx *jxcontext.Context, userID, userID2 string) (err err
|
|||||||
groupID int
|
groupID int
|
||||||
)
|
)
|
||||||
if userID2 != "" {
|
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)
|
user, err := dao.GetUserByID(db, "user_id", userID2)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -170,3 +170,42 @@ func GetImMessageRecord(db *DaoDB, vendorOrderID, userID string, storeID, vendor
|
|||||||
err = GetRows(db, &msg, sql, sqlParams)
|
err = GetRows(db, &msg, sql, sqlParams)
|
||||||
return msg, err
|
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