박현정 박현정 3 days ago
250808 박현정 프로젝트 목록 조회 소유자 필드 추가
@fc8a469947e3f98ac008da810eee7a10200f332c
src/main/java/kr/co/takensoft/ai/system/chatRoom/web/ChatSocketController.java
--- src/main/java/kr/co/takensoft/ai/system/chatRoom/web/ChatSocketController.java
+++ src/main/java/kr/co/takensoft/ai/system/chatRoom/web/ChatSocketController.java
@@ -37,7 +37,7 @@
         ChatMsgDTO response = ChatMsgDTO.from(message);
         messagingTemplate.convertAndSend("/sub/chat.room." + request.getChatRoomId(),
                 response
-        ); // 채팅 메시지 전송
+        ); // 클라이언트에게 채팅 메시지 전송
     }
 
 }
src/main/java/kr/co/takensoft/ai/system/project/dto/ProjectDTO.java
--- src/main/java/kr/co/takensoft/ai/system/project/dto/ProjectDTO.java
+++ src/main/java/kr/co/takensoft/ai/system/project/dto/ProjectDTO.java
@@ -26,6 +26,8 @@
     private String projectName; //	프로젝트 이름
     private String isMain; // 대표 프로젝트 여부 ( N: 대표 아님, Y: 대표)
     private String isFavorite; // 즐겨찾기 설정 여부 (N: 즐겨찾기 아님, Y: 즐겨찾기)
+    private String isOwner; // 프로젝트 소유자 여부 (N: 소유자 아님(참가자), Y: 소유자)
+    private String ownerName; // 프로젝트 소유자 이름
 //    private List<ProjectMemberDTO> projectMembers; // 프로젝트 참여자 정보 목록
 //    private ProjectCommentDTO projectComment; // 프로젝트 주석 정보
 //    private ProjectImageDTO projectImage; // 이미지 정보
@@ -40,6 +42,8 @@
                 projectVO.getProjectName(),
                 projectVO.getIsMain(),
                 projectVO.getIsFavorite(),
+                projectVO.getIsOwner(),
+                projectVO.getOwnerName(),
                 projectVO.getCreatedAt(),
                 projectVO.getUpdatedAt()
         );
src/main/java/kr/co/takensoft/ai/system/project/service/impl/ProjectServiceImpl.java
--- src/main/java/kr/co/takensoft/ai/system/project/service/impl/ProjectServiceImpl.java
+++ src/main/java/kr/co/takensoft/ai/system/project/service/impl/ProjectServiceImpl.java
@@ -215,7 +215,7 @@
             return projectDAO.saveProject(projectVO);
         }  catch (Exception e) {
             e.printStackTrace();
-            return -1;
+            throw e;
         }
     }
 
src/main/java/kr/co/takensoft/ai/system/project/vo/ProjectVO.java
--- src/main/java/kr/co/takensoft/ai/system/project/vo/ProjectVO.java
+++ src/main/java/kr/co/takensoft/ai/system/project/vo/ProjectVO.java
@@ -27,6 +27,8 @@
     private String projectName; //	프로젝트 이름
     private String isMain; // 대표 프로젝트 여부 ( N: 대표 아님, Y: 대표)
     private String isFavorite; // 즐겨찾기 설정 여부 (N: 즐겨찾기 아님, Y: 즐겨찾기)
+    private String isOwner; // 프로젝트 소유자 여부 (N: 소유자 아님(참가자), Y: 소유자)
+    private String ownerName; // 프로젝트 소유자 이름
     private String useAt; // 프로젝트 사용 여부 (N : 사용 안함, Y : 사용)
     private String imageId; // 프로젝트 이미지 아이디
     private String commentId; // 프로젝트 주석 아이디
src/main/resources/mybatis/mapper/project/project-SQL.xml
--- src/main/resources/mybatis/mapper/project/project-SQL.xml
+++ src/main/resources/mybatis/mapper/project/project-SQL.xml
@@ -13,6 +13,8 @@
         <result property="projectName" column="project_name" />
         <result property="isMain" column="is_main" />
         <result property="isFavorite" column="is_favorite"/>
+        <result property="isOwner" column="is_owner"/>
+        <result property="ownerName" column="owner_name"/>
         <result property="useAt" column="use_at" />
         <result property="imageId" column="project_image_id"/>
         <result property="commentId" column="project_comment_id"/>
@@ -211,6 +213,13 @@
             p.project_name,
             p.is_main,
             pm.is_favorite,
+            pm.is_owner,
+            (SELECT m.member_name
+             FROM member m
+             JOIN project_member owner_pm ON m.member_id = owner_pm.member_id
+             WHERE owner_pm.project_group_id = p.project_group_id
+             AND owner_pm.is_owner = 'Y'
+             LIMIT 1) AS owner_name,
             p.created_at,
             p.updated_at
         FROM project p
Add a comment
List