feat: P6 어댑터 PoC 보강 — Resp 노출 / phone 매핑 / 재시도 배치 / SDK 분기
1. WithdrawRequestResp / VO / Mapper.xml / 화면에 transfer_tx_id/transfer_status/transfer_at 노출 2. UserMapper.selectFirstActiveContactByRoleCode — step.roleCode → user.phone 1차 매핑 - ApprovalService.sendStepNotification 이 실제 결재자 user_id/phone 사용 (기존 0L 하드코딩 해소) - phone 미확보 시 SMS skip (DB 알림은 유지) 3. 펌뱅킹 재시도 — WithdrawBankRetryService + POST /api/internal/bank-retry - WithdrawRequestMapper.selectFailedTransfers 추가 - @EnableScheduling + cron 옵션(기본 비활성), app.bank-retry.limit 4. 어댑터 프로파일 분기 — @ConditionalOnProperty - app.adapter.bank: mock(기본) | kftc → KftcBankTransferAdapter 스켈레톤 - app.adapter.message: mock(기본) | toast → ToastMessageAdapter 스켈레톤 - 활성화 시 UnsupportedOperationException 명시 5. V83(menu_code 오기로 0건 적용) + V84(실제 WITHDRAW 메뉴에 EXECUTE 권한 보강)
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
-- V83: WITHDRAW_REQUESTS 메뉴에 EXECUTE 권한 추가
|
||||
-- P6 펌뱅킹 재시도 endpoint(POST /api/internal/bank-retry) 가 EXECUTE 권한을 요구.
|
||||
-- 동일 패턴 V72/V73 참조.
|
||||
|
||||
-- 1. menu_permission에 EXECUTE 추가 (이미 있으면 skip)
|
||||
INSERT INTO menu_permission (menu_id, perm_code, perm_name, sort_order)
|
||||
SELECT m.menu_id, 'EXECUTE', '실행', 70
|
||||
FROM menu m
|
||||
WHERE m.menu_code = 'WITHDRAW_REQUESTS'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM menu_permission mp2
|
||||
WHERE mp2.menu_id = m.menu_id AND mp2.perm_code = 'EXECUTE'
|
||||
);
|
||||
|
||||
-- 2. SUPER_ADMIN / ADMIN 에 EXECUTE 권한 부여
|
||||
INSERT INTO role_menu_permission (role_id, menu_id, perm_code, is_granted)
|
||||
SELECT r.role_id, mp.menu_id, mp.perm_code, 'Y'
|
||||
FROM role r
|
||||
CROSS JOIN menu_permission mp
|
||||
JOIN menu m ON m.menu_id = mp.menu_id
|
||||
WHERE r.role_code IN ('SUPER_ADMIN', 'ADMIN')
|
||||
AND mp.perm_code = 'EXECUTE'
|
||||
AND m.menu_code = 'WITHDRAW_REQUESTS'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM role_menu_permission rmp2
|
||||
WHERE rmp2.role_id = r.role_id
|
||||
AND rmp2.menu_id = mp.menu_id
|
||||
AND rmp2.perm_code = 'EXECUTE'
|
||||
);
|
||||
@@ -0,0 +1,26 @@
|
||||
-- V84: WITHDRAW 메뉴에 EXECUTE 권한 추가 (V83 은 잘못된 menu_code='WITHDRAW_REQUESTS' 로 0건 적용됨)
|
||||
-- P6 펌뱅킹 재시도 endpoint POST /api/internal/bank-retry 가 EXECUTE 권한을 요구.
|
||||
|
||||
INSERT INTO menu_permission (menu_id, perm_code, perm_name, sort_order)
|
||||
SELECT m.menu_id, 'EXECUTE', '실행', 70
|
||||
FROM menu m
|
||||
WHERE m.menu_code = 'WITHDRAW'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM menu_permission mp2
|
||||
WHERE mp2.menu_id = m.menu_id AND mp2.perm_code = 'EXECUTE'
|
||||
);
|
||||
|
||||
INSERT INTO role_menu_permission (role_id, menu_id, perm_code, is_granted)
|
||||
SELECT r.role_id, mp.menu_id, mp.perm_code, 'Y'
|
||||
FROM role r
|
||||
CROSS JOIN menu_permission mp
|
||||
JOIN menu m ON m.menu_id = mp.menu_id
|
||||
WHERE r.role_code IN ('SUPER_ADMIN', 'ADMIN')
|
||||
AND mp.perm_code = 'EXECUTE'
|
||||
AND m.menu_code = 'WITHDRAW'
|
||||
AND NOT EXISTS (
|
||||
SELECT 1 FROM role_menu_permission rmp2
|
||||
WHERE rmp2.role_id = r.role_id
|
||||
AND rmp2.menu_id = mp.menu_id
|
||||
AND rmp2.perm_code = 'EXECUTE'
|
||||
);
|
||||
Reference in New Issue
Block a user