客户转接系统

This commit is contained in:
yml2213
2026-05-27 07:58:21 +08:00
parent 0d9fec01f3
commit 80c7bb18bb
8 changed files with 387 additions and 35 deletions
+4 -5
View File
@@ -686,12 +686,11 @@ func (r *Repository) GetAvailableSupportAdmins() ([]SupportAdminDTO, error) {
}
var admins []adminRow
err := r.db.Table("admin_users AS au").
Select("au.id, au.nickname").
Select("DISTINCT au.id, COALESCE(NULLIF(au.nickname, ''), au.username) AS nickname").
Joins("JOIN admin_user_roles AS aur ON aur.admin_user_id = au.id").
Joins("JOIN role_permissions AS rp ON rp.role_id = aur.role_id").
Joins("JOIN permissions AS p ON p.id = rp.permission_id").
Where("au.status = ? AND p.code = ?", "active", "chat:view").
Distinct("au.id").
Scan(&admins).Error
if err != nil {
return nil, err
@@ -722,9 +721,9 @@ func (r *Repository) GetAvailableSupportAdmins() ([]SupportAdminDTO, error) {
result := make([]SupportAdminDTO, len(admins))
for i, a := range admins {
result[i] = SupportAdminDTO{
ID: a.ID,
Nickname: a.Nickname,
ChatCount: loadMap[a.ID],
ID: a.ID,
Nickname: a.Nickname,
ChatCount: loadMap[a.ID],
}
}
return result, nil