From 5d62f14378ab7664483deee4b18422ff7c392423 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Mon, 16 Nov 2020 16:03:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E8=81=8A=E5=A4=A9=E7=BB=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- business/jxstore/event/event.go | 23 ++++++++++++++++------- business/model/dao/event.go | 4 ++-- controllers/event_controller.go | 15 +++++++++++++++ routers/commentsRouter_controllers.go | 9 +++++++++ 4 files changed, 42 insertions(+), 9 deletions(-) diff --git a/business/jxstore/event/event.go b/business/jxstore/event/event.go index 0126f0fc1..c738e6345 100644 --- a/business/jxstore/event/event.go +++ b/business/jxstore/event/event.go @@ -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) } diff --git a/business/model/dao/event.go b/business/model/dao/event.go index 6ecb8411a..54395d6e2 100644 --- a/business/model/dao/event.go +++ b/business/model/dao/event.go @@ -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 { diff --git a/controllers/event_controller.go b/controllers/event_controller.go index 24c2bf3d8..2ade67280 100644 --- a/controllers/event_controller.go +++ b/controllers/event_controller.go @@ -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" diff --git a/routers/commentsRouter_controllers.go b/routers/commentsRouter_controllers.go index 12bcc511b..e48cba2ed 100644 --- a/routers/commentsRouter_controllers.go +++ b/routers/commentsRouter_controllers.go @@ -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",