支持可配置的会话自动分配策略

- 租户可设置负载最低或轮询,以及每位坐席最大进行中会话数
- 自动分配按策略过滤在线一线客服,满并发则保持排队
- 系统设置「客服分配规则」页可保存上述配置
This commit is contained in:
yml2213
2026-07-15 15:07:41 +08:00
parent 9251815695
commit 216ab2c85a
6 changed files with 323 additions and 59 deletions
+6
View File
@@ -318,6 +318,8 @@ export const deleteStaff = (id: number) => del(`/staff/${id}`)
// Tenant settings
export type WorkHours = Record<string, string>
export type AssignStrategy = 'least_load' | 'round_robin'
export interface TenantSettings {
tenant_id: number
display_name: string
@@ -330,6 +332,10 @@ export interface TenantSettings {
notify_new_session: boolean
notify_offline_leave: boolean
notify_daily_report: boolean
/** least_load 负载最低 | round_robin 轮询 */
assign_strategy?: AssignStrategy
/** 每位坐席最大进行中会话数,0=不限制 */
max_active_per_agent?: number
}
export const getTenantSettings = () => get<TenantSettings>('/settings')
export const updateTenantSettings = (data: Partial<TenantSettings> & { work_hours?: WorkHours }) =>