Files
2026-06-11 18:47:38 +09:00

87 lines
4.8 KiB
SQL

-- 3. 견적서 결제 정보
CREATE TABLE IF NOT EXISTS `estimate_payment`
(
`id` int NOT NULL AUTO_INCREMENT,
`estimate_id` int NOT NULL COMMENT '견적서 ID',
`payment_method` varchar(50) COMMENT '결제 수단 (pg, bank, cash)',
`total_amount` int NOT NULL COMMENT '최종 결제 요청 금액',
`payment_status` varchar(20) NOT NULL DEFAULT 'pending' COMMENT '결제 상태 (pending:요청, completed:완료, failed:실패, cancelled:취소)',
`pg_tid` varchar(100) COMMENT 'PG사 거래 ID',
`pg_receipt_url` varchar(255) COMMENT 'PG사 영수증 URL',
`bank_account` varchar(100) COMMENT '무통장 입금 계좌',
`depositor_name` varchar(50) COMMENT '입금자명',
`temp_1` varchar(255) DEFAULT NULL,
`temp_2` varchar(255) DEFAULT NULL,
`temp_3` varchar(255) DEFAULT NULL,
`temp_4` varchar(255) DEFAULT NULL,
`temp_5` varchar(255) DEFAULT NULL,
`extra_1` varchar(255) DEFAULT NULL,
`extra_2` varchar(255) DEFAULT NULL,
`extra_3` varchar(255) DEFAULT NULL,
`extra_4` varchar(255) DEFAULT NULL,
`extra_5` varchar(255) DEFAULT NULL,
`is_used` tinyint(1) NOT NULL DEFAULT '1',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`created_by` varchar(20) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`updated_by` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `estimate_id` (`estimate_id`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE=utf8mb4_general_ci COMMENT ='견적서 결제 정보';
-- 4. 결제 상태 변경 이력 (로그 테이블)
CREATE TABLE IF NOT EXISTS `estimate_payment_log`
(
`id` int NOT NULL AUTO_INCREMENT,
`payment_id` int NOT NULL COMMENT '결제 정보 ID',
`estimate_id` int NOT NULL COMMENT '견적서 ID',
`previous_status` varchar(50) DEFAULT NULL COMMENT '이전 상태',
`new_status` varchar(50) NOT NULL COMMENT '새 상태',
`memo` varchar(255) DEFAULT NULL COMMENT '변경 사유 또는 메모',
`temp_1` varchar(255) DEFAULT NULL,
`temp_2` varchar(255) DEFAULT NULL,
`temp_3` varchar(255) DEFAULT NULL,
`temp_4` varchar(255) DEFAULT NULL,
`temp_5` varchar(255) DEFAULT NULL,
`extra_1` varchar(255) DEFAULT NULL,
`extra_2` varchar(255) DEFAULT NULL,
`extra_3` varchar(255) DEFAULT NULL,
`extra_4` varchar(255) DEFAULT NULL,
`extra_5` varchar(255) DEFAULT NULL,
`is_used` tinyint(1) NOT NULL DEFAULT '1',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`created_by` varchar(20) NOT NULL COMMENT '변경자 ID',
`updated_at` datetime DEFAULT NULL,
`updated_by` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `payment_id` (`payment_id`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE=utf8mb4_general_ci COMMENT ='결제 상태 변경 이력';
-- 5. PG사 연동 전문 (로그) 테이블
CREATE TABLE IF NOT EXISTS `estimate_payment_payload`
(
`id` int NOT NULL AUTO_INCREMENT,
`payment_id` int NOT NULL COMMENT '결제 정보 ID',
`payload_type` VARCHAR(20) NOT NULL COMMENT '전문 종류 (request, response, webhook 등)',
`payload` LONGTEXT COMMENT 'PG사에서 받은 원본 전문 (JSON, XML 등)',
`temp_1` varchar(255) DEFAULT NULL,
`temp_2` varchar(255) DEFAULT NULL,
`temp_3` varchar(255) DEFAULT NULL,
`temp_4` varchar(255) DEFAULT NULL,
`temp_5` varchar(255) DEFAULT NULL,
`extra_1` varchar(255) DEFAULT NULL,
`extra_2` varchar(255) DEFAULT NULL,
`extra_3` varchar(255) DEFAULT NULL,
`extra_4` varchar(255) DEFAULT NULL,
`extra_5` varchar(255) DEFAULT NULL,
`is_used` tinyint(1) NOT NULL DEFAULT '1',
`is_deleted` tinyint(1) NOT NULL DEFAULT '0',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`created_by` varchar(20) DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`updated_by` varchar(20) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `payment_id` (`payment_id`)
) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COLLATE=utf8mb4_general_ci COMMENT ='PG사 연동 전문';