수강신청 · 결제 — DB 스키마
주문을 만들고 결제를 확정하고 환불한다. 수강권을 여닫는 유일한 곳이다.
ERD
위에서 컬럼 표시(전체/키만)와 중심 테이블을 바꿀 수 있습니다. 중심을 고르면 그 테이블과 이웃만 그립니다. 설명이 있는 컬럼은 옆에 함께 적고, 없으면 가리키는 테이블을 적습니다. 실선 은 DB 에 실제로 걸린 FK 제약입니다(0개).점선 은 컬럼 이름으로 짐작한 관계입니다(1개) — 원본이 레거시라 제약 없이 member_id 같은 컬럼으로만 이어져 있습니다. 실제로 그렇게 쓰는지는 보장하지 않습니다.
원본 대응: products/*.php · NICEPAY/* · admin/payment/*
product — 6행 · 48 kB
적힌 설명이 없습니다. JPA 엔티티에 javadoc 을 달면 여기 나옵니다.
| 컬럼 | 타입 | NULL | 기본값 | 키 | 설명 |
|---|---|---|---|---|---|
id | integer | - | nextval('product_id_seq'::regclass) | PK | - |
code | varchar(20) | - | - | - | |
name | varchar(100) | - | - | - | |
name_kr | varchar(100) | 허용 | - | - | |
type | varchar(20) | - | 'course_bundle' | - | |
price | integer | - | 0 | - | |
sale_price | integer | 허용 | - | - | |
is_active | boolean | - | true | - | |
description | text | 허용 | - | - | |
created_at | timestamp | 허용 | now() | - | |
updated_at | timestamp | 허용 | now() | - | |
display_title | varchar(200) | 허용 | - | - | |
highlight | varchar(200) | 허용 | - | - | |
flag_image | varchar(300) | 허용 | - | - | |
options_json | text | 허용 | - | - |
member — 0행 · 32 kB
member 테이블 매핑. 컬럼 타입을 실제 스키마에 정확히 맞춰야 한다 — 레거시가 char(1) 과 varchar(1) 을 섞어 쓴다 (TESOL 쪽은 char, TEC·부가 과정은 varchar). ddl-auto: validate 가 어긋나면 기동을 막는다. 레거시 스키마를 그대로 받는다 — 날짜는 varchar, 참/거짓은 char(1) 'Y'/'N'. 도메인 타입으로의 변환은 MemberRepositoryAdapter 가 맡는다 (가드레일 global-legacy-format-at-edge). 스키마는 절대 건드리지 않는다(ddl-auto: validate). 실데이터가 든 DB 다. — MemberJpaEntity
| 컬럼 | 타입 | NULL | 기본값 | 키 | 설명 |
|---|---|---|---|---|---|
id | integer | - | nextval('member_id_seq'::regclass) | PK | DB 는 serial(integer) 다. 도메인은 long 을 쓰지만 매핑은 실제 타입에 맞춘다. — MemberJpaEntity |
old_idx | integer | - | - | NOT NULL 인데 DB 기본값이 없는 컬럼이 40 개다. 스키마를 바꾸지 않기로 했으므로 (가드레일 global-ddl-auto-validate) 자바에서 초기값을 준다. 값의 의미는 대개 '비어 있음'이다. — MemberJpaEntity | |
login_id | varchar(50) | - | - | - | |
pw | varchar(255) | - | - | - | |
pw_backup | varchar(50) | - | - | - | |
name | varchar(100) | - | - | - | |
kakao_name | varchar(50) | - | - | - | |
hp_national | varchar(50) | - | - | - | |
hp | varchar(30) | - | - | - | |
tel | varchar(50) | - | - | - | |
email | varchar(100) | - | - | - | |
lecture_price | varchar(10) | - | - | - | |
lecture_tec_price | varchar(11) | - | - | - | |
lecture_tesoltec_price | varchar(11) | - | - | - | |
lecture_apostille_price | varchar(11) | - | - | - | |
lecture_signboard_price | varchar(11) | - | - | - | |
approval | char(5) | - | - | 가입 승인 — MemberField | |
cyber_yn | char(1) | 허용 | 'N' | TESOL 사이버승인 — MemberField | |
cyber_tec_yn | varchar(1) | - | 'N' | TEC 사이버승인 — MemberField | |
sms_yn | char(1) | 허용 | 'N' | SMS 수신 — MemberField | |
email_yn | char(1) | 허용 | 'N' | 메일 수신 — MemberField | |
absence_yn | varchar(1) | - | 'N' | - | |
test_yn | char(1) | - | 'N' | 테스트 계정 — MemberField | |
pay_yn | char(1) | - | 'N' | TESOL 결제 — MemberField | |
pay_tec_yn | varchar(1) | - | 'N' | TEC 결제 — MemberField | |
pay_phonics_yn | varchar(1) | - | 'N' | 파닉스 결제 — MemberField | |
prepare_yn | char(1) | - | 'N' | TESOL 준비완료 — MemberField | |
prepare_tec_yn | varchar(1) | - | 'N' | TEC 준비완료 — MemberField | |
pass_yn | char(1) | - | - | TESOL 합격 — MemberField | |
pass_tec_yn | varchar(1) | - | - | TEC 합격 — MemberField | |
certi_yn | char(1) | - | 'N' | TESOL 자격증발급 — MemberField | |
certi_tec_yn | varchar(1) | - | 'N' | TEC 자격증발급 — MemberField | |
signboard_yn | varchar(1) | - | 'N' | 간판 — MemberField | |
apostill_yn | varchar(1) | - | 'N' | 아포스티유 발급 — MemberField | |
lecture_start | varchar(10) | - | - | TESOL 수강 시작 — MemberField | |
lecture_end | varchar(10) | - | - | TESOL 수강 종료 — MemberField | |
lecture_tec_start | varchar(10) | - | - | TEC 수강 시작 — MemberField | |
lecture_tec_end | varchar(10) | - | - | TEC 수강 종료 — MemberField | |
teaching_yn | varchar(1) | - | 'N' | 티칭 — MemberField | |
login_cnt | integer | - | - | - | |
counseling | varchar(30) | - | - | 상담 담당자 — MemberField | |
memo | text | 허용 | - | 관리자 메모 — MemberField | |
regdate | varchar(14) | - | - | - | |
regid | varchar(20) | - | - | - | |
regip | varchar(15) | - | - | - | |
moddate | varchar(14) | 허용 | - | - | |
modid | varchar(20) | 허용 | - | - | |
modip | varchar(15) | 허용 | - | - | |
sns | varchar(10) | 허용 | - | - | |
pw_change | varchar(1) | - | - | - | |
pass_date | varchar(20) | - | - | TESOL 합격일 — MemberField | |
pass_tec_date | varchar(20) | - | - | TEC 합격일 — MemberField | |
pay_apostille_yn | varchar(1) | - | 'N' | 아포스티유 결제 — MemberField | |
apostille_date | varchar(20) | - | - | - | |
kakao_id | varchar(50) | - | - | - | |
kakao_account | varchar(50) | - | - | - | |
pwd_status | varchar(1) | - | - | - | |
scan | varchar(250) | - | - | - | |
scan_tec | varchar(250) | - | - | - | |
entrance | varchar(250) | - | - | - | |
entrance_tec | varchar(250) | - | - | - | |
eng_name | varchar(30) | - | - | - | |
eng_name_tec | varchar(50) | - | - | - |
pay_event — 0행 · 16 kB
결제 이벤트·할인 기간
| 컬럼 | 타입 | NULL | 기본값 | 키 | 설명 |
|---|---|---|---|---|---|
id | integer | - | nextval('pay_event_id_seq'::regclass) | PK | - |
approval | char(1) | - | - | - | |
regid | varchar(20) | - | - | - | |
regip | varchar(15) | - | - | - | |
regdate | varchar(14) | - | - | - | |
type | varchar(20) | - | - | - | |
lecture | varchar(20) | - | - | - | |
price | integer | - | - | - |
payment — 0행 · 24 kB
적힌 설명이 없습니다. JPA 엔티티에 javadoc 을 달면 여기 나옵니다.
| 컬럼 | 타입 | NULL | 기본값 | 키 | 설명 |
|---|---|---|---|---|---|
id | integer | - | nextval('payment_id_seq'::regclass) | PK | - |
member_id | integer | 허용 | - | → member | - |
lecture | varchar(20) | - | - | - | |
name | varchar(50) | - | - | - | |
tel | varchar(30) | - | - | - | |
email | varchar(100) | - | - | - | |
order_no | varchar(50) | - | - | - | |
cost | integer | - | - | - | |
amount | integer | - | - | - | |
type | varchar(10) | - | - | - | |
bank | varchar(100) | 허용 | - | - | |
account_num | varchar(100) | 허용 | - | - | |
account_holder | varchar(100) | 허용 | - | - | |
approval_num | varchar(15) | 허용 | - | - | |
state | varchar(20) | - | - | - | |
regip | varchar(15) | - | - | - | |
regdate | varchar(14) | - | - | - | |
agent | varchar(20) | - | - | - | |
tid | varchar(40) | 허용 | - | - | |
cancel_amt | integer | 허용 | - | - | |
cancel_date | varchar(14) | 허용 | - | - | |
cancel_msg | varchar(200) | 허용 | - | - | |
confirmed_date | varchar(14) | 허용 | - | - |