feat: WBS-CRM-01 고객 카드 (Client Card) Phase 1 구현
DB: - V006__CreateClients.sql: clients 테이블 (name, company_name, phone, email, service_type, tax_type, status, source, memo) Domain: - Client 엔티티 - IClientRepository (GetPagedAsync 이름/연락처/회사명 검색 + 상태 필터) Infrastructure: - ClientRepository: ILIKE 검색, 페이징, CRUD Application: - ClientService: ServiceTypes/TaxTypes/Sources 상수 정의 - CreateClientDto Admin UI: - ClientList.razor: 검색바 + 상태 필터 + 페이징 테이블 - ClientEdit.razor: 기본정보/세무정보/관리정보 섹션 폼 - MainLayout: 고객 관리 NavGroup 추가, 홈페이지 메뉴 그룹화 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
-- 고객 카드 (Client CRM)
|
||||
CREATE TABLE IF NOT EXISTS clients (
|
||||
id SERIAL PRIMARY KEY,
|
||||
name VARCHAR(100) NOT NULL,
|
||||
company_name VARCHAR(200),
|
||||
phone VARCHAR(30),
|
||||
email VARCHAR(200),
|
||||
service_type VARCHAR(50), -- 기장, 부동산, 증여·상속, 종합소득세, 기타
|
||||
tax_type VARCHAR(30), -- 개인, 법인, 면세사업자
|
||||
status VARCHAR(20) NOT NULL DEFAULT 'active', -- active, inactive
|
||||
source VARCHAR(50), -- 홈페이지문의, 소개, 직접방문, 기타
|
||||
memo TEXT,
|
||||
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
||||
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_clients_status ON clients (status);
|
||||
CREATE INDEX IF NOT EXISTS idx_clients_name ON clients (name);
|
||||
CREATE INDEX IF NOT EXISTS idx_clients_phone ON clients (phone);
|
||||
Reference in New Issue
Block a user