fix:바로빌 API 메서드에 테넌트별 서버 모드 적용
- 각 API 메서드(cards, transactions, accounts, issue 등)에서 테넌트의 server_mode 설정에 따라 SOAP 클라이언트 재초기화 - 기존에는 index()에서만 적용되어 별도 HTTP 요청인 API 호출 시 기본 설정으로 돌아가는 버그 수정 - EcardController, EaccountController, EtaxController, HometaxController 모두 적용 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -172,6 +172,11 @@ public function accounts(Request $request): JsonResponse
|
||||
$tenantId = session('selected_tenant_id', self::HEADQUARTERS_TENANT_ID);
|
||||
$barobillMember = BarobillMember::where('tenant_id', $tenantId)->first();
|
||||
|
||||
// 테넌트별 서버 모드 적용
|
||||
if ($barobillMember && $barobillMember->server_mode) {
|
||||
$this->applyMemberServerMode($barobillMember);
|
||||
}
|
||||
|
||||
// 바로빌 사용자 ID 결정
|
||||
$userId = $barobillMember?->barobill_id ?? '';
|
||||
|
||||
@@ -253,6 +258,11 @@ public function transactions(Request $request): JsonResponse
|
||||
$barobillMember = BarobillMember::where('tenant_id', $tenantId)->first();
|
||||
$userId = $barobillMember?->barobill_id ?? '';
|
||||
|
||||
// 테넌트별 서버 모드 적용
|
||||
if ($barobillMember && $barobillMember->server_mode) {
|
||||
$this->applyMemberServerMode($barobillMember);
|
||||
}
|
||||
|
||||
// DB에서 저장된 계정과목 데이터 조회
|
||||
$savedData = BankTransaction::getByDateRange($tenantId, $startDate, $endDate, $bankAccountNum ?: null);
|
||||
|
||||
|
||||
@@ -167,6 +167,13 @@ private function applyMemberServerMode(BarobillMember $member): void
|
||||
public function cards(Request $request): JsonResponse
|
||||
{
|
||||
try {
|
||||
// 테넌트별 서버 모드 적용
|
||||
$tenantId = session('selected_tenant_id', self::HEADQUARTERS_TENANT_ID);
|
||||
$barobillMember = BarobillMember::where('tenant_id', $tenantId)->first();
|
||||
if ($barobillMember && $barobillMember->server_mode) {
|
||||
$this->applyMemberServerMode($barobillMember);
|
||||
}
|
||||
|
||||
$availOnly = $request->input('availOnly', 0);
|
||||
|
||||
$result = $this->callSoap('GetCardEx2', [
|
||||
@@ -263,6 +270,11 @@ public function transactions(Request $request): JsonResponse
|
||||
$barobillMember = BarobillMember::where('tenant_id', $tenantId)->first();
|
||||
$userId = $barobillMember?->barobill_id ?? '';
|
||||
|
||||
// 테넌트별 서버 모드 적용
|
||||
if ($barobillMember && $barobillMember->server_mode) {
|
||||
$this->applyMemberServerMode($barobillMember);
|
||||
}
|
||||
|
||||
// 디버그 로그
|
||||
Log::info('[ECard] 조회 요청', [
|
||||
'tenantId' => $tenantId,
|
||||
|
||||
@@ -193,6 +193,13 @@ public function getInvoices(): JsonResponse
|
||||
*/
|
||||
public function issue(Request $request): JsonResponse
|
||||
{
|
||||
// 테넌트별 서버 모드 적용
|
||||
$tenantId = session('selected_tenant_id', self::HEADQUARTERS_TENANT_ID);
|
||||
$barobillMember = BarobillMember::where('tenant_id', $tenantId)->first();
|
||||
if ($barobillMember && $barobillMember->server_mode) {
|
||||
$this->applyMemberServerMode($barobillMember);
|
||||
}
|
||||
|
||||
$input = $request->all();
|
||||
|
||||
$useRealAPI = $this->soapClient !== null && ($this->isTestMode || !empty($this->certKey));
|
||||
@@ -261,6 +268,13 @@ public function issue(Request $request): JsonResponse
|
||||
*/
|
||||
public function sendToNts(Request $request): JsonResponse
|
||||
{
|
||||
// 테넌트별 서버 모드 적용
|
||||
$tenantId = session('selected_tenant_id', self::HEADQUARTERS_TENANT_ID);
|
||||
$barobillMember = BarobillMember::where('tenant_id', $tenantId)->first();
|
||||
if ($barobillMember && $barobillMember->server_mode) {
|
||||
$this->applyMemberServerMode($barobillMember);
|
||||
}
|
||||
|
||||
$invoiceId = $request->input('invoiceId');
|
||||
|
||||
// 인보이스 조회
|
||||
|
||||
@@ -188,6 +188,11 @@ public function sales(Request $request): JsonResponse
|
||||
]);
|
||||
}
|
||||
|
||||
// 테넌트별 서버 모드 적용
|
||||
if ($barobillMember->server_mode) {
|
||||
$this->applyMemberServerMode($barobillMember);
|
||||
}
|
||||
|
||||
$userId = $barobillMember->barobill_id ?? '';
|
||||
|
||||
if (empty($userId)) {
|
||||
@@ -308,6 +313,11 @@ public function purchases(Request $request): JsonResponse
|
||||
]);
|
||||
}
|
||||
|
||||
// 테넌트별 서버 모드 적용
|
||||
if ($barobillMember->server_mode) {
|
||||
$this->applyMemberServerMode($barobillMember);
|
||||
}
|
||||
|
||||
$userId = $barobillMember->barobill_id ?? '';
|
||||
|
||||
if (empty($userId)) {
|
||||
@@ -533,6 +543,12 @@ public function diagnose(Request $request): JsonResponse
|
||||
try {
|
||||
$tenantId = session('selected_tenant_id', self::HEADQUARTERS_TENANT_ID);
|
||||
$barobillMember = BarobillMember::where('tenant_id', $tenantId)->first();
|
||||
|
||||
// 테넌트별 서버 모드 적용
|
||||
if ($barobillMember && $barobillMember->server_mode) {
|
||||
$this->applyMemberServerMode($barobillMember);
|
||||
}
|
||||
|
||||
$userId = $barobillMember?->barobill_id ?? '';
|
||||
$memberCorpNum = $barobillMember?->biz_no ?? '';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user