删除用户的时候更改以往同名用户的用户名,防止冲突

This commit is contained in:
GoEdgeLab
2023-01-13 18:51:50 +08:00
parent 45804fe582
commit 369b15885c

View File

@@ -12,6 +12,7 @@ import (
"github.com/iwind/TeaGo/Tea" "github.com/iwind/TeaGo/Tea"
"github.com/iwind/TeaGo/dbs" "github.com/iwind/TeaGo/dbs"
"github.com/iwind/TeaGo/lists" "github.com/iwind/TeaGo/lists"
"github.com/iwind/TeaGo/rands"
"github.com/iwind/TeaGo/types" "github.com/iwind/TeaGo/types"
stringutil "github.com/iwind/TeaGo/utils/string" stringutil "github.com/iwind/TeaGo/utils/string"
timeutil "github.com/iwind/TeaGo/utils/time" timeutil "github.com/iwind/TeaGo/utils/time"
@@ -66,7 +67,27 @@ func (this *UserDAO) DisableUser(tx *dbs.Tx, userId int64) error {
return errors.New("invalid 'userId'") return errors.New("invalid 'userId'")
} }
_, err := this.Query(tx). // 处理以往同用户名用户
username, err := this.Query(tx).
Pk(userId).
Result("username").
FindStringCol("")
if err != nil {
return err
}
if len(username) > 0 {
err = this.Query(tx).
Attr("username", username).
Attr("state", UserStateDisabled).
Set("username", username+"_"+rands.HexString(8)).
UpdateQuickly()
if err != nil {
return err
}
}
// 禁止当前
_, err = this.Query(tx).
Pk(userId). Pk(userId).
Set("state", UserStateDisabled). Set("state", UserStateDisabled).
Update() Update()