查询聊天组

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)
}

View File

@@ -215,8 +215,8 @@ func GetMessageGroups(db *DaoDB, userID string, groupID, groupType int, isMember
sqlParams = append(sqlParams, groupType)
}
if groupID != 0 {
sql += " AND group_id = ?"
sqlParams = append(sqlParams, groupID)
sql += " AND group_id LIKE ?"
sqlParams = append(sqlParams, utils.Int2Str(groupID)+"%")
}
if err = GetRows(db, &messageGroupsResult, sql, sqlParams); err == nil {
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 加入用户组
// @Description 加入用户组
// @Param token header string true "认证token"

View File

@@ -250,6 +250,15 @@ func init() {
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.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.ControllerComments{
Method: "GetWeixinUnlimited",