diff --git a/src/main/kotlin/codel/admin/presentation/AdminController.kt b/src/main/kotlin/codel/admin/presentation/AdminController.kt index b37298f..4e4a0eb 100644 --- a/src/main/kotlin/codel/admin/presentation/AdminController.kt +++ b/src/main/kotlin/codel/admin/presentation/AdminController.kt @@ -321,7 +321,9 @@ class AdminController( "PENDING" to adminService.countMembersByStatus("PENDING"), "DONE" to adminService.countMembersByStatus("DONE"), "REJECT" to adminService.countMembersByStatus("REJECT"), - "PHONE_VERIFIED" to adminService.countMembersByStatus("PHONE_VERIFIED") + "PHONE_VERIFIED" to adminService.countMembersByStatus("PHONE_VERIFIED"), + "PERSONALITY_COMPLETED" to adminService.countMembersByStatus("PERSONALITY_COMPLETED"), + "WITHDRAWN" to adminService.countMembersByStatus("WITHDRAWN") ) model.addAttribute("members", members) @@ -390,14 +392,19 @@ class AdminController( fun createQuestion( @RequestParam content: String, @RequestParam category: String, - @RequestParam questionGroup: String, + @RequestParam(required = false) questionGroup: String?, @RequestParam(required = false) description: String?, @RequestParam(defaultValue = "true") isActive: Boolean, redirectAttributes: RedirectAttributes ): String { try { val questionCategory = QuestionCategory.valueOf(category) - val group = QuestionGroup.valueOf(questionGroup) + // 회원가입 전용 카테고리(채팅 미사용)는 자동으로 RANDOM 그룹 지정 + val group = if (questionCategory.usedInSignup && !questionCategory.usedInChat) { + QuestionGroup.RANDOM + } else { + QuestionGroup.valueOf(questionGroup ?: "RANDOM") + } adminService.createQuestionV2(content, questionCategory, group, description, isActive) redirectAttributes.addFlashAttribute("success", "질문이 성공적으로 등록되었습니다.") } catch (e: Exception) { @@ -423,14 +430,19 @@ class AdminController( @PathVariable questionId: Long, @RequestParam content: String, @RequestParam category: String, - @RequestParam questionGroup: String, + @RequestParam(required = false) questionGroup: String?, @RequestParam(required = false) description: String?, @RequestParam(defaultValue = "false") isActive: Boolean, redirectAttributes: RedirectAttributes ): String { try { val questionCategory = QuestionCategory.valueOf(category) - val group = QuestionGroup.valueOf(questionGroup) + // 회원가입 전용 카테고리(채팅 미사용)는 자동으로 RANDOM 그룹 지정 + val group = if (questionCategory.usedInSignup && !questionCategory.usedInChat) { + QuestionGroup.RANDOM + } else { + QuestionGroup.valueOf(questionGroup ?: "RANDOM") + } adminService.updateQuestionV2(questionId, content, questionCategory, group, description, isActive) redirectAttributes.addFlashAttribute("success", "질문이 성공적으로 수정되었습니다.") } catch (e: Exception) { diff --git a/src/main/resources/templates/questionEditForm.html b/src/main/resources/templates/questionEditForm.html index ebbd1cf..5165a18 100644 --- a/src/main/resources/templates/questionEditForm.html +++ b/src/main/resources/templates/questionEditForm.html @@ -29,6 +29,28 @@ border-radius: 1rem; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07); } + + .info-box { + background: #E3F2FD; + border-left: 3px solid #4A90E2; + padding: 1rem; + border-radius: 4px; + margin-bottom: 1.5rem; + } + + .info-box-title { + font-size: 0.9rem; + font-weight: 600; + margin-bottom: 0.5rem; + color: #4A90E2; + } + + .info-box ul { + margin-left: 1.5rem; + font-size: 0.85rem; + color: #7F8C8D; + margin-bottom: 0; + } @@ -49,6 +71,15 @@

질문 수정

+
+
📌 그룹 설정 가이드
+
    +
  • A그룹: 가벼운/진입용 질문 (먼저 노출, 대화 시작에 적합)
  • +
  • B그룹: 깊이있는/무게감 질문 (A그룹 소진 후 노출)
  • +
  • 랜덤: 텐션업 코드 등 그룹 구분 없는 질문
  • +
+
+
@@ -57,6 +88,10 @@

질문 수정

+ + + +
최대 1000자까지 입력 가능합니다.
@@ -124,5 +163,129 @@

질문 수정

+ - \ No newline at end of file + diff --git a/src/main/resources/templates/questionForm.html b/src/main/resources/templates/questionForm.html index 43ef946..6eed7c3 100644 --- a/src/main/resources/templates/questionForm.html +++ b/src/main/resources/templates/questionForm.html @@ -29,6 +29,28 @@ border-radius: 1rem; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.07); } + + .info-box { + background: #E3F2FD; + border-left: 3px solid #4A90E2; + padding: 1rem; + border-radius: 4px; + margin-bottom: 1.5rem; + } + + .info-box-title { + font-size: 0.9rem; + font-weight: 600; + margin-bottom: 0.5rem; + color: #4A90E2; + } + + .info-box ul { + margin-left: 1.5rem; + font-size: 0.85rem; + color: #7F8C8D; + margin-bottom: 0; + } @@ -48,25 +70,40 @@

새 질문 등록

+
+
📌 그룹 설정 가이드
+
    +
  • A그룹: 가벼운/진입용 질문 (먼저 노출, 대화 시작에 적합)
  • +
  • B그룹: 깊이있는/무게감 질문 (A그룹 소진 후 노출)
  • +
  • 랜덤: 텐션업 코드 등 그룹 구분 없는 질문
  • +
+
+
-
최대 500자까지 입력 가능합니다.
+
+ + +
+
-
+
최대 1000자까지 입력 가능합니다.
@@ -110,5 +147,88 @@

새 질문 등록

+ - \ No newline at end of file + diff --git a/src/main/resources/templates/questionList.html b/src/main/resources/templates/questionList.html index 300896f..d3abb51 100644 --- a/src/main/resources/templates/questionList.html +++ b/src/main/resources/templates/questionList.html @@ -54,7 +54,7 @@

질문 관리

- @@ -64,20 +64,9 @@

질문 관리

+ +
@@ -202,43 +191,66 @@

질문 관리