#sql
-
파트너 입금 정산 자동화로 야간 누락 제로 달성
왜 자동화했나 파트너 입금 확인을 매번 손으로 처리하다 보니 누락이 생김. 메신저로 알림 와서 → 사람이 브라우저 열고 → 링크 타고 들어가서 → 내용 확인 → 다시 내부 시스템에 등록하는 패턴이 반복됐는데, 야간엔 처리가 늦어져서 정산이 밀림. "이거 왜 사람이 함?" 싶어서 파이프라인으로 묶음. 처리 흐름 | 단계 | 주체 | 역할 | |---
읽기 → -
쿠폰 매입 신청·정산 흐름을 상태머신으로 안정화
쿠폰 매입 신청 관리, 왜 필요했나 이커머스 파트너 정산 흐름에서 발행된 쿠폰 중 안 팔린 잔량을 다시 사들이는 절차가 필요했음. 기존엔 발행 이력만 시스템에 있었고 매입은 메일+엑셀로 수기 처리 중이었음. 운영팀이 월별 분량 늘면서 누락·중복 신청 사고 두 건 터지고 나서야 짬이 남. 설계 핵심 세 흐름으로 분리함: - 매입 신청 접수 (파트너
읽기 → -
정지 파트너 결제 메시지를 컨트롤러 입구에서 즉시 차단
정지 파트너인데 메시지가 계속 들어옴 이커머스 결제 플랫폼에서 파트너를 정지시켰는데, 결제대행사 쪽 모니터링 메시지가 계속 들어오는 문제가 발견됨. 정지 사유가 사기 의심이든 계약 해지든, 일단 정지 걸린 시점부터는 어떤 입금/결제 이벤트도 우리 시스템 안쪽으로 흘러들면 안 됐음. 문제는 컨트롤러에서 메시지를 받자마자 파싱 → 매칭 → 잔액 반영까지
읽기 → -
송금 수취인 계좌 오매칭을 파트너 식별자 조회로 해결
파트너 식별자 기반 계좌 조회로 갈아탄 이유 연락처 송금 흐름 손볼 때 가장 거슬렸던 게 수취인 계좌 매칭 로직임. 기존엔 입력값(연락처 + 이름) 조합으로 계좌를 끌어왔는데, 동명이인이거나 같은 번호를 공유하는 파트너가 끼면 엉뚱한 잔액 계좌로 꽂힐 위험이 있었음. 이번에 파트너 식별자(partnerSn)를 1차 키로 잡고 계좌를 조회하도록 갈아엎음.
읽기 → -
로그인 사용자 기반 상품 필터링 기능 추가
feat: 로그인 사용자 id 기반 상품 필터링 로직 추가 기능 구현.
읽기 → -
쿠폰 허용 결제수단 표시
feat: 쿠폰 허용 결제수단 표시 및 토글 UI 개선 기능 구현.
읽기 → -
JSP 뷰 기능 플래그 Boolean 조건 분기 오류 수정
fix: featureMap Boolean 타입 비교 오류 수정 (== 1 제거) — 버그 픽스.
읽기 → -
계좌 인증과 포인트 충전 페이지 신규 추가
feat: 계좌 인증 및 포인트 충전 페이지 추가 기능 구현.
읽기 → -
결제 모니터 뷰 레이어 알림 중복 제거
refactor: /Users/slecs/dev/source/pay-monitor/app/build/outputs/apk/debug/ alert/Toast 중복 제거 및 SLECS.Modal.alert로 통합 리팩토링.
읽기 → -
Android 앱 아이콘이 PNG로 올바르게 표시되도록 수정
fix: mipmap-anydpi-v26 제거하여 PNG 아이콘 적용 — Android 앱 변경 커밋.
읽기 → -
금융 알림 수신 Android 앱 리브랜딩
앱 리브랜딩: SMS모니터링 + 아이콘 변경 + v1.0.0 — Android 앱 변경 커밋.
읽기 → -
FCM 푸시와 인증코드로 금융 알림 앱 사용자 설정 강화
v3.0: FCM 푸시 + 인증코드 기반 사용자 설정 — Android 앱 변경 커밋.
읽기 → -
Android 16 대응으로 알림 권한
v2.1: Android 16 대응 + sysId 필드 추가 + API 포맷 변경 Android 앱 쪽 작업이 생각보다 빡셌음. 특히 Android 16 타겟팅 대응이 핵심이었는데, targetSdkVersion을 올리면서 권한 처리 방식이 바뀐 부분이 있어서 꼼꼼히 체크해야 했음. 주요 변경 포인트 | 항목 | 변경 전 | 변경 후 | |----
읽기 → -
상품 목록 서버사이드 페이징 통일
feat: 상품 옵션 처리 및 페이징, 카테고리 로직 개선 서버사이드 페이징을 표준화하는 작업이었음. 여러 목록 페이지가 각자 다른 방식으로 페이징을 구현하고 있어서 통일함. MyBatis 쿼리 패턴 xml <select id="selectList"> SELECT * FROM product WHERE status = 'ACTIVE' <i
읽기 → -
쇼핑몰 상품 옵션·주문 트랜잭션 안정성 개선
feat: 쇼핑몰 플랫폼 상품 리스트 및 상세 UI 개선 상품 목록부터 주문까지 이어지는 흐름을 정비했음. 특히 상품 옵션 처리와 페이징, 카테고리 필터가 한 번에 엮이는 부분이 까다로웠음. 상품 옵션 처리 구조 java // 옵션 유무 분기 if (product.hasOption()) { model.addAttribute("options"
읽기 → -
Cafe24 상품·배송 정보를 자체 DB에 배치 동기화
feat: Cafe24 상품 및 배송 동기화 기능 추가 Cafe24 상품과 배송 정보를 자체 DB에 동기화하는 배치를 구현했음. Cafe24 Open API를 호출해서 우리 쪽 상품 테이블에 매핑하는 구조임. 동기화 플로우 Cafe24 API → 상품 목록 조회 → 자체 DB UPSERT → 변경분 감지 → 알림 API 호출 제한 대응 C
읽기 → -
Android 16 대응으로 알림 리스너 안정성과 기기 식별 구조 개선
v2: Room DB 제거 + 메모리 기반 경량화 + 보안 개선 Android 앱 쪽 작업이 생각보다 빡셌음. 특히 Android 16 타겟팅 대응이 핵심이었는데, targetSdkVersion을 올리면서 권한 처리 방식이 바뀐 부분이 있어서 꼼꼼히 체크해야 했음. 주요 변경 포인트 | 항목 | 변경 전 | 변경 후 | |------|-------
읽기 → -
Android 16 대응으로 입금 알림 캡처 앱 권한 구조 재설계
Pay Monitor v2: 은행앱 입금 캡처 + SMS 전달 기능 Android 앱 쪽 작업이 생각보다 빡셌음. 특히 Android 16 타겟팅 대응이 핵심이었는데, targetSdkVersion을 올리면서 권한 처리 방식이 바뀐 부분이 있어서 꼼꼼히 체크해야 했음. 주요 변경 포인트 | 항목 | 변경 전 | 변경 후 | |------|-----
읽기 → -
파트너 계층별 수수료 정산 배치 설계
feat: 파트너 레벨 설정 및 쿠폰 수익 분리를 위한 SQL 추가 배치 작업은 운영 중에 터지면 치명적이라 스케줄링 설계를 꼼꼼히 해야 함. 배치 설계 원칙 - 멱등성: 동일 조건으로 여러 번 돌아도 같은 결과 - 실패 로그: 어떤 건이 실패했는지 추적 가능해야 함 - 부분 성공: 일부 실패해도 나머지는 처리 계속 - 알림: 오류 발생 시 담당자
읽기 → -
약관·정책 상세 페이지 추가
feat: 약관/정책 상세 페이지 및 관련 데이터 추가 JSP UI 작업은 레거시 환경에서 어떻게 사용성을 올릴 수 있는지 계속 고민하게 만듦. 테이블 레이아웃 개선 모바일에서 가로 스크롤 없이 보이게 하는 게 과제였음. 카드형 뷰로 폴백 처리함. jsp <%-- PC: 테이블 형태 --%> <div class="admin-table-wrappe
읽기 →