查询聊天组

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

View File

@@ -215,8 +215,8 @@ func GetMessageGroups(db *DaoDB, userID string, groupID, groupType int, isMember
sqlParams = append(sqlParams, groupType) sqlParams = append(sqlParams, groupType)
} }
if groupID != 0 { if groupID != 0 {
sql += " AND group_id = ?" sql += " AND group_id LIKE ?"
sqlParams = append(sqlParams, groupID) sqlParams = append(sqlParams, utils.Int2Str(groupID)+"%")
} }
if err = GetRows(db, &messageGroupsResult, sql, sqlParams); err == nil { if err = GetRows(db, &messageGroupsResult, sql, sqlParams); err == nil {
if isMember { if isMember {

View File

@@ -222,6 +222,21 @@ func (c *EventController) GetMessageGroupByUser() {
}) })
} }
// @Title 查询聊天组
// @Description 查询聊天组
// @Param token header string true "认证token"
// @Param groupID query int true "groupID"
// @Param isMember query bool true "是否查询组员"
// @Success 200 {object} controllers.CallResult
// @Failure 200 {object} controllers.CallResult
// @router /GetMessageGroups [get]
func (c *EventController) GetMessageGroups() {
c.callGetMessageGroups(func(params *tEventGetMessageGroupsParams) (retVal interface{}, errCode string, err error) {
retVal, err = dao.GetMessageGroups(dao.GetDB(), "", params.GroupID, 0, params.IsMember, "")
return retVal, "", err
})
}
// @Title 加入用户组 // @Title 加入用户组
// @Description 加入用户组 // @Description 加入用户组
// @Param token header string true "认证token" // @Param token header string true "认证token"

View File

@@ -250,6 +250,15 @@ func init() {
Filters: nil, Filters: nil,
Params: nil}) Params: nil})
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:EventController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:EventController"],
beego.ControllerComments{
Method: "GetMessageGroups",
Router: `/GetMessageGroups`,
AllowHTTPMethods: []string{"get"},
MethodParams: param.Make(),
Filters: nil,
Params: nil})
beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:EventController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:EventController"], beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:EventController"] = append(beego.GlobalControllerRouter["git.rosy.net.cn/jx-callback/controllers:EventController"],
beego.ControllerComments{ beego.ControllerComments{
Method: "GetWeixinUnlimited", Method: "GetWeixinUnlimited",