From c8a260c766226cc383c4fdd45feea8c2845b8703 Mon Sep 17 00:00:00 2001
From: BlackBean99 <54030889+BlackBean99@users.noreply.github.com>
Date: Sat, 11 May 2024 16:11:49 +0900
Subject: [PATCH 1/3] =?UTF-8?q?3=EC=A3=BC=EC=B0=A8=20=EA=B3=BC=EC=A0=9C=20?=
=?UTF-8?q?=EB=B0=9C=ED=91=9C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 6a8787e..d4a57ad 100644
--- a/README.md
+++ b/README.md
@@ -16,6 +16,7 @@ Aggregate란, 여러 도메인을 하나로 합치는 과정을 의미합니다.
아래 페이지는 신입모집 어드민 페이지입니다.
+
하나의 API 요청에 모든 데이터를 담을 수 있도록 구성해봅시다.
@@ -57,4 +58,4 @@ Aggregate란, 여러 도메인을 하나로 합치는 과정을 의미합니다.
제출지 : ymecca730135@gmail.com
-### 마감시간 : 2024:05:11/21:30
\ No newline at end of file
+### 마감시간 : 2024:05:11/21:30
From 10038e9065d37743986b5a0ef4d3fbe678e2ca1d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EB=B0=95=EB=AF=BC=EA=B7=9C?=
Date: Sun, 12 May 2024 22:03:39 +0900
Subject: [PATCH 2/3] =?UTF-8?q?3=EC=A3=BC=EC=B0=A8=20=EA=B3=BC=EC=A0=9C(?=
=?UTF-8?q?=EB=B0=95=EB=AF=BC=EA=B7=9C)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../controller/AdminQueryController.java | 8 ++
.../third_project/database/Database.java | 13 ++++
.../dto/response/AdminPageResponse.java | 8 ++
.../third_project/dto/response/HopeField.java | 5 ++
.../third_project/dto/response/Priority.java | 5 ++
.../third_project/service/ApplicantMap.java | 19 +++++
.../third_project/service/GetAdminPage.java | 13 ++++
.../third_project/service/GetApplicant.java | 77 +++++++++++++++++++
.../third_project/service/GetDesiredTime.java | 13 ++++
.../third_project/service/GetMajor.java | 47 +++++++++++
.../third_project/service/GetPath.java | 33 ++++++++
11 files changed, 241 insertions(+)
create mode 100644 src/main/java/com/econovation/third_project/dto/response/AdminPageResponse.java
create mode 100644 src/main/java/com/econovation/third_project/dto/response/HopeField.java
create mode 100644 src/main/java/com/econovation/third_project/dto/response/Priority.java
create mode 100644 src/main/java/com/econovation/third_project/service/ApplicantMap.java
create mode 100644 src/main/java/com/econovation/third_project/service/GetAdminPage.java
create mode 100644 src/main/java/com/econovation/third_project/service/GetApplicant.java
create mode 100644 src/main/java/com/econovation/third_project/service/GetDesiredTime.java
create mode 100644 src/main/java/com/econovation/third_project/service/GetMajor.java
create mode 100644 src/main/java/com/econovation/third_project/service/GetPath.java
diff --git a/src/main/java/com/econovation/third_project/controller/AdminQueryController.java b/src/main/java/com/econovation/third_project/controller/AdminQueryController.java
index 4c15adb..498d7a8 100644
--- a/src/main/java/com/econovation/third_project/controller/AdminQueryController.java
+++ b/src/main/java/com/econovation/third_project/controller/AdminQueryController.java
@@ -2,6 +2,8 @@
import com.econovation.third_project.database.Database;
import com.econovation.third_project.database.Registration;
+import com.econovation.third_project.dto.response.AdminPageResponse;
+import com.econovation.third_project.service.GetAdminPage;
import lombok.RequiredArgsConstructor;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
@@ -13,6 +15,7 @@
@RequiredArgsConstructor
public class AdminQueryController {
private final Database database;
+ private final GetAdminPage getAdminPage;
// 예시 코드
@PostMapping("/registration")
@@ -25,4 +28,9 @@ public ResponseEntity getRegistration(String userId) {
return ResponseEntity.ok().body(database.getRegistration(userId));
}
+ @GetMapping("/admin")
+ public ResponseEntity getAdminPage(){
+ return ResponseEntity.ok().body();
+ }
+
}
diff --git a/src/main/java/com/econovation/third_project/database/Database.java b/src/main/java/com/econovation/third_project/database/Database.java
index 33b8710..0cf4267 100644
--- a/src/main/java/com/econovation/third_project/database/Database.java
+++ b/src/main/java/com/econovation/third_project/database/Database.java
@@ -25,4 +25,17 @@ public void register(Registration registrationRequest) {
public Registration getRegistration(String userId) {
return registration.get(userId);
}
+
+ public Map getAllRegistration(){
+ return this.registration;
+ }
+
+ public Map getAllPersonalInformation(){
+ return this.personalInformation;
+ }
+
+ public Map getAllPath(){
+ return this.path;
+ }
+
}
\ No newline at end of file
diff --git a/src/main/java/com/econovation/third_project/dto/response/AdminPageResponse.java b/src/main/java/com/econovation/third_project/dto/response/AdminPageResponse.java
new file mode 100644
index 0000000..60731e8
--- /dev/null
+++ b/src/main/java/com/econovation/third_project/dto/response/AdminPageResponse.java
@@ -0,0 +1,8 @@
+package com.econovation.third_project.dto.response;
+
+public class AdminPageResponse {
+ private HopeField hopeField;
+ private Priority priority;
+
+
+}
diff --git a/src/main/java/com/econovation/third_project/dto/response/HopeField.java b/src/main/java/com/econovation/third_project/dto/response/HopeField.java
new file mode 100644
index 0000000..17266d5
--- /dev/null
+++ b/src/main/java/com/econovation/third_project/dto/response/HopeField.java
@@ -0,0 +1,5 @@
+package com.econovation.third_project.dto.response;
+
+public class HopeField {
+
+}
diff --git a/src/main/java/com/econovation/third_project/dto/response/Priority.java b/src/main/java/com/econovation/third_project/dto/response/Priority.java
new file mode 100644
index 0000000..488de35
--- /dev/null
+++ b/src/main/java/com/econovation/third_project/dto/response/Priority.java
@@ -0,0 +1,5 @@
+package com.econovation.third_project.dto.response;
+
+public class Priority {
+
+}
diff --git a/src/main/java/com/econovation/third_project/service/ApplicantMap.java b/src/main/java/com/econovation/third_project/service/ApplicantMap.java
new file mode 100644
index 0000000..3e3b203
--- /dev/null
+++ b/src/main/java/com/econovation/third_project/service/ApplicantMap.java
@@ -0,0 +1,19 @@
+package com.econovation.third_project.service;
+
+
+import com.econovation.third_project.database.Registration;
+import java.util.Map;
+
+public class ApplicantMap {
+ Map applicantNum;
+ Map applicantPriority;
+
+ public ApplicantMap(Map applicantNum, Map applicantPriority) {
+ this.applicantNum = applicantNum;
+ this.applicantPriority = applicantPriority;
+ }
+
+ public ApplicantMap getApplicant() {
+ return new ApplicantMap(applicantNum, applicantPriority);
+ }
+}
diff --git a/src/main/java/com/econovation/third_project/service/GetAdminPage.java b/src/main/java/com/econovation/third_project/service/GetAdminPage.java
new file mode 100644
index 0000000..055bc04
--- /dev/null
+++ b/src/main/java/com/econovation/third_project/service/GetAdminPage.java
@@ -0,0 +1,13 @@
+package com.econovation.third_project.service;
+
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+@Service
+@RequiredArgsConstructor
+public class GetAdminPage {
+ private final GetApplicant getApplicant;
+ private final GetDesiredTime getDesiredTime;
+ private final GetMajor getMajor;
+ private final GetPath getPath;
+}
diff --git a/src/main/java/com/econovation/third_project/service/GetApplicant.java b/src/main/java/com/econovation/third_project/service/GetApplicant.java
new file mode 100644
index 0000000..5b69cca
--- /dev/null
+++ b/src/main/java/com/econovation/third_project/service/GetApplicant.java
@@ -0,0 +1,77 @@
+package com.econovation.third_project.service;
+
+import com.econovation.third_project.database.Database;
+import com.econovation.third_project.database.Registration;
+import java.util.HashMap;
+import java.util.Map;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+@Service
+@RequiredArgsConstructor
+public class GetApplicant {
+ private final Database db;
+
+ public ApplicantMap getAllApplicant(){
+ Map allRegistration = db.getAllRegistration();
+
+ // PG 개발자, PM 기획자, DE 디자이너
+ // key = hopeField, value = 몇 명인지
+ Map allApplicantNum = new HashMap<>();
+
+ allApplicantNum.put("PG", 0);
+ allApplicantNum.put("PM", 0);
+ allApplicantNum.put("DE", 0);
+
+ // value = Registration
+ for (String key : allRegistration.keySet()){
+ Registration registration = allRegistration.get(key);
+ allApplicantNum.put(registration.getHopeField(), allApplicantNum.get(registration.getHopeField()) + 1);
+ }
+
+ // WEB, APP, AI, GAME
+ // key = firstPriority, secondPriority
+ Map allApplicantPriority = new HashMap<>();
+
+ allApplicantPriority.put("WEB", new int[2]);
+ allApplicantPriority.put("APP", new int[2]);
+ allApplicantPriority.put("AI", new int[2]);
+ allApplicantPriority.put("GAME", new int[2]);
+
+ // value = Registration
+ for (String key : allRegistration.keySet()){
+ Registration registration = allRegistration.get(key);
+ int[] firstPriority = allApplicantPriority.get(registration.getFirstPriority());
+ int[] secondPriority = allApplicantPriority.get(registration.getSecondPriority());
+
+ firstPriority[0] += 1;
+ secondPriority[1] += 1;
+
+ }
+
+ return new ApplicantMap(allApplicantNum, allApplicantPriority);
+ }
+
+// public Map getAllApplicantPriority(){
+// Map allRegistration = db.getAllRegistration();
+// // WEB, APP, AI, GAME
+// Map allApplicantPriority = new HashMap<>();
+//
+// allApplicantPriority.put("WEB", new int[2]);
+// allApplicantPriority.put("APP", new int[2]);
+// allApplicantPriority.put("AI", new int[2]);
+// allApplicantPriority.put("GAME", new int[2]);
+//
+// // value = Registration
+// for (String key : allRegistration.keySet()){
+// Registration registration = allRegistration.get(key);
+// int[] firstPriority = allApplicantPriority.get(registration.getFirstPriority());
+// int[] secondPriority = allApplicantPriority.get(registration.getSecondPriority());
+//
+// firstPriority[0] += 1;
+// secondPriority[1] += 1;
+//
+// }
+// return allApplicantPriority;
+// }
+}
diff --git a/src/main/java/com/econovation/third_project/service/GetDesiredTime.java b/src/main/java/com/econovation/third_project/service/GetDesiredTime.java
new file mode 100644
index 0000000..dd2d34a
--- /dev/null
+++ b/src/main/java/com/econovation/third_project/service/GetDesiredTime.java
@@ -0,0 +1,13 @@
+package com.econovation.third_project.service;
+
+import com.econovation.third_project.database.Database;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+@Service
+@RequiredArgsConstructor
+public class GetDesiredTime {
+ private final Database db;
+
+ public
+}
diff --git a/src/main/java/com/econovation/third_project/service/GetMajor.java b/src/main/java/com/econovation/third_project/service/GetMajor.java
new file mode 100644
index 0000000..1989de3
--- /dev/null
+++ b/src/main/java/com/econovation/third_project/service/GetMajor.java
@@ -0,0 +1,47 @@
+package com.econovation.third_project.service;
+
+import com.econovation.third_project.database.Database;
+import com.econovation.third_project.database.PersonalInformation;
+import com.econovation.third_project.database.Registration;
+import java.util.HashMap;
+import java.util.Map;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+@Service
+@RequiredArgsConstructor
+public class GetMajor {
+ private final Database db;
+
+ public Map getAllMajor(){
+ Map allPersonalInformation = db.getAllPersonalInformation();
+ // PG 개발자, PM 기획자, DE 디자이너
+ // key = hopeField, value = 몇 명인지
+ Map allMajor = new HashMap<>();
+
+
+ for (String key : allPersonalInformation.keySet()){
+ PersonalInformation personalInformation = allPersonalInformation.get(key);
+
+ String major = personalInformation.getMajor();
+ String doubleMajor = personalInformation.getDoubleMajor();
+ String minor = personalInformation.getMinor();
+
+ // 리팩토링 예정
+ if(!allMajor.containsKey(major)){
+ allMajor.put(major, 0);
+ }
+ if(!allMajor.containsKey(doubleMajor)){
+ allMajor.put(doubleMajor, 0);
+ }
+ if(!allMajor.containsKey(minor)){
+ allMajor.put(minor, 0);
+ }
+
+ allMajor.put(major, allMajor.get(major) + 1);
+ allMajor.put(doubleMajor, allMajor.get(doubleMajor) + 1);
+ allMajor.put(minor, allMajor.get(minor) + 1);
+ }
+ return allMajor;
+ }
+}
diff --git a/src/main/java/com/econovation/third_project/service/GetPath.java b/src/main/java/com/econovation/third_project/service/GetPath.java
new file mode 100644
index 0000000..3d34ec5
--- /dev/null
+++ b/src/main/java/com/econovation/third_project/service/GetPath.java
@@ -0,0 +1,33 @@
+package com.econovation.third_project.service;
+
+import com.econovation.third_project.database.Database;
+import com.econovation.third_project.database.Path;
+import com.econovation.third_project.database.Registration;
+import java.util.HashMap;
+import java.util.Map;
+import lombok.RequiredArgsConstructor;
+import org.springframework.stereotype.Service;
+
+@Service
+@RequiredArgsConstructor
+public class GetPath {
+ private final Database db;
+
+ public Map getAllApplicantNum(){
+ Map allPath = db.getAllPath();
+ // 홍보 포스터, 학과 공지사항, 지인 소개, 인스타그램, 에브리타임
+ // key = supportPath, value = 몇 명인지
+ Map allSupportPath = new HashMap<>();
+ allSupportPath.put("홍보 포스터", 0);
+ allSupportPath.put("학과 공지사항", 0);
+ allSupportPath.put("지인 소개", 0);
+ allSupportPath.put("지인 인스타그램", 0);
+ allSupportPath.put("에브리타임", 0);
+
+ for (String key : allPath.keySet()){
+ Path path = allPath.get(key);
+ allSupportPath.put(path.getSupportPath(), allSupportPath.get(path.getSupportPath()) + 1);
+ }
+ return allSupportPath;
+ }
+}
From d67abaffa36218b58b6a8f7e85739c3f2241490c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EB=B0=95=EB=AF=BC=EA=B7=9C?=
Date: Mon, 20 May 2024 02:18:32 +0900
Subject: [PATCH 3/3] .
---
.../third_project/database/Database.java | 3 +++
.../third_project/service/ApplicantMap.java | 19 -------------------
.../service/ApplicantMapper.java | 14 ++++++++++++++
.../service/DesiredTimeMapper.java | 7 +++++++
.../third_project/service/GetApplicant.java | 4 ++--
.../third_project/service/GetDesiredTime.java | 18 +++++++++++++++++-
.../third_project/service/GetPath.java | 1 -
7 files changed, 43 insertions(+), 23 deletions(-)
delete mode 100644 src/main/java/com/econovation/third_project/service/ApplicantMap.java
create mode 100644 src/main/java/com/econovation/third_project/service/ApplicantMapper.java
create mode 100644 src/main/java/com/econovation/third_project/service/DesiredTimeMapper.java
diff --git a/src/main/java/com/econovation/third_project/database/Database.java b/src/main/java/com/econovation/third_project/database/Database.java
index 0cf4267..9c9ef22 100644
--- a/src/main/java/com/econovation/third_project/database/Database.java
+++ b/src/main/java/com/econovation/third_project/database/Database.java
@@ -38,4 +38,7 @@ public Map getAllPath(){
return this.path;
}
+ public Map getAllDesiredTime(){
+ return this.desiredTime;
+ }
}
\ No newline at end of file
diff --git a/src/main/java/com/econovation/third_project/service/ApplicantMap.java b/src/main/java/com/econovation/third_project/service/ApplicantMap.java
deleted file mode 100644
index 3e3b203..0000000
--- a/src/main/java/com/econovation/third_project/service/ApplicantMap.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package com.econovation.third_project.service;
-
-
-import com.econovation.third_project.database.Registration;
-import java.util.Map;
-
-public class ApplicantMap {
- Map applicantNum;
- Map applicantPriority;
-
- public ApplicantMap(Map applicantNum, Map applicantPriority) {
- this.applicantNum = applicantNum;
- this.applicantPriority = applicantPriority;
- }
-
- public ApplicantMap getApplicant() {
- return new ApplicantMap(applicantNum, applicantPriority);
- }
-}
diff --git a/src/main/java/com/econovation/third_project/service/ApplicantMapper.java b/src/main/java/com/econovation/third_project/service/ApplicantMapper.java
new file mode 100644
index 0000000..5445be6
--- /dev/null
+++ b/src/main/java/com/econovation/third_project/service/ApplicantMapper.java
@@ -0,0 +1,14 @@
+package com.econovation.third_project.service;
+
+
+import java.util.Map;
+
+public class ApplicantMapper {
+ Map applicantNum;
+ Map applicantPriority;
+
+ public ApplicantMapper(Map applicantNum, Map applicantPriority) {
+ this.applicantNum = applicantNum;
+ this.applicantPriority = applicantPriority;
+ }
+}
diff --git a/src/main/java/com/econovation/third_project/service/DesiredTimeMapper.java b/src/main/java/com/econovation/third_project/service/DesiredTimeMapper.java
new file mode 100644
index 0000000..1c1447d
--- /dev/null
+++ b/src/main/java/com/econovation/third_project/service/DesiredTimeMapper.java
@@ -0,0 +1,7 @@
+package com.econovation.third_project.service;
+
+import java.util.Map;
+
+public class DesiredTimeMapper {
+
+}
diff --git a/src/main/java/com/econovation/third_project/service/GetApplicant.java b/src/main/java/com/econovation/third_project/service/GetApplicant.java
index 5b69cca..b14f48c 100644
--- a/src/main/java/com/econovation/third_project/service/GetApplicant.java
+++ b/src/main/java/com/econovation/third_project/service/GetApplicant.java
@@ -12,7 +12,7 @@
public class GetApplicant {
private final Database db;
- public ApplicantMap getAllApplicant(){
+ public ApplicantMapper getAllApplicant(){
Map allRegistration = db.getAllRegistration();
// PG 개발자, PM 기획자, DE 디자이너
@@ -49,7 +49,7 @@ public ApplicantMap getAllApplicant(){
}
- return new ApplicantMap(allApplicantNum, allApplicantPriority);
+ return new ApplicantMapper(allApplicantNum, allApplicantPriority);
}
// public Map getAllApplicantPriority(){
diff --git a/src/main/java/com/econovation/third_project/service/GetDesiredTime.java b/src/main/java/com/econovation/third_project/service/GetDesiredTime.java
index dd2d34a..585458b 100644
--- a/src/main/java/com/econovation/third_project/service/GetDesiredTime.java
+++ b/src/main/java/com/econovation/third_project/service/GetDesiredTime.java
@@ -1,13 +1,29 @@
package com.econovation.third_project.service;
import com.econovation.third_project.database.Database;
+import com.econovation.third_project.database.DesiredTime;
+import java.util.Map;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@Service
@RequiredArgsConstructor
public class GetDesiredTime {
+
private final Database db;
- public
+ public DesiredTimeMapper getAllDesiredTime() {
+ Map allDesiredTime = db.getAllDesiredTime();
+ for (String key : allDesiredTime.keySet()){
+ DesiredTime desiredTime = allDesiredTime.get(key);
+ for (int[] times: desiredTime.getDesiredTime()){
+ int startTime = times[0];
+ int endTime = times[1];
+
+
+ }
+
+ }
+ }
+
}
diff --git a/src/main/java/com/econovation/third_project/service/GetPath.java b/src/main/java/com/econovation/third_project/service/GetPath.java
index 3d34ec5..397fe50 100644
--- a/src/main/java/com/econovation/third_project/service/GetPath.java
+++ b/src/main/java/com/econovation/third_project/service/GetPath.java
@@ -2,7 +2,6 @@
import com.econovation.third_project.database.Database;
import com.econovation.third_project.database.Path;
-import com.econovation.third_project.database.Registration;
import java.util.HashMap;
import java.util.Map;
import lombok.RequiredArgsConstructor;