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 @@