perf: 提升后端高并发承载能力

This commit is contained in:
2026-06-15 15:33:49 +08:00
parent 63c954da55
commit 8715c7bb3d
12 changed files with 600 additions and 151 deletions

View File

@@ -29,8 +29,8 @@ func AdminLogin(c *gin.Context) {
return
}
var user model.User
if err := db.DB.Where("username = ?", strings.TrimSpace(req.Username)).First(&user).Error; err != nil {
user, err := db.LoadUserByUsername(strings.TrimSpace(req.Username))
if err != nil {
c.JSON(http.StatusUnauthorized, gin.H{"error": "Invalid username or password"})
return
}
@@ -191,7 +191,7 @@ func UpdateUserRole(c *gin.Context) {
return
}
if err := db.DB.Model(&model.User{}).Where("id = ?", userID).Update("role", role).Error; err != nil {
if err := db.UpdateUserRole(userID, role); err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": "failed to update role"})
return
}
@@ -218,7 +218,7 @@ func UpdateUserEnabled(c *gin.Context) {
return
}
if err := db.DB.Model(&model.User{}).Where("id = ?", userID).Update("enabled", req.Enabled).Error; err != nil {
if err := db.UpdateUserEnabled(userID, req.Enabled); err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": "failed to update enabled status"})
return
}
@@ -251,7 +251,7 @@ func ResetUserPassword(c *gin.Context) {
return
}
if err := db.DB.Model(&model.User{}).Where("id = ?", userID).Update("password", hash).Error; err != nil {
if err := db.UpdateUserPassword(userID, hash); err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": "failed to reset password"})
return
}
@@ -274,11 +274,7 @@ func DeleteUser(c *gin.Context) {
return
}
if err := db.DB.Where("user_id = ?", userID).Delete(&model.Room{}).Error; err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": "failed to delete rooms"})
return
}
if err := db.DB.Delete(&model.User{}, userID).Error; err != nil {
if err := db.DeleteUserCascade(userID); err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": "failed to delete user"})
return
}