From e96431dbe0ddd3115eec2e54c740c6db2eed6394 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=B0=B9=E5=B2=9A?= <770236076@qq.com> Date: Thu, 22 Oct 2020 11:46:13 +0800 Subject: [PATCH] add message --- business/jxstore/event/event.go | 21 +++++++++++++++++++++ business/model/dao/event.go | 19 +++++++++++++++++++ controllers/event.go | 3 ++- 3 files changed, 42 insertions(+), 1 deletion(-) diff --git a/business/jxstore/event/event.go b/business/jxstore/event/event.go index df609e6ac..fedc88f7b 100644 --- a/business/jxstore/event/event.go +++ b/business/jxstore/event/event.go @@ -225,3 +225,24 @@ func GetMessageGroupByUser(ctx *jxcontext.Context, userID string) (messageGroupR } return messageGroups, err } + +func AddMessageGroup(ctx *jxcontext.Context, groupID int, userID string) (err error) { + var ( + db = dao.GetDB() + ) + messageGroupMembers, err := dao.GetMessageGroupMembers(db, groupID, userID) + if err != nil { + return err + } + if len(messageGroupMembers) > 0 { + return fmt.Errorf("此用户已经在该群组中了,请不要重复邀请!") + } + messageGroupMember := &model.MessageGroupMember{ + GroupID: groupID, + MemberUserID: userID, + Type: model.GroupMemberTypeNormal, + } + dao.WrapAddIDCULDEntity(messageGroupMember, ctx.GetUserName()) + dao.CreateEntity(db, messageGroupMember) + return err +} diff --git a/business/model/dao/event.go b/business/model/dao/event.go index c7a678d7c..1bf094215 100644 --- a/business/model/dao/event.go +++ b/business/model/dao/event.go @@ -211,3 +211,22 @@ func GetMessageGroups(db *DaoDB, userID string, groupType int, isMember bool, us } return messageGroupsResult, err } + +func GetMessageGroupMembers(db *DaoDB, groupID int, memberUserID string) (messageGroupMembers []*model.MessageGroupMember, err error) { + sql := ` + SELECT * + FROM message_group_member + WHERE deleted_at = ? + ` + sqlParams := []interface{}{utils.DefaultTimeValue} + if groupID != 0 { + sql += " AND group_id = ?" + sqlParams = append(sqlParams, groupID) + } + if memberUserID != "" { + sql += " AND member_user_id = ?" + sqlParams = append(sqlParams, memberUserID) + } + err = GetRows(db, &messageGroupMembers, sql, sqlParams) + return messageGroupMembers, err +} diff --git a/controllers/event.go b/controllers/event.go index 155ca3496..0b51e32b9 100644 --- a/controllers/event.go +++ b/controllers/event.go @@ -222,13 +222,14 @@ func (c *EventController) GetMessageGroupByUser() { // @Title 加入用户组 // @Description 加入用户组 // @Param token header string true "认证token" -// @Param groupID formData string true "组号" +// @Param groupID formData int true "组号" // @Param userID formData string true "被邀请人ID" // @Success 200 {object} controllers.CallResult // @Failure 200 {object} controllers.CallResult // @router /AddMessageGroup [post] func (c *EventController) AddMessageGroup() { c.callAddMessageGroup(func(params *tEventAddMessageGroupParams) (retVal interface{}, errCode string, err error) { + err = event.AddMessageGroup(params.Ctx, params.GroupID, params.UserID) return retVal, "", err }) }