forked from wangziqi/gongxue-base
feat: add CRM lead assignment strategies
This commit is contained in:
30
supabase/migrations/202606290026_crm_lead_assignment.sql
Normal file
30
supabase/migrations/202606290026_crm_lead_assignment.sql
Normal file
@@ -0,0 +1,30 @@
|
||||
alter table public.crm_config
|
||||
add column if not exists assignment_mode text not null default 'none',
|
||||
add column if not exists assignment_pool jsonb not null default '[]'::jsonb,
|
||||
add column if not exists assignment_cursor integer not null default 0,
|
||||
add column if not exists assignment_config jsonb not null default '{}'::jsonb;
|
||||
|
||||
do $$
|
||||
begin
|
||||
if not exists (
|
||||
select 1
|
||||
from pg_constraint
|
||||
where conname = 'crm_config_assignment_mode_check'
|
||||
) then
|
||||
alter table public.crm_config
|
||||
add constraint crm_config_assignment_mode_check
|
||||
check (assignment_mode in ('none', 'direct', 'round_robin', 'referrer'));
|
||||
end if;
|
||||
end $$;
|
||||
|
||||
alter table public.referral_leads
|
||||
add column if not exists assigned_to_user_id uuid references public.platform_users(id) on delete set null,
|
||||
add column if not exists assignment_mode text,
|
||||
add column if not exists assigned_at timestamptz,
|
||||
add column if not exists assigned_by uuid references public.platform_users(id) on delete set null;
|
||||
|
||||
create index if not exists idx_referral_leads_assignee
|
||||
on public.referral_leads(tenant_id, assigned_to_user_id, status, bound_at desc);
|
||||
|
||||
create index if not exists idx_crm_config_assignment_mode
|
||||
on public.crm_config(tenant_id, assignment_mode);
|
||||
Reference in New Issue
Block a user