Mypage.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. namespace App\Controllers;
  3. use CodeIgniter\RESTful\ResourceController;
  4. use App\Libraries\JwtLib\JWT;
  5. use App\Libraries\JwtLib\Key;
  6. use App\Models\LoginModel;
  7. class Mypage extends ResourceController
  8. {
  9. // 사용자 상세 정보 조회
  10. public function myDetail()
  11. {
  12. // 한국 시간으로 설정
  13. date_default_timezone_set('Asia/Seoul');
  14. $db = \Config\Database::connect();
  15. $memberType = isset($request['MEMBER_TYPE']) ? $request['MEMBER_TYPE'] : null;
  16. $memberSeq = isset($request['MEMBER_SEQ']) ? $request['MEMBER_SEQ'] : null;
  17. try {
  18. // 멤버 타입에 따라 다른 테이블에서 조회
  19. switch ($memberType) {
  20. case 'INFLUENCER':
  21. case 'I':
  22. $userInfo = $db->table('USER_LIST')
  23. ->where('SEQ', $memberSeq)
  24. ->get()
  25. ->getRowArray();
  26. break;
  27. case 'VENDOR':
  28. case 'V':
  29. $userInfo = $db->table('VENDOR_LIST')
  30. ->where('SEQ', $memberSeq)
  31. ->get()
  32. ->getRowArray();
  33. break;
  34. case 'BRAND':
  35. case 'B':
  36. $userInfo = $db->table('BRAND_LIST')
  37. ->where('SEQ', $memberSeq)
  38. ->get()
  39. ->getRowArray();
  40. break;
  41. default:
  42. return $this->respond([
  43. 'status' => 'fail',
  44. 'message' => '알 수 없는 회원 타입입니다.'
  45. ], 400);
  46. }
  47. if (!$userInfo) {
  48. return $this->respond([
  49. 'status' => 'fail',
  50. 'message' => '사용자 정보를 찾을 수 없습니다.'
  51. ], 404);
  52. }
  53. // MEMBER_TYPE 정규화 (I -> INFLUENCER 등)
  54. if (isset($userInfo['MEMBER_TYPE'])) {
  55. switch ($userInfo['MEMBER_TYPE']) {
  56. case 'I':
  57. $userInfo['MEMBER_TYPE'] = 'INFLUENCER';
  58. break;
  59. case 'V':
  60. $userInfo['MEMBER_TYPE'] = 'VENDOR';
  61. break;
  62. case 'B':
  63. $userInfo['MEMBER_TYPE'] = 'BRAND';
  64. break;
  65. }
  66. }
  67. return $this->respond($userInfo, 200);
  68. } catch (\Exception $e) {
  69. return $this->respond([
  70. 'status' => 'fail',
  71. 'message' => 'DB 오류: ' . $e->getMessage()
  72. ], 500);
  73. }
  74. }
  75. }