poped
This commit is contained in:
@@ -667,31 +667,71 @@ func UpdateUser(ctx *jxcontext.Context, payload map[string]interface{}) (err err
|
||||
err = err2
|
||||
if user2 != nil {
|
||||
user2.PopCount++
|
||||
//邀请过4人直接开通一个月会员并创建群组
|
||||
if user2.PopCount >= 4 && user2.PopFlag == model.NO {
|
||||
_, err = InvestMember(ctx, 1, user2.UserID, true)
|
||||
//如果他已经有群了,被邀请人直接进群
|
||||
//如果他没群,自动创一个群,所有被邀请人打上标志
|
||||
messageGroupsResult, err3 := dao.GetMessageGroups(db, user2.UserID, 0, model.GroupTypeMulit, false, "")
|
||||
err = err3
|
||||
if len(messageGroupsResult) > 0 {
|
||||
err = event.AddMessageGroup(ctx, messageGroupsResult[0].GroupID, user.UserID)
|
||||
} else {
|
||||
_, err = event.CreateMessageGroup(ctx, user2.UserID, "", "", 5, 100)
|
||||
user.PopedFlag = model.YES
|
||||
}
|
||||
user2.PopFlag = model.YES
|
||||
dao.UpdateEntity(db, user2, "PopFlag")
|
||||
if users, _, err := dao.GetUsers(db, 0, "", user2.UserID, nil, nil, nil, 0, 999); err == nil {
|
||||
for _, v := range users {
|
||||
v.PopedFlag = model.YES
|
||||
dao.UpdateEntity(db, v, "PopedFlag")
|
||||
}
|
||||
messageGroupsResult, err3 := dao.GetMessageGroups(db, user2.UserID, 0, model.GroupTypeMulit, false, "")
|
||||
err = err3
|
||||
//如果他已经有群了,被邀请人直接进群
|
||||
//如果他没群,在邀请到4个人的时候,自动创一个群,所有被邀请人打上标志
|
||||
if len(messageGroupsResult) > 0 {
|
||||
err = event.AddMessageGroup(ctx, messageGroupsResult[0].GroupID, user.UserID)
|
||||
//邀请过4人直接开通一个月会员
|
||||
if user2.PopCount%4 == 0 && user2.PopFlag == model.NO {
|
||||
_, err = InvestMember(ctx, 1, user2.UserID, true)
|
||||
user2.PopFlag = model.YES
|
||||
dao.UpdateEntity(db, user2, "PopFlag")
|
||||
}
|
||||
} else {
|
||||
dao.UpdateEntity(db, user2, "PopCount")
|
||||
//邀请过4人直接开通一个月会员并创建群组
|
||||
if user2.PopCount%4 == 0 && user2.PopFlag == model.NO {
|
||||
_, err = InvestMember(ctx, 1, user2.UserID, true)
|
||||
user2.PopFlag = model.YES
|
||||
dao.UpdateEntity(db, user2, "PopFlag")
|
||||
|
||||
if users, _, err := dao.GetUsers(db, 0, "", user2.UserID, nil, nil, nil, 0, 999); err == nil {
|
||||
for _, v := range users {
|
||||
v.PopedFlag = model.YES
|
||||
dao.UpdateEntity(db, v, "PopedFlag")
|
||||
}
|
||||
}
|
||||
_, err = event.CreateMessageGroup(ctx, user2.UserID, "", "", 5, 100)
|
||||
}
|
||||
}
|
||||
dao.UpdateEntity(db, user2, "PopCount")
|
||||
}
|
||||
}
|
||||
return err
|
||||
}
|
||||
|
||||
func AcceptAddGroup(ctx *jxcontext.Context, flag int) (err error) {
|
||||
var (
|
||||
db = dao.GetDB()
|
||||
userID = ctx.GetUserID()
|
||||
)
|
||||
user, err := dao.GetUserByID(db, "user_id", userID)
|
||||
if user == nil {
|
||||
return fmt.Errorf("获取用户信息失败!")
|
||||
}
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if user.PopedFlag == model.NO {
|
||||
return fmt.Errorf("获取用户邀请信息失败")
|
||||
}
|
||||
//同意加入
|
||||
if flag == model.YES {
|
||||
//1、找到这个人的邀请人
|
||||
//2、这个邀请人有群就直接进,没群就加入失败了
|
||||
messageGroupsResult, err := dao.GetMessageGroups(db, user.PopUser, 0, model.GroupTypeMulit, false, "")
|
||||
if err != nil {
|
||||
return fmt.Errorf("获取邀请人群信息失败! %v", err)
|
||||
}
|
||||
if len(messageGroupsResult) > 0 {
|
||||
err = event.AddMessageGroup(ctx, messageGroupsResult[0].GroupID, user.UserID)
|
||||
} else {
|
||||
return fmt.Errorf("获取邀请人群信息失败!")
|
||||
}
|
||||
}
|
||||
//同步同意都清标志
|
||||
user.PopedFlag = model.NO
|
||||
dao.UpdateEntity(db, user, "PopedFlag")
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ type GetSelfInfoResult struct {
|
||||
model.UserBill
|
||||
WaitCashPrice int `json:"waitCashPrice"`
|
||||
UserMembers []*model.UserMember `json:"userMembers"`
|
||||
PopedUserName string `json:"popedUserName"`
|
||||
}
|
||||
|
||||
func GetUserByID(db *DaoDB, fieldName, fieldValue string) (user *model.User, err error) {
|
||||
@@ -43,9 +44,10 @@ func GetUserByID(db *DaoDB, fieldName, fieldValue string) (user *model.User, err
|
||||
|
||||
func GetUserByIDWithMembers(db *DaoDB, fieldName, fieldValue string) (getSelfInfoResult *GetSelfInfoResult, err error) {
|
||||
sql := fmt.Sprintf(`
|
||||
SELECT t1.*, t2.bill_id, t2.account_balance
|
||||
SELECT t1.*, t2.bill_id, t2.account_balance, t3.name pop_user_name
|
||||
FROM user t1
|
||||
JOIN user_bill t2 ON t2.user_id = t1.user_id AND t2.deleted_at = ?
|
||||
LEFT JOIN user t3 ON t3.user_id = t1.pop_user
|
||||
WHERE t1.deleted_at = ? AND t1.status = ? AND t1.%s = ?
|
||||
`, fieldName)
|
||||
sqlParams := []interface{}{
|
||||
|
||||
@@ -358,6 +358,20 @@ func (c *User2Controller) UpdateUser() {
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 被邀请用户达到4人时同意或拒绝入群
|
||||
// @Description 被邀请用户达到4人时同意或拒绝入群
|
||||
// @Param token header string true "认证token"
|
||||
// @Param flag formData int true "1为同意,0为拒绝"
|
||||
// @Success 200 {object} controllers.CallResult
|
||||
// @Failure 200 {object} controllers.CallResult
|
||||
// @router /AcceptAddGroup [post]
|
||||
func (c *User2Controller) AcceptAddGroup() {
|
||||
c.callAcceptAddGroup(func(params *tUser2AcceptAddGroupParams) (retVal interface{}, errCode string, err error) {
|
||||
err = cms.AcceptAddGroup(params.Ctx, params.Flag)
|
||||
return retVal, "", err
|
||||
})
|
||||
}
|
||||
|
||||
// @Title 获取用户管理城市
|
||||
// @Description 获取用户管理城市
|
||||
// @Param token header string true "认证token"
|
||||
|
||||
Reference in New Issue
Block a user