poped
This commit is contained in:
@@ -667,31 +667,71 @@ func UpdateUser(ctx *jxcontext.Context, payload map[string]interface{}) (err err
|
|||||||
err = err2
|
err = err2
|
||||||
if user2 != nil {
|
if user2 != nil {
|
||||||
user2.PopCount++
|
user2.PopCount++
|
||||||
//邀请过4人直接开通一个月会员并创建群组
|
messageGroupsResult, err3 := dao.GetMessageGroups(db, user2.UserID, 0, model.GroupTypeMulit, false, "")
|
||||||
if user2.PopCount >= 4 && user2.PopFlag == model.NO {
|
err = err3
|
||||||
_, err = InvestMember(ctx, 1, user2.UserID, true)
|
//如果他已经有群了,被邀请人直接进群
|
||||||
//如果他已经有群了,被邀请人直接进群
|
//如果他没群,在邀请到4个人的时候,自动创一个群,所有被邀请人打上标志
|
||||||
//如果他没群,自动创一个群,所有被邀请人打上标志
|
if len(messageGroupsResult) > 0 {
|
||||||
messageGroupsResult, err3 := dao.GetMessageGroups(db, user2.UserID, 0, model.GroupTypeMulit, false, "")
|
err = event.AddMessageGroup(ctx, messageGroupsResult[0].GroupID, user.UserID)
|
||||||
err = err3
|
//邀请过4人直接开通一个月会员
|
||||||
if len(messageGroupsResult) > 0 {
|
if user2.PopCount%4 == 0 && user2.PopFlag == model.NO {
|
||||||
err = event.AddMessageGroup(ctx, messageGroupsResult[0].GroupID, user.UserID)
|
_, err = InvestMember(ctx, 1, user2.UserID, true)
|
||||||
} else {
|
user2.PopFlag = model.YES
|
||||||
_, err = event.CreateMessageGroup(ctx, user2.UserID, "", "", 5, 100)
|
dao.UpdateEntity(db, user2, "PopFlag")
|
||||||
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")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else {
|
} 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
|
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
|
model.UserBill
|
||||||
WaitCashPrice int `json:"waitCashPrice"`
|
WaitCashPrice int `json:"waitCashPrice"`
|
||||||
UserMembers []*model.UserMember `json:"userMembers"`
|
UserMembers []*model.UserMember `json:"userMembers"`
|
||||||
|
PopedUserName string `json:"popedUserName"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetUserByID(db *DaoDB, fieldName, fieldValue string) (user *model.User, err error) {
|
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) {
|
func GetUserByIDWithMembers(db *DaoDB, fieldName, fieldValue string) (getSelfInfoResult *GetSelfInfoResult, err error) {
|
||||||
sql := fmt.Sprintf(`
|
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
|
FROM user t1
|
||||||
JOIN user_bill t2 ON t2.user_id = t1.user_id AND t2.deleted_at = ?
|
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 = ?
|
WHERE t1.deleted_at = ? AND t1.status = ? AND t1.%s = ?
|
||||||
`, fieldName)
|
`, fieldName)
|
||||||
sqlParams := []interface{}{
|
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 获取用户管理城市
|
// @Title 获取用户管理城市
|
||||||
// @Description 获取用户管理城市
|
// @Description 获取用户管理城市
|
||||||
// @Param token header string true "认证token"
|
// @Param token header string true "认证token"
|
||||||
|
|||||||
Reference in New Issue
Block a user