
--- src/main/java/kr/co/takensoft/ai/system/feedback/dao/FeedbackDAO.java
+++ src/main/java/kr/co/takensoft/ai/system/feedback/dao/FeedbackDAO.java
... | ... | @@ -50,5 +50,5 @@ |
50 | 50 |
* |
51 | 51 |
* 피드백 목록 조회(사용자가 참여하는 모든 프로젝트를 대상으로 함) |
52 | 52 |
*/ |
53 |
- List<FeedbackDTO> findAllByMemberId(String memberId); |
|
53 |
+ List<FeedbackVO> findAllByMemberId(String memberId); |
|
54 | 54 |
} |
--- src/main/java/kr/co/takensoft/ai/system/feedback/dto/FeedbackDTO.java
+++ src/main/java/kr/co/takensoft/ai/system/feedback/dto/FeedbackDTO.java
... | ... | @@ -1,5 +1,6 @@ |
1 | 1 |
package kr.co.takensoft.ai.system.feedback.dto; |
2 | 2 |
|
3 |
+import kr.co.takensoft.ai.system.feedback.vo.FeedbackVO; |
|
3 | 4 |
import lombok.AllArgsConstructor; |
4 | 5 |
import lombok.Getter; |
5 | 6 |
import lombok.NoArgsConstructor; |
... | ... | @@ -20,6 +21,7 @@ |
20 | 21 |
@AllArgsConstructor |
21 | 22 |
public class FeedbackDTO { |
22 | 23 |
|
24 |
+ private String feedbackId; // 피드백 아이디 |
|
23 | 25 |
private String projectGroupId; // 프로젝트 그룹 아이디 |
24 | 26 |
private String projectName; // 프로젝트 이름 |
25 | 27 |
private String chatRoomId; // 채팅방 아이디 |
... | ... | @@ -29,4 +31,20 @@ |
29 | 31 |
private String isChecked; // 피드백 확인 여부 |
30 | 32 |
private String createdAt; // 생성 일자 |
31 | 33 |
private String updatedAt; // 수정 일자 |
34 |
+ |
|
35 |
+ public static FeedbackDTO from(FeedbackVO feedbackVO) { |
|
36 |
+ return new FeedbackDTO( |
|
37 |
+ feedbackVO.getFeedbackId(), |
|
38 |
+ feedbackVO.getProjectGroupId(), |
|
39 |
+ feedbackVO.getProjectName(), |
|
40 |
+ feedbackVO.getChatRoomId(), |
|
41 |
+ feedbackVO.getMemberId(), |
|
42 |
+ feedbackVO.getMemberName(), |
|
43 |
+ feedbackVO.getFeedbackContent(), |
|
44 |
+ feedbackVO.getIsChecked(), |
|
45 |
+ feedbackVO.getCreatedAt(), |
|
46 |
+ feedbackVO.getUpdatedAt() |
|
47 |
+ ); |
|
48 |
+ |
|
49 |
+ } |
|
32 | 50 |
} |
--- src/main/java/kr/co/takensoft/ai/system/feedback/service/impl/FeedbackServiceImpl.java
+++ src/main/java/kr/co/takensoft/ai/system/feedback/service/impl/FeedbackServiceImpl.java
... | ... | @@ -15,6 +15,7 @@ |
15 | 15 |
import org.springframework.transaction.annotation.Transactional; |
16 | 16 |
|
17 | 17 |
import java.util.List; |
18 |
+import java.util.stream.Collectors; |
|
18 | 19 |
|
19 | 20 |
/** |
20 | 21 |
* @author : 박현정 |
... | ... | @@ -93,7 +94,9 @@ |
93 | 94 |
|
94 | 95 |
try { |
95 | 96 |
String memberId = baseParam.getMemberId(); // 사용자 아이디 가져오기 |
96 |
- return feedbackDAO.findAllByMemberId(memberId); // 피드백 목록 조회 |
|
97 |
+ return feedbackDAO.findAllByMemberId(memberId) |
|
98 |
+ .stream().map(FeedbackDTO::from) |
|
99 |
+ .collect(Collectors.toList()); // 피드백 목록 조회 |
|
97 | 100 |
} catch (Exception e) { |
98 | 101 |
e.printStackTrace(); |
99 | 102 |
throw e; |
--- src/main/java/kr/co/takensoft/ai/system/project/service/ProjectService.java
+++ src/main/java/kr/co/takensoft/ai/system/project/service/ProjectService.java
... | ... | @@ -1,13 +1,14 @@ |
1 | 1 |
package kr.co.takensoft.ai.system.project.service; |
2 | 2 |
|
3 | 3 |
import kr.co.takensoft.ai.system.common.dto.BaseParam; |
4 |
-import kr.co.takensoft.ai.system.project.dto.*; |
|
5 |
-import kr.co.takensoft.ai.system.project.vo.ProjectVO; |
|
4 |
+import kr.co.takensoft.ai.system.project.dto.InsertProjectDTO; |
|
5 |
+import kr.co.takensoft.ai.system.project.dto.ProjectSearchReqDTO; |
|
6 |
+import kr.co.takensoft.ai.system.project.dto.UpdateProjectDTO; |
|
7 |
+import kr.co.takensoft.ai.system.project.dto.UpdateProjectNameDTO; |
|
8 |
+import kr.co.takensoft.ai.system.projectLog.dto.ProjectLogDTO; |
|
6 | 9 |
import org.springframework.transaction.annotation.Transactional; |
7 | 10 |
|
8 | 11 |
import java.util.HashMap; |
9 |
-import java.util.List; |
|
10 |
-import java.util.Map; |
|
11 | 12 |
|
12 | 13 |
/** |
13 | 14 |
* @author 박현정 |
... | ... | @@ -111,4 +112,12 @@ |
111 | 112 |
* 프로젝트 상세 조회 |
112 | 113 |
*/ |
113 | 114 |
HashMap<String, Object> findProject(String projectId, BaseParam request); |
115 |
+ |
|
116 |
+ /** |
|
117 |
+ * @param request - 사용자 아이디를 담은 DTO 객체 |
|
118 |
+ * @return HashMap<String, Object> - 프로젝트 상세 정보를 담은 객체 |
|
119 |
+ * |
|
120 |
+ * 프로젝트 로그 목록 조회 |
|
121 |
+ */ |
|
122 |
+ HashMap<String, Object> findAllLogs(BaseParam request); |
|
114 | 123 |
} |
--- 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
... | ... | @@ -13,6 +13,8 @@ |
13 | 13 |
import kr.co.takensoft.ai.system.projectImage.dto.ProjectImageDTO; |
14 | 14 |
import kr.co.takensoft.ai.system.projectImage.service.ProjectImageService; |
15 | 15 |
import kr.co.takensoft.ai.system.projectImage.vo.ProjectImageVO; |
16 |
+import kr.co.takensoft.ai.system.projectLog.dto.ProjectLogDTO; |
|
17 |
+import kr.co.takensoft.ai.system.projectLog.service.ProjectLogService; |
|
16 | 18 |
import kr.co.takensoft.ai.system.projectMember.dto.ProjectMemberDTO; |
17 | 19 |
import kr.co.takensoft.ai.system.projectMember.service.ProjectMemberService; |
18 | 20 |
import kr.co.takensoft.ai.system.projectMember.vo.ProjectMemberVO; |
... | ... | @@ -44,7 +46,7 @@ |
44 | 46 |
private final ProjectMemberService projectMemberService; |
45 | 47 |
private final ProjectImageService projectImageService; |
46 | 48 |
private final ProjectCommentService projectCommentService; |
47 |
- //private final ProjectLogService projectLogService; |
|
49 |
+ private final ProjectLogService projectLogService; |
|
48 | 50 |
|
49 | 51 |
/** |
50 | 52 |
* @param request - 생성할 프로젝트 정보 |
... | ... | @@ -165,6 +167,8 @@ |
165 | 167 |
projectCommentService.saveProjectComment(memberId, updateProjectId, request.getSummary(), request.getComment()); // 프로젝트 주석 객체 생성 |
166 | 168 |
String projectName = projectVO.getProjectName(); // 기존 프로젝트 이름 가져오기 |
167 | 169 |
ProjectVO updateProjectVO = new ProjectVO(updateProjectId, projectGroupId, projectName); // 프로젝트 정보 등록(새로운 버전) |
170 |
+ |
|
171 |
+ projectLogService.saveEditLog(projectGroupId, memberId); // 수정 로그 저장 |
|
168 | 172 |
return projectDAO.saveProject(updateProjectVO); |
169 | 173 |
} catch (Exception e) { |
170 | 174 |
e.printStackTrace(); |
... | ... | @@ -320,4 +324,20 @@ |
320 | 324 |
throw e; |
321 | 325 |
} |
322 | 326 |
} |
327 |
+ |
|
328 |
+ /** |
|
329 |
+ * @param request - 사용자 아이디를 담은 DTO 객체 |
|
330 |
+ * @return HashMap<String, Object> - 프로젝트 상세 정보를 담은 객체 |
|
331 |
+ * |
|
332 |
+ * 프로젝트 로그 목록 조회 |
|
333 |
+ */ |
|
334 |
+ @Override |
|
335 |
+ public HashMap<String, Object> findAllLogs(BaseParam request) { |
|
336 |
+ |
|
337 |
+ List<ProjectLogDTO> logDTOS = projectLogService.findAllLogs(request.getMemberId()); // 로그 목록 조회 |
|
338 |
+ |
|
339 |
+ HashMap<String, Object> result = new HashMap<>(); |
|
340 |
+ result.put("editLogs", logDTOS); |
|
341 |
+ return result; // 프로젝트 로그 목록 조회 결과 응답 |
|
342 |
+ } |
|
323 | 343 |
} |
--- src/main/java/kr/co/takensoft/ai/system/project/web/ProjectController.java
+++ src/main/java/kr/co/takensoft/ai/system/project/web/ProjectController.java
... | ... | @@ -7,11 +7,11 @@ |
7 | 7 |
import kr.co.takensoft.ai.system.project.dto.UpdateProjectDTO; |
8 | 8 |
import kr.co.takensoft.ai.system.project.dto.UpdateProjectNameDTO; |
9 | 9 |
import kr.co.takensoft.ai.system.project.service.ProjectService; |
10 |
+import kr.co.takensoft.ai.system.projectLog.service.ProjectLogService; |
|
10 | 11 |
import lombok.RequiredArgsConstructor; |
11 | 12 |
import org.springframework.http.HttpStatus; |
12 | 13 |
import org.springframework.http.ResponseEntity; |
13 | 14 |
import org.springframework.web.bind.annotation.*; |
14 |
-import org.springframework.web.multipart.MultipartFile; |
|
15 | 15 |
|
16 | 16 |
import java.util.HashMap; |
17 | 17 |
|
... | ... | @@ -32,7 +32,7 @@ |
32 | 32 |
private final ProjectService projectService; |
33 | 33 |
|
34 | 34 |
/** |
35 |
-// * @param request - 생성할 프로젝트 정보 |
|
35 |
+ * @param request - 생성할 프로젝트 정보 |
|
36 | 36 |
* @return ResponseEntity - 프로젝트 등록 결과를 포함하는 응답 |
37 | 37 |
* |
38 | 38 |
* 프로젝트 등록 |
... | ... | @@ -41,7 +41,6 @@ |
41 | 41 |
public ResponseEntity<?> saveProject( |
42 | 42 |
@ModelAttribute InsertProjectDTO request) { |
43 | 43 |
HashMap<String, Object> result = new HashMap<>(); |
44 |
- System.out.println("컨트롤러 이미지 파일: " + request.getImageFile().getOriginalFilename()); |
|
45 | 44 |
result.put("result", projectService.saveProject(request)); |
46 | 45 |
return new ResponseEntity<>(result, HttpStatus.OK); |
47 | 46 |
} |
... | ... | @@ -142,4 +141,17 @@ |
142 | 141 |
result.put("result", projectService.findProject(projectId, request)); |
143 | 142 |
return new ResponseEntity<>(result, HttpStatus.OK); |
144 | 143 |
} |
144 |
+ |
|
145 |
+ /** |
|
146 |
+ * @param request - 사용자 아이디를 담은 DTO 객체 |
|
147 |
+ * @return ResponseEntity - 프로젝트 로그 조회 결과를 포함하는 응답 |
|
148 |
+ * |
|
149 |
+ * 프로젝트 로그 조회 |
|
150 |
+ */ |
|
151 |
+ @PostMapping("/findAllLogs.json") |
|
152 |
+ public ResponseEntity<?> findAllProjectLogs(@RequestBody BaseParam request) { |
|
153 |
+ HashMap<String, Object> result = new HashMap<>(); |
|
154 |
+ result.put("result", projectService.findAllLogs(request)); |
|
155 |
+ return new ResponseEntity<>(result, HttpStatus.OK); |
|
156 |
+ } |
|
145 | 157 |
} |
--- src/main/java/kr/co/takensoft/ai/system/projectLog/dao/ProjectLogDAO.java
+++ src/main/java/kr/co/takensoft/ai/system/projectLog/dao/ProjectLogDAO.java
... | ... | @@ -4,6 +4,8 @@ |
4 | 4 |
import kr.co.takensoft.ai.system.projectLog.vo.ProjectLogVO; |
5 | 5 |
import org.egovframe.rte.psl.dataaccess.mapper.Mapper; |
6 | 6 |
|
7 |
+import java.util.List; |
|
8 |
+ |
|
7 | 9 |
/** |
8 | 10 |
* @author 박현정 |
9 | 11 |
* @since 2025.07.10 |
... | ... | @@ -23,4 +25,12 @@ |
23 | 25 |
* 프로젝트 활동 로그 등록 |
24 | 26 |
*/ |
25 | 27 |
int saveProjectLog(ProjectLogVO projectLogVO); |
28 |
+ |
|
29 |
+ /** |
|
30 |
+ * @param memberId - 사용자 아이디 |
|
31 |
+ * @return List<ProjectLogVO> - 프로젝트 활동 로그 목록 |
|
32 |
+ * |
|
33 |
+ * 프로젝트 활동 로그 목록 조회 (사용자가 참여하는 모든 프로젝트에 대해) |
|
34 |
+ */ |
|
35 |
+ List<ProjectLogVO> findAllByMemberId(String memberId); |
|
26 | 36 |
} |
+++ src/main/java/kr/co/takensoft/ai/system/projectLog/dto/ProjectLogDTO.java
... | ... | @@ -0,0 +1,43 @@ |
1 | +package kr.co.takensoft.ai.system.projectLog.dto; | |
2 | + | |
3 | +import kr.co.takensoft.ai.system.projectLog.vo.ProjectLogVO; | |
4 | +import lombok.AllArgsConstructor; | |
5 | +import lombok.Getter; | |
6 | +import lombok.NoArgsConstructor; | |
7 | +import lombok.Setter; | |
8 | + | |
9 | +/** | |
10 | + * @author 박현정 | |
11 | + * @since 2025.07.30 | |
12 | + * @modification | |
13 | + * since | author | description | |
14 | + * 2025.07.30 | 박현정 | 최초 등록 | |
15 | + * | |
16 | + * 프로젝트 로그 조회 관련 DTO | |
17 | + */ | |
18 | +@Getter | |
19 | +@Setter | |
20 | +@NoArgsConstructor | |
21 | +@AllArgsConstructor | |
22 | +public class ProjectLogDTO { | |
23 | + | |
24 | + private String projectLogId; // 프로젝트 로그 아이디 | |
25 | + private String projectGroupId; // 프로젝트 그룹 아이디 | |
26 | + private String projectName; // 프로젝트 이름(현재 그룹 내에서 isMain='Y'인 프로젝트) | |
27 | + private String actionType; // 로그 내용(E : 수정, S : 공유) | |
28 | + private String registerId; // 공유/수정을 실행한 사용자 아이디 | |
29 | + private String createdAt; // 생성일자 | |
30 | + private String updatedAt; // 수정일자 | |
31 | + | |
32 | + public static ProjectLogDTO from(ProjectLogVO logVO) { | |
33 | + return new ProjectLogDTO( | |
34 | + logVO.getProjectLogId(), | |
35 | + logVO.getProjectGroupId(), | |
36 | + logVO.getProjectName(), | |
37 | + logVO.getActionType(), | |
38 | + logVO.getRegisterId(), | |
39 | + logVO.getCreatedAt(), | |
40 | + logVO.getUpdatedAt() | |
41 | + ); | |
42 | + } | |
43 | +} |
--- src/main/java/kr/co/takensoft/ai/system/projectLog/service/ProjectLogService.java
+++ src/main/java/kr/co/takensoft/ai/system/projectLog/service/ProjectLogService.java
... | ... | @@ -1,4 +1,47 @@ |
1 | 1 |
package kr.co.takensoft.ai.system.projectLog.service; |
2 | 2 |
|
3 |
+import kr.co.takensoft.ai.system.common.dto.BaseParam; |
|
4 |
+import kr.co.takensoft.ai.system.projectLog.dto.ProjectLogDTO; |
|
5 |
+import org.springframework.transaction.annotation.Transactional; |
|
6 |
+ |
|
7 |
+import java.util.List; |
|
8 |
+ |
|
9 |
+/** |
|
10 |
+ * @author : 박현정 |
|
11 |
+ * @since : 2025.07.30 |
|
12 |
+ * @modification |
|
13 |
+ * since | author | description |
|
14 |
+ * 2025.07.30 | 박현정 | 최초 등록 |
|
15 |
+ * |
|
16 |
+ * 프로젝트 로그 관련 인터페이스 |
|
17 |
+ */ |
|
3 | 18 |
public interface ProjectLogService { |
19 |
+ |
|
20 |
+ /** |
|
21 |
+ * @param projectGroupId - 프로젝트 그룹 아이디 |
|
22 |
+ * @param registerId - 등록자 아이디 |
|
23 |
+ * @return 등록 성공 여부 |
|
24 |
+ * |
|
25 |
+ * 프로젝트 수정 로그 등록 |
|
26 |
+ */ |
|
27 |
+ @Transactional |
|
28 |
+ int saveEditLog(String projectGroupId, String registerId); |
|
29 |
+ |
|
30 |
+ /** |
|
31 |
+ * @param projectGroupId - 프로젝트 그룹 아이디 |
|
32 |
+ * @param registerId - 등록자 아이디 |
|
33 |
+ * @return 등록 성공 여부 |
|
34 |
+ * |
|
35 |
+ * 프로젝트 공유 로그 등록 |
|
36 |
+ */ |
|
37 |
+ @Transactional |
|
38 |
+ int saveShareLog(String projectGroupId, String registerId); |
|
39 |
+ |
|
40 |
+ /** |
|
41 |
+ * @param registerId - 등록자 아이디 |
|
42 |
+ * @return List<ProjectLogDTO> - 로그 정보를 담은 DTO 객체 리스트 |
|
43 |
+ * |
|
44 |
+ * 프로젝트 로그 목록 조회(사용자가 참여하는 모든 프로젝트에 대해) |
|
45 |
+ */ |
|
46 |
+ List<ProjectLogDTO> findAllLogs(String registerId); |
|
4 | 47 |
} |
--- src/main/java/kr/co/takensoft/ai/system/projectLog/service/impl/ProjectLogServiceImpl.java
+++ src/main/java/kr/co/takensoft/ai/system/projectLog/service/impl/ProjectLogServiceImpl.java
... | ... | @@ -1,4 +1,77 @@ |
1 | 1 |
package kr.co.takensoft.ai.system.projectLog.service.impl; |
2 | 2 |
|
3 |
-public class ProjectLogServiceImpl { |
|
3 |
+import kr.co.takensoft.ai.system.common.dto.BaseParam; |
|
4 |
+import kr.co.takensoft.ai.system.common.idgen.service.IdgenService; |
|
5 |
+import kr.co.takensoft.ai.system.projectLog.dao.ProjectLogDAO; |
|
6 |
+import kr.co.takensoft.ai.system.projectLog.dto.ProjectLogDTO; |
|
7 |
+import kr.co.takensoft.ai.system.projectLog.service.ProjectLogService; |
|
8 |
+import kr.co.takensoft.ai.system.projectLog.vo.ProjectLogVO; |
|
9 |
+import lombok.RequiredArgsConstructor; |
|
10 |
+import org.springframework.stereotype.Service; |
|
11 |
+import org.springframework.transaction.annotation.Transactional; |
|
12 |
+ |
|
13 |
+import java.util.List; |
|
14 |
+import java.util.stream.Collectors; |
|
15 |
+ |
|
16 |
+/** |
|
17 |
+ * @author : 박현정 |
|
18 |
+ * @since : 2025.07.30 |
|
19 |
+ * @modification |
|
20 |
+ * since | author | description |
|
21 |
+ * 2025.07.30 | 박현정 | 최초 등록 |
|
22 |
+ * |
|
23 |
+ * 프로젝트 로그 관련 서비스 |
|
24 |
+ */ |
|
25 |
+@Service("projectLogService") |
|
26 |
+@RequiredArgsConstructor |
|
27 |
+public class ProjectLogServiceImpl implements ProjectLogService { |
|
28 |
+ |
|
29 |
+ private final ProjectLogDAO projectLogDAO; |
|
30 |
+ private final IdgenService projectLogIdgn; |
|
31 |
+ |
|
32 |
+ /** |
|
33 |
+ * @param projectGroupId - 프로젝트 그룹 아이디 |
|
34 |
+ * @param registerId - 등록자 아이디 |
|
35 |
+ * @return 등록 성공 여부 |
|
36 |
+ * |
|
37 |
+ * 프로젝트 수정 로그 등록 |
|
38 |
+ */ |
|
39 |
+ @Override |
|
40 |
+ @Transactional |
|
41 |
+ public int saveEditLog(String projectGroupId, String registerId) { |
|
42 |
+ |
|
43 |
+ String LogId = projectLogIdgn.getNextStringId(); // 프로젝트 로그 구분 아이디 생성 |
|
44 |
+ ProjectLogVO LogVO = new ProjectLogVO(LogId, projectGroupId, "E", registerId); // 로그 정보 등록 |
|
45 |
+ return projectLogDAO.saveProjectLog(LogVO); // 로그 정보 등록 |
|
46 |
+ } |
|
47 |
+ |
|
48 |
+ /** |
|
49 |
+ * @param projectGroupId - 프로젝트 그룹 아이디 |
|
50 |
+ * @param registerId - 등록자 아이디 |
|
51 |
+ * @return 등록 성공 여부 |
|
52 |
+ * |
|
53 |
+ * 프로젝트 공유 로그 등록 |
|
54 |
+ */ |
|
55 |
+ @Override |
|
56 |
+ @Transactional |
|
57 |
+ public int saveShareLog(String projectGroupId, String registerId) { |
|
58 |
+ |
|
59 |
+ String LogId = projectLogIdgn.getNextStringId(); // 프로젝트 로그 구분 아이디 생성 |
|
60 |
+ ProjectLogVO LogVO = new ProjectLogVO(LogId, projectGroupId, "S", registerId); // 로그 정보 등록 |
|
61 |
+ return projectLogDAO.saveProjectLog(LogVO); // 로그 정보 등록 |
|
62 |
+ } |
|
63 |
+ |
|
64 |
+ /** |
|
65 |
+ * @param registerId - 등록자 아이디 |
|
66 |
+ * @return List<ProjectLogDTO> - 로그 정보를 담은 DTO 객체 리스트 |
|
67 |
+ * |
|
68 |
+ * 프로젝트 로그 목록 조회(사용자가 참여하는 모든 프로젝트에 대해) |
|
69 |
+ */ |
|
70 |
+ @Override |
|
71 |
+ public List<ProjectLogDTO> findAllLogs(String registerId) { |
|
72 |
+ |
|
73 |
+ return projectLogDAO.findAllByMemberId(registerId) |
|
74 |
+ .stream().map(ProjectLogDTO::from) |
|
75 |
+ .collect(Collectors.toList()); |
|
76 |
+ } |
|
4 | 77 |
} |
--- src/main/java/kr/co/takensoft/ai/system/projectLog/vo/ProjectLogVO.java
+++ src/main/java/kr/co/takensoft/ai/system/projectLog/vo/ProjectLogVO.java
... | ... | @@ -19,16 +19,19 @@ |
19 | 19 |
|
20 | 20 |
private String projectLogId; // 프로젝트 로그 아이디 |
21 | 21 |
private String projectGroupId; // 프로젝트 그룹 아이디 |
22 |
+ private String projectName; // 프로젝트 이름(현재 그룹 내에서 isMain='Y'인 프로젝트) |
|
22 | 23 |
private String actionType; // 로그 내용(E : 수정, S : 공유) |
24 |
+ private String registerId; // 공유/수정을 실행한 사용자 아이디 |
|
23 | 25 |
private String useAt; // 사용 여부 (N : 사용 안함, Y : 사용) |
24 | 26 |
private String createdAt; // 생성일자 |
25 | 27 |
private String updatedAt; // 수정일자 |
26 | 28 |
|
27 | 29 |
// 프로젝트 로그 생성용 생성자 |
28 |
- public ProjectLogVO(String projectLogId, String projectGroupId, String actionType) { |
|
30 |
+ public ProjectLogVO(String projectLogId, String projectGroupId, String actionType, String registerId) { |
|
29 | 31 |
this.projectLogId = projectLogId; |
30 | 32 |
this.projectGroupId = projectGroupId; |
31 | 33 |
this.actionType = actionType; |
34 |
+ this.registerId = registerId; |
|
32 | 35 |
this.useAt = "Y"; |
33 | 36 |
} |
34 | 37 |
} |
--- src/main/resources/mybatis/mapper/feedback/feedback-SQL.xml
+++ src/main/resources/mybatis/mapper/feedback/feedback-SQL.xml
... | ... | @@ -98,7 +98,7 @@ |
98 | 98 |
LEFT JOIN project_member pm ON f.project_group_id = pm.project_group_id AND pm.member_id = #{memberId} |
99 | 99 |
LEFT JOIN member m ON f.member_id = m.member_id |
100 | 100 |
LEFT JOIN chat_room cr ON f.feedback_id = cr.feedback_id |
101 |
- AND f.use_at = 'Y' |
|
101 |
+ WHERE f.use_at = 'Y' |
|
102 | 102 |
</select> |
103 | 103 |
|
104 | 104 |
<update id="setFeedbackCheck" parameterType="String"> |
--- src/main/resources/mybatis/mapper/projectLog/projectLog-SQL.xml
+++ src/main/resources/mybatis/mapper/projectLog/projectLog-SQL.xml
... | ... | @@ -1,6 +1,23 @@ |
1 | 1 |
<?xml version="1.0" encoding="UTF-8"?> |
2 | 2 |
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
3 | 3 |
<mapper namespace="kr.co.takensoft.ai.system.projectLog.dao.ProjectLogDAO"> |
4 |
+ |
|
5 |
+ <!-- |
|
6 |
+ 작 성 자 : 박현정 |
|
7 |
+ 작 성 일 : 2025.07.30 |
|
8 |
+ 내 용 : 피드백 resultMap |
|
9 |
+ --> |
|
10 |
+ <resultMap id="LogMap" type="ProjectLogVO"> |
|
11 |
+ <result property="projectLogId" column="project_log_id"/> |
|
12 |
+ <result property="projectGroupId" column="project_group_id"/> |
|
13 |
+ <result property="projectName" column="project_name"/> |
|
14 |
+ <result property="actionType" column="action_type"/> |
|
15 |
+ <result property="registerId" column="register_id"/> |
|
16 |
+ <result property="useAt" column="use_at"/> |
|
17 |
+ <result property="createdAt" column="created_at"/> |
|
18 |
+ <result property="updatedAt" column="updated_at"/> |
|
19 |
+ </resultMap> |
|
20 |
+ |
|
4 | 21 |
<!-- |
5 | 22 |
작 성 자 : 박현정 |
6 | 23 |
작 성 일 : 2025.07.10 |
... | ... | @@ -11,6 +28,7 @@ |
11 | 28 |
(project_log_id, |
12 | 29 |
project_group_id, |
13 | 30 |
action_type, |
31 |
+ register_id, |
|
14 | 32 |
use_at, |
15 | 33 |
created_at, |
16 | 34 |
updated_at) |
... | ... | @@ -18,6 +36,7 @@ |
18 | 36 |
#{projectLogId}, |
19 | 37 |
#{projectGroupId}, |
20 | 38 |
#{actionType}, |
39 |
+ #{registerId}, |
|
21 | 40 |
#{useAt}, |
22 | 41 |
CURRENT_TIMESTAMP, |
23 | 42 |
CURRENT_TIMESTAMP |
... | ... | @@ -25,6 +44,28 @@ |
25 | 44 |
</insert> |
26 | 45 |
|
27 | 46 |
<!-- |
47 |
+ 작 성 자 : 박현정 |
|
48 |
+ 작 성 일 : 2025.07.30 |
|
49 |
+ 내 용 : 프로젝트 로그 목록 조회 (사용자 아이디로 검색) |
|
50 |
+ --> |
|
51 |
+ <select id="findAllByMemberId" resultMap="LogMap" parameterType="String"> |
|
52 |
+ SELECT |
|
53 |
+ l.project_log_id, |
|
54 |
+ l.project_group_id, |
|
55 |
+ p.project_name, |
|
56 |
+ l.action_type, |
|
57 |
+ l.register_id, |
|
58 |
+ l.use_at, |
|
59 |
+ l.created_at, |
|
60 |
+ l.updated_at |
|
61 |
+ FROM project_log l |
|
62 |
+ LEFT JOIN project_member pm ON l.project_group_id = pm.project_group_id AND pm.member_id = #{memberId} |
|
63 |
+ LEFT JOIN project_group g ON l.project_group_id = g.project_group_id AND g.use_at = 'Y' |
|
64 |
+ LEFT JOIN project p ON l.project_group_id = p.project_group_id AND p.is_main = 'Y' |
|
65 |
+ WHERE l.use_at = 'Y' |
|
66 |
+ </select> |
|
67 |
+ |
|
68 |
+ <!-- |
|
28 | 69 |
작 성 자 : 박현정 |
29 | 70 |
작 성 일 : 2025.07.11 |
30 | 71 |
내 용 : 활성(사용중) 데이터만 조회하도록 필터링 |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?