This commit is contained in:
wangchuxiao 2022-02-21 21:02:37 +08:00
parent 75590eb765
commit 55d7c6e672
3 changed files with 27 additions and 10 deletions

View File

@ -60,9 +60,9 @@ func SendVerificationCode(c *gin.Context) {
case constant.VerificationCodeForReset: case constant.VerificationCodeForReset:
accountKey = account + "_" + constant.VerificationCodeForResetSuffix accountKey = account + "_" + constant.VerificationCodeForResetSuffix
} }
log.NewInfo(params.OperationID, params.UsedFor,"begin store redis", accountKey)
rand.Seed(time.Now().UnixNano()) rand.Seed(time.Now().UnixNano())
code := 100000 + rand.Intn(900000) code := 100000 + rand.Intn(900000)
log.NewInfo(params.OperationID, params.UsedFor,"begin store redis", accountKey, code)
err := db.DB.SetAccountCode(accountKey, code, config.Config.Demo.CodeTTL) err := db.DB.SetAccountCode(accountKey, code, config.Config.Demo.CodeTTL)
if err != nil { if err != nil {
log.NewError(params.OperationID, "set redis error", accountKey, "err", err.Error()) log.NewError(params.OperationID, "set redis error", accountKey, "err", err.Error())

View File

@ -778,10 +778,26 @@ func (s *groupServer) DeleteGroup(_ context.Context, req *pbGroup.DeleteGroupReq
func (s *groupServer) OperateUserRole(_ context.Context, req *pbGroup.OperateUserRoleReq) (*pbGroup.OperateUserRoleResp, error) { func (s *groupServer) OperateUserRole(_ context.Context, req *pbGroup.OperateUserRoleReq) (*pbGroup.OperateUserRoleResp, error) {
log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "args:", req.String()) log.NewInfo(req.OperationID, utils.GetSelfFuncName(), "args:", req.String())
resp := &pbGroup.OperateUserRoleResp{} resp := &pbGroup.OperateUserRoleResp{}
if err := imdb.OperateGroupRole(req.UserId, req.GroupId, req.RoleLevel); err != nil { oldOwnerUserID, err := imdb.GetGroupMaster(req.GroupId)
log.NewError(req.OperationID, utils.GetSelfFuncName(), "OperateGroupRole error", err.Error()) if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "GetGroupMaster failed", err.Error())
return resp, http.WrapError(constant.ErrDB) return resp, http.WrapError(constant.ErrDB)
} }
etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImGroupName)
client := pbGroup.NewGroupClient(etcdConn)
var reqPb pbGroup.TransferGroupOwnerReq
reqPb.OperationID = req.OperationID
reqPb.NewOwnerUserID = req.UserId
reqPb.GroupID = req.GroupId
reqPb.OpUserID = "cms admin"
reqPb.OldOwnerUserID = oldOwnerUserID.UserID
reply, err := client.TransferGroupOwner(context.Background(), &reqPb)
if reply.CommonResp.ErrCode != 0 || err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), "TransferGroupOwner rpc failed")
if err != nil {
log.NewError(req.OperationID, utils.GetSelfFuncName(), err.Error())
}
}
return resp, nil return resp, nil
} }

View File

@ -116,10 +116,10 @@ func DeleteGroup(groupId string) error {
return nil return nil
} }
func OperateGroupRole(userId, groupId string, roleLevel int32) error { func OperateGroupRole(userId, groupId string, roleLevel int32) (string, string, error) {
dbConn, err := db.DB.MysqlDB.DefaultGormDB() dbConn, err := db.DB.MysqlDB.DefaultGormDB()
if err != nil { if err != nil {
return err return "", "", err
} }
dbConn.LogMode(true) dbConn.LogMode(true)
groupMember := db.GroupMember{ groupMember := db.GroupMember{
@ -133,7 +133,7 @@ func OperateGroupRole(userId, groupId string, roleLevel int32) error {
} }
switch roleLevel { switch roleLevel {
case constant.GroupOwner: case constant.GroupOwner:
return dbConn.Transaction(func(tx *gorm.DB) error { err = dbConn.Transaction(func(tx *gorm.DB) error {
result := dbConn.Table("group_members").Where("group_id = ? and role_level = ?", groupId, constant.GroupOwner).First(&groupMaster).Update(&db.GroupMember{ result := dbConn.Table("group_members").Where("group_id = ? and role_level = ?", groupId, constant.GroupOwner).First(&groupMaster).Update(&db.GroupMember{
RoleLevel: constant.GroupOrdinaryUsers, RoleLevel: constant.GroupOrdinaryUsers,
}) })
@ -153,8 +153,9 @@ func OperateGroupRole(userId, groupId string, roleLevel int32) error {
} }
return nil return nil
}) })
case constant.GroupOrdinaryUsers: case constant.GroupOrdinaryUsers:
return dbConn.Transaction(func(tx *gorm.DB) error { err = dbConn.Transaction(func(tx *gorm.DB) error {
result := dbConn.Table("group_members").Where("group_id = ? and role_level = ?", groupId, constant.GroupOwner).First(&groupMaster) result := dbConn.Table("group_members").Where("group_id = ? and role_level = ?", groupId, constant.GroupOwner).First(&groupMaster)
if result.Error != nil { if result.Error != nil {
return result.Error return result.Error
@ -176,7 +177,7 @@ func OperateGroupRole(userId, groupId string, roleLevel int32) error {
return nil return nil
}) })
} }
return nil return "", "", nil
} }
func GetGroupsCountNum(group db.Group) (int32, error) { func GetGroupsCountNum(group db.Group) (int32, error) {