request->getJSON(true); $memberType = isset($request['MEMBER_TYPE']) ? $request['MEMBER_TYPE'] : null; $memberSeq = isset($request['MEMBER_SEQ']) ? $request['MEMBER_SEQ'] : null; try { // 멤버 타입에 따라 다른 테이블에서 조회 switch ($memberType) { case 'INFLUENCER': case 'I': $userInfo = $db->table('USER_LIST') ->where('SEQ', $memberSeq) ->get() ->getRowArray(); break; case 'VENDOR': case 'V': $userInfo = $db->table('VENDOR_LIST') ->where('SEQ', $memberSeq) ->get() ->getRowArray(); break; case 'BRAND': case 'B': $userInfo = $db->table('BRAND_LIST') ->where('SEQ', $memberSeq) ->get() ->getRowArray(); break; default: return $this->respond([ 'status' => 'fail', 'message' => '알 수 없는 회원 타입입니다.' ], 400); } if (!$userInfo) { return $this->respond([ 'status' => 'fail', 'message' => '사용자 정보를 찾을 수 없습니다.' ], 404); } // MEMBER_TYPE 정규화 (I -> INFLUENCER 등) if (isset($userInfo['MEMBER_TYPE'])) { switch ($userInfo['MEMBER_TYPE']) { case 'I': $userInfo['MEMBER_TYPE'] = 'INFLUENCER'; break; case 'V': $userInfo['MEMBER_TYPE'] = 'VENDOR'; break; case 'B': $userInfo['MEMBER_TYPE'] = 'BRAND'; break; } } return $this->respond($userInfo, 200); } catch (\Exception $e) { return $this->respond([ 'status' => 'fail', 'message' => 'DB 오류: ' . $e->getMessage() ], 500); } } }