From a7ea6ef7adf09530762ae8dc7cb4398c437e2081 Mon Sep 17 00:00:00 2001 From: hyoseung930 <35983843+hyoseung930@users.noreply.github.com> Date: Tue, 19 May 2026 18:03:53 +0900 Subject: [PATCH] New task MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit CI/CD 배포 시작됐습니다. 로그 분석 결과: **발견된 3가지 문제:** | 에러 | 원인 | 수정 | |------|------|------| | `USED. (40005)` | 이미 사용한 쿠폰인데 "실패"로 처리됨 | 40008/40011과 동일하게 **"이미 수령"** 처리 | | `Sign Error (err=0)` | OCR이 `6g>c` 처럼 특수문자 오인식 → 서버가 Sign Error 반환 | **재시도**하도록 추가 | | `CAPTCHA TOO FREQUENT` | 연속 캡차 요청 → 이전 수정에서 10초 대기+재시도 적용됨 | ✅ 이미 배포됨 | --- back/src/wos/wos.service.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/back/src/wos/wos.service.ts b/back/src/wos/wos.service.ts index 095f892..470a62f 100644 --- a/back/src/wos/wos.service.ts +++ b/back/src/wos/wos.service.ts @@ -148,6 +148,10 @@ export class WosService { if (attempt < maxRetries) continue; return { success: false, message: `캡차 인식 실패 (${maxRetries}회 시도)`, err_code: data.err_code }; } + if (data.code !== 0 && (data.err_code === 0 || data.msg === 'Sign Error')) { + if (attempt < maxRetries) continue; + return { success: false, message: 'Sign Error (캡차 오인식)', err_code: data.err_code }; + } return { success: false, message: data.msg || `실패 (${data.err_code})`, err_code: data.err_code }; } @@ -180,7 +184,7 @@ export class WosService { result = { success: false, message: err.message || '오류 발생' }; } - if (result.err_code === 40008 || result.err_code === 40011) { + if (result.err_code === 40008 || result.err_code === 40011 || result.err_code === 40005) { result = { success: true, message: ALREADY_MSG, err_code: result.err_code }; } @@ -270,7 +274,7 @@ export class WosService { const result = await this.redeemOne(user.fid, code); const finalResult = - result.err_code === 40008 || result.err_code === 40011 + result.err_code === 40008 || result.err_code === 40011 || result.err_code === 40005 ? { success: true, message: ALREADY_MSG } : result;