From 6d83869caeefb76168dd5950c4f3a097da48d06b Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Tue, 30 Jul 2024 19:17:23 +0900 Subject: [PATCH] =?UTF-8?q?=ED=9C=B4=EB=8C=80=ED=8F=B0=20=EA=B2=B0?= =?UTF-8?q?=EC=A0=9C=EB=8F=84=20=ED=97=A5=ED=86=A0=ED=8C=8C=EC=9D=B4?= =?UTF-8?q?=EB=82=B8=EC=85=9C=EB=A1=9C=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Can/Payment/CanPgPaymentViewModel.swift | 117 ++++++------------ 1 file changed, 41 insertions(+), 76 deletions(-) diff --git a/SodaLive/Sources/MyPage/Can/Payment/CanPgPaymentViewModel.swift b/SodaLive/Sources/MyPage/Can/Payment/CanPgPaymentViewModel.swift index 9f47409..55eb0c0 100644 --- a/SodaLive/Sources/MyPage/Can/Payment/CanPgPaymentViewModel.swift +++ b/SodaLive/Sources/MyPage/Can/Payment/CanPgPaymentViewModel.swift @@ -50,19 +50,23 @@ final class CanPgPaymentViewModel: ObservableObject { let decoded = try jsonDecoder.decode(ApiResponse.self, from: responseData) if let data = decoded.data, decoded.success { - payload.applicationId = paymentMethod == .phone ? BOOTPAY_APP_ID : BOOTPAY_APP_HECTO_ID - payload.pg = paymentMethod == .phone ? "웰컴페이먼츠" : "세틀뱅크" + payload.applicationId = BOOTPAY_APP_HECTO_ID + payload.pg = "세틀뱅크" payload.orderId = "\(data.chargeId)" payload.method = paymentMethod!.rawValue - if paymentMethod != .phone { - let bootUser = BootUser() - bootUser.userId = "\(UserDefaults.int(forKey: .userId))" - bootUser.username = UserDefaults.string(forKey: .nickname) - - payload.user = bootUser + var username = UserDefaults.string(forKey: .nickname) + + if username.count > 10 { + username = "\(username.prefix(6))..." } + let bootUser = BootUser() + bootUser.userId = "\(UserDefaults.int(forKey: .userId))" + bootUser.username = UserDefaults.string(forKey: .nickname) + + payload.user = bootUser + onSuccess() } else { if let message = decoded.message { @@ -90,81 +94,42 @@ final class CanPgPaymentViewModel: ObservableObject { let receiptId = data["receipt_id"] as! String let orderId = data["order_id"] as! String - if paymentMethod == .phone { - repository.pgVerify(receiptId: receiptId, orderId: orderId) - .sink { result in - switch result { - case .finished: - DEBUG_LOG("finish") - case .failure(let error): - ERROR_LOG(error.localizedDescription) - } - } receiveValue: { [unowned self] response in - self.isLoading = false - let responseData = response.data + repository.pgVerifyHecto(receiptId: receiptId, orderId: orderId) + .sink { result in + switch result { + case .finished: + DEBUG_LOG("finish") + case .failure(let error): + ERROR_LOG(error.localizedDescription) + } + } receiveValue: { [unowned self] response in + self.isLoading = false + let responseData = response.data + + do { + let jsonDecoder = JSONDecoder() + let decoded = try jsonDecoder.decode(ApiResponseWithoutData.self, from: responseData) - do { - let jsonDecoder = JSONDecoder() - let decoded = try jsonDecoder.decode(ApiResponseWithoutData.self, from: responseData) + if decoded.success { + self.errorMessage = "캔이 충전되었습니다" + self.isShowPopup = true - if decoded.success { - self.errorMessage = "캔이 충전되었습니다" - self.isShowPopup = true - - onSuccess() + onSuccess() + } else { + if let message = decoded.message { + self.errorMessage = message } else { - if let message = decoded.message { - self.errorMessage = message - } else { - self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다." - } - - self.isShowPopup = true + self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다." } - } catch { - self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다." + self.isShowPopup = true } + } catch { + self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다." + self.isShowPopup = true } - .store(in: &subscription) - } else { - repository.pgVerifyHecto(receiptId: receiptId, orderId: orderId) - .sink { result in - switch result { - case .finished: - DEBUG_LOG("finish") - case .failure(let error): - ERROR_LOG(error.localizedDescription) - } - } receiveValue: { [unowned self] response in - self.isLoading = false - let responseData = response.data - - do { - let jsonDecoder = JSONDecoder() - let decoded = try jsonDecoder.decode(ApiResponseWithoutData.self, from: responseData) - - if decoded.success { - self.errorMessage = "캔이 충전되었습니다" - self.isShowPopup = true - - onSuccess() - } else { - if let message = decoded.message { - self.errorMessage = message - } else { - self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다." - } - - self.isShowPopup = true - } - } catch { - self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다." - self.isShowPopup = true - } - } - .store(in: &subscription) - } + } + .store(in: &subscription) } else { isLoading = false self.errorMessage = "다시 시도해 주세요.\n계속 같은 문제가 발생할 경우 고객센터로 문의 주시기 바랍니다."