查询聊天组

This commit is contained in:
苏尹岚
2020-11-16 16:03:42 +08:00
parent f920a30389
commit 5d62f14378
4 changed files with 42 additions and 9 deletions

View File

@@ -178,12 +178,16 @@ func CreateMessageGroup(ctx *jxcontext.Context, userID, userID2, groupName strin
}
} else {
userMembers, err := dao.GetUserMember(db, userID, model.MemberTypeNormal)
messageGroupsResult, err := dao.GetMessageGroups(db, userID, 0, 0, false, "")
if err != nil {
return nil, err
}
if len(userMembers) == 0 {
return nil, fmt.Errorf("抱歉,只有会员才能创建群聊!")
}
if len(messageGroupsResult) > 0 {
return nil, fmt.Errorf("您已经有群组了,请勿重复创建!群号为:%d", messageGroupsResult[0].GroupID)
}
messageGroup := &model.MessageGroup{
GroupID: groupID,
UserID: userID,
@@ -255,11 +259,15 @@ func AddMessageGroup(ctx *jxcontext.Context, groupID int, userID string) (err er
db = dao.GetDB()
)
messageGroupMembers, err := dao.GetMessageGroupMembers(db, groupID, 0, userID)
messageGroupsResult, err := dao.GetMessageGroups(db, userID, groupID, model.GroupTypeMulit, false, "")
if err != nil {
return err
}
if len(messageGroupMembers) > 0 {
return fmt.Errorf("此用户已经在该群组中了,请不要重复邀请")
return fmt.Errorf("此用户已经在该群组中了!")
}
if len(messageGroupsResult) > 0 {
return fmt.Errorf("请不要加入自己创建的群!")
}
messageGroupMember := &model.MessageGroupMember{
GroupID: groupID,
@@ -330,6 +338,7 @@ func DeleteMessageGroup(ctx *jxcontext.Context, groupID int, userID string) (err
} else {
quitPrice := messageGroup.QuitPrice
userBill, err := dao.GetUserBill(db, userID, "")
userBillGroupMaster, err := dao.GetUserBill(db, messageGroup.UserID, "")
if err != nil {
return errCode, err
}
@@ -343,15 +352,15 @@ func DeleteMessageGroup(ctx *jxcontext.Context, groupID int, userID string) (err
panic(r)
}
}()
//账户支出明细
//1、账户支出增加一条记录
if err = financial.AddBillExpend(db, userBill.BillID, model.BillTypeQuitGroup, quitPrice); err != nil {
//账户支出
if err = financial.AddExpendUpdateAccount(db, userBill, model.BillTypeQuitGroup, quitPrice); err != nil {
dao.Rollback(db)
return errCode, err
}
//2、账户表余额减少相应值
userBill.AccountBalance -= quitPrice
if _, err = dao.UpdateEntity(db, userBill, "AccountBalance"); err != nil {
//群主收到退团金额
if err = financial.AddIncomeUpdateAccount(db, userBillGroupMaster, model.BillTypeQuitGroup, quitPrice); err != nil {
dao.Rollback(db)
return errCode, err
}
dao.Commit(db)
}