diff --git a/application/src/main/java/com/comssa/api/login/aspect/LoginAspect.java b/application/src/main/java/com/comssa/api/login/aspect/LoginAspect.java index 043a9bba..ebd70029 100644 --- a/application/src/main/java/com/comssa/api/login/aspect/LoginAspect.java +++ b/application/src/main/java/com/comssa/api/login/aspect/LoginAspect.java @@ -12,33 +12,33 @@ @Aspect @Component public class LoginAspect { - /** - * 특정 메서드에 @AddLoginStatusAttribute 어노테이션이 있으면 - * 메서드 실행 전후에 이 advice가 실행됩니다. - * Model에 login 상태 부여 - */ - @Around("@annotation(com.comssa.api.login.aspect.AddLoginStatusAttributeToView)") - public Object addLoginStatusAttribute(ProceedingJoinPoint joinPoint) throws Throwable { - // 현재 메서드의 파라미터 가져오기 - Object[] args = joinPoint.getArgs(); + /** + * 특정 메서드에 @AddLoginStatusAttribute 어노테이션이 있으면 + * 메서드 실행 전후에 이 advice가 실행됩니다. + * Model에 login 상태 부여 + */ + @Around("@annotation(com.comssa.api.login.aspect.AddLoginStatusAttributeToView)") + public Object addLoginStatusAttribute(ProceedingJoinPoint joinPoint) throws Throwable { + // 현재 메서드의 파라미터 가져오기 + Object[] args = joinPoint.getArgs(); - // Model 파라미터 찾기 - for (Object arg : args) { - if (arg instanceof Model) { - Model model = (Model) arg; - // 인증 상태 확인 및 isLogin 속성 추가 + // Model 파라미터 찾기 + for (Object arg : args) { + if (arg instanceof Model) { + Model model = (Model) arg; + // 인증 상태 확인 및 isLogin 속성 추가 - // cognito 요청을 하면 자동으로 저장 됨. - Authentication auth = SecurityContextHolder.getContext().getAuthentication(); + // cognito 요청을 하면 자동으로 저장 됨. + Authentication auth = SecurityContextHolder.getContext().getAuthentication(); - // 시큐리티 컨텍스트에 유저 관련 정보가 저장되어있다면 - boolean isAuthenticated = - auth != null && auth.isAuthenticated() && !(auth instanceof AnonymousAuthenticationToken); - model.addAttribute("isLogin", isAuthenticated); - } - } + // 시큐리티 컨텍스트에 유저 관련 정보가 저장되어있다면 + boolean isAuthenticated = + auth != null && auth.isAuthenticated() && !(auth instanceof AnonymousAuthenticationToken); + model.addAttribute("isLogin", isAuthenticated); + } + } - // 메서드 실행 - return joinPoint.proceed(args); - } + // 메서드 실행 + return joinPoint.proceed(args); + } } diff --git a/application/src/main/java/com/comssa/api/question/controller/rest/common/QuestionChoiceUpdateController.java b/application/src/main/java/com/comssa/api/question/controller/rest/common/QuestionChoiceUpdateController.java index 2c6dd397..2cfe6b44 100644 --- a/application/src/main/java/com/comssa/api/question/controller/rest/common/QuestionChoiceUpdateController.java +++ b/application/src/main/java/com/comssa/api/question/controller/rest/common/QuestionChoiceUpdateController.java @@ -1,8 +1,8 @@ package com.comssa.api.question.controller.rest.common; import com.comssa.api.question.service.rest.common.implement.QuestionChoiceUpdateService; -import com.comssa.persistence.question.common.dto.request.RequestChangeContentDto; -import com.comssa.persistence.question.common.dto.response.ResponseQuestionChoiceDto; +import com.comssa.persistence.question.dto.common.request.RequestChangeQuestionContentDto; +import com.comssa.persistence.question.dto.common.response.ResponseQuestionChoiceDto; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.http.ResponseEntity; @@ -23,19 +23,19 @@ public class QuestionChoiceUpdateController { @PatchMapping(value = "/question/common/choice/{id}") public ResponseEntity changeChoiceContent( @PathVariable("id") Long choiceId, - @RequestBody RequestChangeContentDto requestChangeContentDto) { + @RequestBody RequestChangeQuestionContentDto requestChangeQuestionContentDto) { - return ResponseEntity.ok(ResponseQuestionChoiceDto.of( + return ResponseEntity.ok(ResponseQuestionChoiceDto.from( questionChoiceUpdateService.changeContent( choiceId, - requestChangeContentDto))); + requestChangeQuestionContentDto))); } @ApiOperation("단답형 선택지 업데이트 - 정답 여부 변경") @PatchMapping(value = "/question/common/choice/{id}/toggle") public ResponseEntity changeChoiceContent( @PathVariable("id") Long licenseChoiceId) { - return ResponseEntity.ok(ResponseQuestionChoiceDto.of( + return ResponseEntity.ok(ResponseQuestionChoiceDto.from( questionChoiceUpdateService .toggleAnswerStatus( licenseChoiceId))); diff --git a/application/src/main/java/com/comssa/api/question/controller/rest/common/QuestionMakeController.java b/application/src/main/java/com/comssa/api/question/controller/rest/common/QuestionMakeController.java deleted file mode 100644 index 0ab5a1dd..00000000 --- a/application/src/main/java/com/comssa/api/question/controller/rest/common/QuestionMakeController.java +++ /dev/null @@ -1,14 +0,0 @@ -//package com.comssa.api.question.controller.rest.common; -// -//import io.swagger.annotations.Api; -//import lombok.RequiredArgsConstructor; -//import org.springframework.stereotype.Controller; -//import org.springframework.web.bind.annotation.RequestMapping; -// -//@Controller -//@RequestMapping("/admin") -//@Api(tags = {"문제 생성"}) -//@RequiredArgsConstructor -//public class QuestionMakeController { -// private final -//} diff --git a/application/src/main/java/com/comssa/api/question/controller/rest/common/QuestionUpdateController.java b/application/src/main/java/com/comssa/api/question/controller/rest/common/QuestionUpdateController.java index dc752131..21f8cb6b 100644 --- a/application/src/main/java/com/comssa/api/question/controller/rest/common/QuestionUpdateController.java +++ b/application/src/main/java/com/comssa/api/question/controller/rest/common/QuestionUpdateController.java @@ -2,8 +2,8 @@ import com.comssa.api.question.service.rest.common.implement.QuestionUpdateService; -import com.comssa.persistence.question.common.dto.request.RequestChangeContentDto; -import com.comssa.persistence.question.common.dto.response.ResponseMultipleChoiceQuestionDto; +import com.comssa.persistence.question.dto.common.request.RequestChangeQuestionContentDto; +import com.comssa.persistence.question.dto.common.request.RequestChangeQuestionDescriptionDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -26,7 +26,7 @@ public class QuestionUpdateController { @ApiOperation("문제 개시 허용") @PatchMapping(value = "/question/common/{id}/toggle-approve") - public ResponseEntity toggleApproveNormalQuestion( + public ResponseEntity toggleApproveNormalQuestion( @PathVariable("id") Long questionId ) { questionUpdateService.toggleApprove(questionId); @@ -35,20 +35,20 @@ public ResponseEntity toggleApproveNormalQues @ApiOperation("문제 본문 업데이트") @PatchMapping(value = "/question/common/{id}/content") - public ResponseEntity changeQuestion( + public ResponseEntity changeQuestion( @PathVariable("id") Long questionId, - @RequestBody RequestChangeContentDto requestChangeContentDto) { - questionUpdateService.changeContent(questionId, requestChangeContentDto); + @RequestBody RequestChangeQuestionContentDto requestChangeQuestionContentDto) { + questionUpdateService.changeContent(questionId, requestChangeQuestionContentDto); return ResponseEntity.ok().build(); } @ApiOperation("해설 업데이트") @PatchMapping(value = "/question/common/{id}/description") - public ResponseEntity changeDescription( + public ResponseEntity changeDescription( @PathVariable("id") Long questionId, - @RequestBody RequestChangeContentDto requestChangeContentDto + @RequestBody RequestChangeQuestionDescriptionDto requestChangeQuestionDescriptionDto ) { - questionUpdateService.changeDescription(questionId, requestChangeContentDto); + questionUpdateService.changeDescription(questionId, requestChangeQuestionDescriptionDto); return ResponseEntity.ok().build(); } diff --git a/application/src/main/java/com/comssa/api/question/controller/rest/license/AdminLicenseQuestionController.java b/application/src/main/java/com/comssa/api/question/controller/rest/license/AdminLicenseQuestionController.java index b314e83e..4e705ef6 100644 --- a/application/src/main/java/com/comssa/api/question/controller/rest/license/AdminLicenseQuestionController.java +++ b/application/src/main/java/com/comssa/api/question/controller/rest/license/AdminLicenseQuestionController.java @@ -1,8 +1,8 @@ package com.comssa.api.question.controller.rest.license; import com.comssa.api.question.service.rest.license.implement.AdminLicenseQuestionMakeService; -import com.comssa.persistence.question.common.dto.response.ResponseMultipleChoiceQuestionDto; -import com.comssa.persistence.question.license.dto.request.RequestMakeLicenseMultipleChoiceQuestionDto; +import com.comssa.persistence.question.dto.common.response.ResponseMultipleChoiceQuestionDto; +import com.comssa.persistence.question.dto.license.request.RequestMakeLicenseMultipleChoiceQuestionDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; diff --git a/application/src/main/java/com/comssa/api/question/controller/rest/major/AdminMajorQuestionController.java b/application/src/main/java/com/comssa/api/question/controller/rest/major/AdminMajorQuestionController.java index edcf8ffc..ef48a514 100644 --- a/application/src/main/java/com/comssa/api/question/controller/rest/major/AdminMajorQuestionController.java +++ b/application/src/main/java/com/comssa/api/question/controller/rest/major/AdminMajorQuestionController.java @@ -2,11 +2,11 @@ import com.comssa.api.question.service.rest.major.AdminMajorQuestionMakeService; import com.comssa.api.question.service.rest.major.implement.AdminMajorMultipleChoiceQuestionUpdateService; -import com.comssa.persistence.question.common.dto.response.ResponseDescriptiveQuestionDto; -import com.comssa.persistence.question.common.dto.response.ResponseMultipleChoiceQuestionDto; -import com.comssa.persistence.question.major.admin.dto.RequestMakeMajorDescriptiveQuestionDto; -import com.comssa.persistence.question.major.admin.dto.RequestMakeMajorMultipleChoiceQuestionDto; -import com.comssa.persistence.question.major.admin.dto.ResponseMajorMultipleChoiceQuestionForAdminDto; +import com.comssa.persistence.question.dto.common.request.RequestMakeMultipleChoiceQuestionDto; +import com.comssa.persistence.question.dto.common.response.ResponseDescriptiveQuestionDto; +import com.comssa.persistence.question.dto.common.response.ResponseMultipleChoiceQuestionDto; +import com.comssa.persistence.question.dto.common.response.ResponseQuestionDto; +import com.comssa.persistence.question.dto.major.request.RequestMakeMajorDescriptiveQuestionDto; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -33,11 +33,12 @@ public class AdminMajorQuestionController { @ApiOperation("단답형 문제 리스트로 생성") @PostMapping(value = "/question/major/multiple") public ResponseEntity> makeMultiMajorQuestion( - @RequestBody List requestMakeMajorMultipleChoiceQuestionDtos) { + @RequestBody List requestMakeMultipleChoiceQuestionDtos) { return ResponseEntity.ok( - adminMajorQuestionMakeService.makeMultipleChoiceQuestions(requestMakeMajorMultipleChoiceQuestionDtos) + adminMajorQuestionMakeService + .makeMultipleChoiceQuestions(requestMakeMultipleChoiceQuestionDtos) .stream() - .map(ResponseMultipleChoiceQuestionDto::forAdmin) + .map(question -> (ResponseMultipleChoiceQuestionDto) ResponseQuestionDto.from(question)) .collect(Collectors.toList())); } @@ -45,7 +46,7 @@ public ResponseEntity> makeMultiMajorQue @PatchMapping(value = "/question/major/multiple/{id}/toggle-multiple") public ResponseEntity toggleCanBeShortAnswered( @PathVariable("id") Long questionId) { - return ResponseEntity.ok(ResponseMajorMultipleChoiceQuestionForAdminDto.forAdmin( + return ResponseEntity.ok(ResponseQuestionDto.from( adminMajorMultipleChoiceQuestionUpdateService.toggleCanBeShortAnswered(questionId))); } @@ -55,13 +56,11 @@ public ResponseEntity> makeDescriptiveQuest @RequestBody List requestMakeMajorDescriptiveQuestionDtos ) { return ResponseEntity.ok( - adminMajorQuestionMakeService.makeDescriptiveQuestions( - requestMakeMajorDescriptiveQuestionDtos - ) + adminMajorQuestionMakeService + .makeDescriptiveQuestions(requestMakeMajorDescriptiveQuestionDtos) .stream() - .map(ResponseDescriptiveQuestionDto::forMajor) - .collect(Collectors.toList()) - ); + .map(question -> (ResponseDescriptiveQuestionDto) ResponseQuestionDto.from(question)) + .collect(Collectors.toList())); } diff --git a/application/src/main/java/com/comssa/api/question/controller/view/MainViewController.java b/application/src/main/java/com/comssa/api/question/controller/view/MainViewController.java index cb15b543..eea66d05 100644 --- a/application/src/main/java/com/comssa/api/question/controller/view/MainViewController.java +++ b/application/src/main/java/com/comssa/api/question/controller/view/MainViewController.java @@ -3,9 +3,9 @@ import com.comssa.api.login.aspect.AddLoginStatusAttributeToView; import com.comssa.api.question.service.rest.common.QuestionSelectorService; import com.comssa.api.question.service.view.HtmlTagService; -import com.comssa.persistence.question.license.domain.LicenseCategory; -import com.comssa.persistence.question.license.dto.response.ResponseLicenseSessionDto; -import com.comssa.persistence.question.license.dto.response.ResponseLicensesDto; +import com.comssa.persistence.question.domain.license.LicenseCategory; +import com.comssa.persistence.question.dto.license.response.ResponseLicenseSessionDto; +import com.comssa.persistence.question.dto.license.response.ResponseLicensesDto; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.ResponseEntity; diff --git a/application/src/main/java/com/comssa/api/question/controller/view/QuestionUpdateViewController.java b/application/src/main/java/com/comssa/api/question/controller/view/QuestionUpdateViewController.java index 41749d17..03181e99 100644 --- a/application/src/main/java/com/comssa/api/question/controller/view/QuestionUpdateViewController.java +++ b/application/src/main/java/com/comssa/api/question/controller/view/QuestionUpdateViewController.java @@ -4,9 +4,9 @@ import com.comssa.api.question.domain.QuestionType; import com.comssa.api.question.service.rest.license.implement.AdminLicenseQuestionGetService; import com.comssa.api.question.service.rest.major.AdminMajorQuestionClassifiedGetService; -import com.comssa.persistence.question.common.domain.Question; -import com.comssa.persistence.question.common.domain.QuestionCategory; -import com.comssa.persistence.question.common.dto.response.ResponseClassifiedQuestionDto; +import com.comssa.persistence.question.domain.common.Question; +import com.comssa.persistence.question.domain.common.QuestionCategory; +import com.comssa.persistence.question.dto.common.response.ResponseClassifiedQuestionDto; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Controller; diff --git a/application/src/main/java/com/comssa/api/question/controller/view/QuestionViewController.java b/application/src/main/java/com/comssa/api/question/controller/view/QuestionViewController.java index 8038dc43..0d3fcb2a 100644 --- a/application/src/main/java/com/comssa/api/question/controller/view/QuestionViewController.java +++ b/application/src/main/java/com/comssa/api/question/controller/view/QuestionViewController.java @@ -5,11 +5,11 @@ import com.comssa.api.question.service.rest.license.implement.UserLicenseQuestionGetService; import com.comssa.api.question.service.rest.major.implement.UserMajorQuestionClassifiedGetService; import com.comssa.api.question.service.view.HtmlTagService; -import com.comssa.persistence.question.common.domain.Question; -import com.comssa.persistence.question.common.domain.QuestionCategory; -import com.comssa.persistence.question.common.dto.response.ResponseClassifiedQuestionDto; -import com.comssa.persistence.question.license.domain.LicenseSession; -import com.comssa.persistence.question.major.user.dto.request.RequestGetQuestionByCategoryAndLevelDto; +import com.comssa.persistence.question.domain.common.Question; +import com.comssa.persistence.question.domain.common.QuestionCategory; +import com.comssa.persistence.question.domain.license.LicenseSession; +import com.comssa.persistence.question.dto.common.response.ResponseClassifiedQuestionDto; +import com.comssa.persistence.question.dto.major.request.RequestGetQuestionByCategoryAndLevelDto; import lombok.RequiredArgsConstructor; import org.jetbrains.annotations.NotNull; import org.springframework.beans.factory.annotation.Value; diff --git a/application/src/main/java/com/comssa/api/question/service/rest/common/ChoiceShuffleService.java b/application/src/main/java/com/comssa/api/question/service/rest/common/ChoiceShuffleService.java index 310efa77..e37c773e 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/common/ChoiceShuffleService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/common/ChoiceShuffleService.java @@ -1,7 +1,7 @@ package com.comssa.api.question.service.rest.common; -import com.comssa.persistence.question.major.domain.common.MajorQuestionChoice; +import com.comssa.persistence.question.domain.major.MajorQuestionChoice; import org.springframework.stereotype.Service; import java.util.List; diff --git a/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionChoiceGradeService.java b/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionChoiceGradeService.java index c84c3c81..04ab5147 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionChoiceGradeService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionChoiceGradeService.java @@ -1,7 +1,7 @@ package com.comssa.api.question.service.rest.common; -import com.comssa.persistence.question.common.domain.QuestionChoice; +import com.comssa.persistence.question.domain.common.QuestionChoice; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionChoiceUpdateService.java b/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionChoiceUpdateService.java index 0c8280e9..d2e413e6 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionChoiceUpdateService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionChoiceUpdateService.java @@ -1,7 +1,7 @@ package com.comssa.api.question.service.rest.common; -import com.comssa.persistence.question.common.domain.QuestionChoice; -import com.comssa.persistence.question.common.dto.request.RequestChangeContentDto; +import com.comssa.persistence.question.domain.common.QuestionChoice; +import com.comssa.persistence.question.dto.common.request.RequestChangeQuestionContentDto; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -9,9 +9,9 @@ @Transactional public interface QuestionChoiceUpdateService { - default T changeContent(Long questionChoiceId, RequestChangeContentDto requestChangeContentDto) { + default T changeContent(Long questionChoiceId, RequestChangeQuestionContentDto requestChangeQuestionContentDto) { T questionChoice = findById(questionChoiceId); - questionChoice.changeContent(requestChangeContentDto.getContent()); + questionChoice.changeContent(requestChangeQuestionContentDto.getContent()); return questionChoice; } diff --git a/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionClassifyByCategoryService.java b/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionClassifyByCategoryService.java index 0341903b..b76a3795 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionClassifyByCategoryService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionClassifyByCategoryService.java @@ -1,8 +1,8 @@ package com.comssa.api.question.service.rest.common; -import com.comssa.persistence.question.common.domain.Question; -import com.comssa.persistence.question.common.domain.QuestionCategory; +import com.comssa.persistence.question.domain.common.Question; +import com.comssa.persistence.question.domain.common.QuestionCategory; import org.springframework.stereotype.Service; import java.util.List; @@ -10,6 +10,6 @@ @Service public interface QuestionClassifyByCategoryService { - Map> classifyQuestionByCategoryOrdered(List questions); + Map> classifyQuestionByCategoryOrdered(List questions); } diff --git a/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionSelectorService.java b/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionSelectorService.java index fecb8f89..ce68665d 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionSelectorService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionSelectorService.java @@ -1,10 +1,10 @@ package com.comssa.api.question.service.rest.common; -import com.comssa.persistence.question.common.domain.Question; -import com.comssa.persistence.question.common.domain.QuestionCategory; -import com.comssa.persistence.question.license.domain.LicenseCategory; -import com.comssa.persistence.question.license.domain.LicenseSession; +import com.comssa.persistence.question.domain.common.Question; +import com.comssa.persistence.question.domain.common.QuestionCategory; +import com.comssa.persistence.question.domain.license.LicenseCategory; +import com.comssa.persistence.question.domain.license.LicenseSession; import org.springframework.stereotype.Service; import java.util.List; diff --git a/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionUpdateService.java b/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionUpdateService.java index ff74242f..65ae7377 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionUpdateService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/common/QuestionUpdateService.java @@ -1,8 +1,9 @@ package com.comssa.api.question.service.rest.common; -import com.comssa.persistence.question.common.domain.Question; -import com.comssa.persistence.question.common.dto.request.RequestChangeContentDto; +import com.comssa.persistence.question.domain.common.Question; +import com.comssa.persistence.question.dto.common.request.RequestChangeQuestionContentDto; +import com.comssa.persistence.question.dto.common.request.RequestChangeQuestionDescriptionDto; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; @@ -13,16 +14,16 @@ public interface QuestionUpdateService { // 기본 구현이 필요한 메서드에 default 사용 - default T changeDescription(Long questionId, RequestChangeContentDto requestChangeContentDto) { + default T changeDescription( + Long questionId, RequestChangeQuestionDescriptionDto requestChangeQuestionDescriptionDto) { T question = findById(questionId); - System.out.println(question); - question.changeDescription(requestChangeContentDto.getContent()); + question.changeDescription(requestChangeQuestionDescriptionDto.getDescription()); return question; } - default T changeContent(Long questionId, RequestChangeContentDto requestChangeContentDto) { + default T changeContent(Long questionId, RequestChangeQuestionContentDto requestChangeQuestionContentDto) { T question = findById(questionId); - question.changeContent(requestChangeContentDto.getContent()); + question.changeContent(requestChangeQuestionContentDto.getContent()); return question; } diff --git a/application/src/main/java/com/comssa/api/question/service/rest/common/implement/BasicQuestionClassifyByCategoryService.java b/application/src/main/java/com/comssa/api/question/service/rest/common/implement/BasicQuestionClassifyByCategoryService.java index dae635e2..6a002564 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/common/implement/BasicQuestionClassifyByCategoryService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/common/implement/BasicQuestionClassifyByCategoryService.java @@ -2,8 +2,8 @@ import com.comssa.api.question.service.rest.common.QuestionClassifyByCategoryService; -import com.comssa.persistence.question.common.domain.Question; -import com.comssa.persistence.question.common.domain.QuestionCategory; +import com.comssa.persistence.question.domain.common.Question; +import com.comssa.persistence.question.domain.common.QuestionCategory; import org.springframework.stereotype.Service; import java.util.LinkedHashMap; diff --git a/application/src/main/java/com/comssa/api/question/service/rest/common/implement/BasicQuestionSelectorService.java b/application/src/main/java/com/comssa/api/question/service/rest/common/implement/BasicQuestionSelectorService.java index 2ef6f4a1..e480a94a 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/common/implement/BasicQuestionSelectorService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/common/implement/BasicQuestionSelectorService.java @@ -2,14 +2,14 @@ import com.comssa.api.question.service.rest.common.QuestionSelectorService; -import com.comssa.persistence.question.common.domain.Question; -import com.comssa.persistence.question.common.domain.QuestionCategory; -import com.comssa.persistence.question.common.domain.QuestionLevel; -import com.comssa.persistence.question.license.domain.LicenseCategory; -import com.comssa.persistence.question.license.domain.LicenseSession; -import com.comssa.persistence.question.license.repository.LicenseMultipleChoiceQuestionRepository; -import com.comssa.persistence.question.license.repository.LicenseSessionRepository; -import com.comssa.persistence.question.major.repository.MajorMultipleChoiceQuestionRepository; +import com.comssa.persistence.question.domain.common.Question; +import com.comssa.persistence.question.domain.common.QuestionCategory; +import com.comssa.persistence.question.domain.common.QuestionLevel; +import com.comssa.persistence.question.domain.license.LicenseCategory; +import com.comssa.persistence.question.domain.license.LicenseSession; +import com.comssa.persistence.question.repository.LicenseMultipleChoiceQuestionRepository; +import com.comssa.persistence.question.repository.LicenseSessionRepository; +import com.comssa.persistence.question.repository.MajorMultipleChoiceQuestionRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; diff --git a/application/src/main/java/com/comssa/api/question/service/rest/common/implement/JavaChoiceShuffleService.java b/application/src/main/java/com/comssa/api/question/service/rest/common/implement/JavaChoiceShuffleService.java index efc05fab..64f7bb86 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/common/implement/JavaChoiceShuffleService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/common/implement/JavaChoiceShuffleService.java @@ -2,7 +2,7 @@ import com.comssa.api.question.service.rest.common.ChoiceShuffleService; -import com.comssa.persistence.question.major.domain.common.MajorQuestionChoice; +import com.comssa.persistence.question.domain.major.MajorQuestionChoice; import org.springframework.stereotype.Service; import java.util.Collections; diff --git a/application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionChoiceGradeService.java b/application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionChoiceGradeService.java index 74dc7ed5..4c1c5ae9 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionChoiceGradeService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionChoiceGradeService.java @@ -1,7 +1,7 @@ package com.comssa.api.question.service.rest.common.implement; -import com.comssa.persistence.question.common.domain.QuestionChoice; -import com.comssa.persistence.question.common.repository.QuestionChoiceRepository; +import com.comssa.persistence.question.domain.common.QuestionChoice; +import com.comssa.persistence.question.repository.QuestionChoiceRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; diff --git a/application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionChoiceService.java b/application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionChoiceService.java index 79d2b530..723b283b 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionChoiceService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionChoiceService.java @@ -1,13 +1,13 @@ package com.comssa.api.question.service.rest.common.implement; -import com.comssa.persistence.question.license.domain.LicenseMultipleChoiceQuestion; -import com.comssa.persistence.question.license.domain.LicenseQuestionChoice; -import com.comssa.persistence.question.license.repository.LicenseQuestionChoiceRepository; -import com.comssa.persistence.question.major.admin.dto.RequestMakeMajorMultipleChoiceQuestionDto; -import com.comssa.persistence.question.major.domain.common.MajorMultipleChoiceQuestion; -import com.comssa.persistence.question.major.domain.common.MajorQuestionChoice; -import com.comssa.persistence.question.major.repository.MajorQuestionChoiceRepository; +import com.comssa.persistence.question.domain.license.LicenseMultipleChoiceQuestion; +import com.comssa.persistence.question.domain.license.LicenseQuestionChoice; +import com.comssa.persistence.question.domain.major.MajorMultipleChoiceQuestion; +import com.comssa.persistence.question.domain.major.MajorQuestionChoice; +import com.comssa.persistence.question.dto.common.request.RequestMakeMultipleChoiceQuestionDto; +import com.comssa.persistence.question.repository.LicenseQuestionChoiceRepository; +import com.comssa.persistence.question.repository.MajorQuestionChoiceRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -22,7 +22,7 @@ public class QuestionChoiceService { private final LicenseQuestionChoiceRepository licenseQuestionChoiceRepository; public void saveWith( - RequestMakeMajorMultipleChoiceQuestionDto dto, + RequestMakeMultipleChoiceQuestionDto dto, LicenseMultipleChoiceQuestion licenseMultipleChoiceQuestion) { licenseQuestionChoiceRepository.saveAll(dto.getQuestionChoices() .stream() @@ -31,7 +31,7 @@ public void saveWith( } public void saveWith( - RequestMakeMajorMultipleChoiceQuestionDto dto, + RequestMakeMultipleChoiceQuestionDto dto, MajorMultipleChoiceQuestion majorMultipleChoiceQuestion) { majorQuestionChoiceRepository.saveAll(dto.getQuestionChoices() .stream() diff --git a/application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionChoiceUpdateService.java b/application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionChoiceUpdateService.java index 955eb1b6..49810c6c 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionChoiceUpdateService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionChoiceUpdateService.java @@ -1,7 +1,7 @@ package com.comssa.api.question.service.rest.common.implement; -import com.comssa.persistence.question.common.domain.QuestionChoice; -import com.comssa.persistence.question.common.repository.QuestionChoiceRepository; +import com.comssa.persistence.question.domain.common.QuestionChoice; +import com.comssa.persistence.question.repository.QuestionChoiceRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionUpdateService.java b/application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionUpdateService.java index 13c4d4f4..20896081 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionUpdateService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/common/implement/QuestionUpdateService.java @@ -1,8 +1,8 @@ package com.comssa.api.question.service.rest.common.implement; import com.comssa.api.question.service.rest.common.FileUploadService; -import com.comssa.persistence.question.common.domain.Question; -import com.comssa.persistence.question.common.service.QuestionRepositoryService; +import com.comssa.persistence.question.domain.common.Question; +import com.comssa.persistence.question.service.QuestionRepositoryService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; diff --git a/application/src/main/java/com/comssa/api/question/service/rest/license/LicenseQuestionGetService.java b/application/src/main/java/com/comssa/api/question/service/rest/license/LicenseQuestionGetService.java index 27a5f1f1..8dc2d3c1 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/license/LicenseQuestionGetService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/license/LicenseQuestionGetService.java @@ -1,8 +1,8 @@ package com.comssa.api.question.service.rest.license; -import com.comssa.persistence.question.common.domain.Question; -import com.comssa.persistence.question.common.domain.QuestionCategory; +import com.comssa.persistence.question.domain.common.Question; +import com.comssa.persistence.question.domain.common.QuestionCategory; import org.springframework.stereotype.Service; import java.util.List; @@ -10,6 +10,6 @@ @Service public interface LicenseQuestionGetService { - Map> getClassifiedLicenseMultipleChoiceQuestion( - Long sessionId); + Map> getClassifiedLicenseMultipleChoiceQuestion( + Long sessionId); } diff --git a/application/src/main/java/com/comssa/api/question/service/rest/license/implement/AdminLicenseQuestionGetService.java b/application/src/main/java/com/comssa/api/question/service/rest/license/implement/AdminLicenseQuestionGetService.java index f6047c18..5634aff4 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/license/implement/AdminLicenseQuestionGetService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/license/implement/AdminLicenseQuestionGetService.java @@ -3,10 +3,10 @@ import com.comssa.api.question.service.rest.common.QuestionClassifyByCategoryService; import com.comssa.api.question.service.rest.license.LicenseQuestionGetService; -import com.comssa.persistence.question.common.domain.Question; -import com.comssa.persistence.question.common.domain.QuestionCategory; -import com.comssa.persistence.question.license.domain.LicenseMultipleChoiceQuestion; -import com.comssa.persistence.question.license.repository.LicenseMultipleChoiceQuestionRepository; +import com.comssa.persistence.question.domain.common.Question; +import com.comssa.persistence.question.domain.common.QuestionCategory; +import com.comssa.persistence.question.domain.license.LicenseMultipleChoiceQuestion; +import com.comssa.persistence.question.repository.LicenseMultipleChoiceQuestionRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/application/src/main/java/com/comssa/api/question/service/rest/license/implement/AdminLicenseQuestionMakeService.java b/application/src/main/java/com/comssa/api/question/service/rest/license/implement/AdminLicenseQuestionMakeService.java index 077f7877..bdc05958 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/license/implement/AdminLicenseQuestionMakeService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/license/implement/AdminLicenseQuestionMakeService.java @@ -2,13 +2,14 @@ import com.comssa.api.question.service.rest.common.implement.QuestionChoiceService; -import com.comssa.persistence.question.common.dto.response.ResponseMultipleChoiceQuestionDto; -import com.comssa.persistence.question.license.domain.LicenseCategory; -import com.comssa.persistence.question.license.domain.LicenseMultipleChoiceQuestion; -import com.comssa.persistence.question.license.domain.LicenseSession; -import com.comssa.persistence.question.license.dto.request.RequestMakeLicenseMultipleChoiceQuestionDto; -import com.comssa.persistence.question.license.repository.LicenseMultipleChoiceQuestionRepository; -import com.comssa.persistence.question.major.admin.dto.RequestMakeMajorMultipleChoiceQuestionDto; +import com.comssa.persistence.question.domain.license.LicenseCategory; +import com.comssa.persistence.question.domain.license.LicenseMultipleChoiceQuestion; +import com.comssa.persistence.question.domain.license.LicenseSession; +import com.comssa.persistence.question.dto.common.request.RequestMakeMultipleChoiceQuestionDto; +import com.comssa.persistence.question.dto.common.response.ResponseMultipleChoiceQuestionDto; +import com.comssa.persistence.question.dto.common.response.ResponseQuestionDto; +import com.comssa.persistence.question.dto.license.request.RequestMakeLicenseMultipleChoiceQuestionDto; +import com.comssa.persistence.question.repository.LicenseMultipleChoiceQuestionRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -29,7 +30,7 @@ public List makeLicenseNormalQuestion( LicenseSession licenseSession = licenseSessionService.getLicenseSession( requestMakeLicenseMultipleChoiceQuestionDto.getLicenseSession(), requestMakeLicenseMultipleChoiceQuestionDto.getLicenseCategory()); - List questions = requestMakeLicenseMultipleChoiceQuestionDto + List questions = requestMakeLicenseMultipleChoiceQuestionDto .getQuestions(); return questions .stream() @@ -39,14 +40,14 @@ public List makeLicenseNormalQuestion( } private ResponseMultipleChoiceQuestionDto saveNormalLicenseQuestion( - RequestMakeMajorMultipleChoiceQuestionDto requestMakeMajorMultipleChoiceQuestionDto, + RequestMakeMultipleChoiceQuestionDto requestMakeMultipleChoiceQuestionDto, LicenseSession licenseSession, LicenseCategory licenseCategory) { LicenseMultipleChoiceQuestion licenseMultipleChoiceQuestion = LicenseMultipleChoiceQuestion.makeWithDto( - requestMakeMajorMultipleChoiceQuestionDto, licenseSession, licenseCategory); + requestMakeMultipleChoiceQuestionDto, licenseSession, licenseCategory); licenseMultipleChoiceQuestionRepository.save(licenseMultipleChoiceQuestion); - questionChoiceService.saveWith(requestMakeMajorMultipleChoiceQuestionDto, licenseMultipleChoiceQuestion); - return ResponseMultipleChoiceQuestionDto.forLicense(licenseMultipleChoiceQuestion); + questionChoiceService.saveWith(requestMakeMultipleChoiceQuestionDto, licenseMultipleChoiceQuestion); + return ResponseQuestionDto.from(licenseMultipleChoiceQuestion); } diff --git a/application/src/main/java/com/comssa/api/question/service/rest/license/implement/LicenseSessionService.java b/application/src/main/java/com/comssa/api/question/service/rest/license/implement/LicenseSessionService.java index 8032dd68..7cd5e2b5 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/license/implement/LicenseSessionService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/license/implement/LicenseSessionService.java @@ -1,9 +1,9 @@ package com.comssa.api.question.service.rest.license.implement; -import com.comssa.persistence.question.license.domain.LicenseCategory; -import com.comssa.persistence.question.license.domain.LicenseSession; -import com.comssa.persistence.question.license.repository.LicenseSessionRepository; +import com.comssa.persistence.question.domain.license.LicenseCategory; +import com.comssa.persistence.question.domain.license.LicenseSession; +import com.comssa.persistence.question.repository.LicenseSessionRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -14,20 +14,20 @@ @RequiredArgsConstructor @Transactional public class LicenseSessionService { - private final LicenseSessionRepository licenseSessionRepository; + private final LicenseSessionRepository licenseSessionRepository; - public LicenseSession getLicenseSession(String session, LicenseCategory licenseCategory) { - Optional licenseSession = licenseSessionRepository.findLicenseSessionByContent(session, - licenseCategory); - if (licenseSession.isPresent()) { - return licenseSession.get(); - } - LicenseSession newLicenseSession = LicenseSession.from(session, licenseCategory); - licenseSessionRepository.save(newLicenseSession); - return newLicenseSession; - } + public LicenseSession getLicenseSession(String session, LicenseCategory licenseCategory) { + Optional licenseSession = licenseSessionRepository.findLicenseSessionByContent(session, + licenseCategory); + if (licenseSession.isPresent()) { + return licenseSession.get(); + } + LicenseSession newLicenseSession = LicenseSession.from(session, licenseCategory); + licenseSessionRepository.save(newLicenseSession); + return newLicenseSession; + } - public LicenseSession getLicenseSessionById(Long licenseSessionId) { - return licenseSessionRepository.findById(licenseSessionId).orElse(null); - } + public LicenseSession getLicenseSessionById(Long licenseSessionId) { + return licenseSessionRepository.findById(licenseSessionId).orElse(null); + } } diff --git a/application/src/main/java/com/comssa/api/question/service/rest/license/implement/UserLicenseQuestionGetService.java b/application/src/main/java/com/comssa/api/question/service/rest/license/implement/UserLicenseQuestionGetService.java index 42ddeec5..7ceec350 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/license/implement/UserLicenseQuestionGetService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/license/implement/UserLicenseQuestionGetService.java @@ -3,10 +3,10 @@ import com.comssa.api.question.service.rest.common.QuestionClassifyByCategoryService; import com.comssa.api.question.service.rest.license.LicenseQuestionGetService; -import com.comssa.persistence.question.common.domain.Question; -import com.comssa.persistence.question.common.domain.QuestionCategory; -import com.comssa.persistence.question.license.domain.LicenseMultipleChoiceQuestion; -import com.comssa.persistence.question.license.repository.LicenseMultipleChoiceQuestionRepository; +import com.comssa.persistence.question.domain.common.Question; +import com.comssa.persistence.question.domain.common.QuestionCategory; +import com.comssa.persistence.question.domain.license.LicenseMultipleChoiceQuestion; +import com.comssa.persistence.question.repository.LicenseMultipleChoiceQuestionRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/application/src/main/java/com/comssa/api/question/service/rest/major/AdminMajorQuestionClassifiedGetService.java b/application/src/main/java/com/comssa/api/question/service/rest/major/AdminMajorQuestionClassifiedGetService.java index 05d7c53d..55fc0586 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/major/AdminMajorQuestionClassifiedGetService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/major/AdminMajorQuestionClassifiedGetService.java @@ -1,14 +1,14 @@ package com.comssa.api.question.service.rest.major; -import com.comssa.persistence.question.common.domain.Question; -import com.comssa.persistence.question.common.domain.QuestionCategory; +import com.comssa.persistence.question.domain.common.Question; +import com.comssa.persistence.question.domain.common.QuestionCategory; import java.util.List; import java.util.Map; public interface AdminMajorQuestionClassifiedGetService { - Map> getClassifiedAllMajorMultipleChoiceQuestions(); + Map> getClassifiedAllMajorMultipleChoiceQuestions(); - Map> getClassifiedAllMajorDescriptiveQuestions(); + Map> getClassifiedAllMajorDescriptiveQuestions(); } diff --git a/application/src/main/java/com/comssa/api/question/service/rest/major/AdminMajorQuestionMakeService.java b/application/src/main/java/com/comssa/api/question/service/rest/major/AdminMajorQuestionMakeService.java index baaf02ce..1ec53c95 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/major/AdminMajorQuestionMakeService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/major/AdminMajorQuestionMakeService.java @@ -2,10 +2,10 @@ import com.comssa.api.exception.DuplicateQuestionException; -import com.comssa.persistence.question.major.admin.dto.RequestMakeMajorDescriptiveQuestionDto; -import com.comssa.persistence.question.major.admin.dto.RequestMakeMajorMultipleChoiceQuestionDto; -import com.comssa.persistence.question.major.domain.common.MajorDescriptiveQuestion; -import com.comssa.persistence.question.major.domain.common.MajorMultipleChoiceQuestion; +import com.comssa.persistence.question.domain.major.MajorDescriptiveQuestion; +import com.comssa.persistence.question.domain.major.MajorMultipleChoiceQuestion; +import com.comssa.persistence.question.dto.common.request.RequestMakeMultipleChoiceQuestionDto; +import com.comssa.persistence.question.dto.major.request.RequestMakeMajorDescriptiveQuestionDto; import org.springframework.stereotype.Service; import java.util.List; @@ -14,10 +14,10 @@ public interface AdminMajorQuestionMakeService { List makeMultipleChoiceQuestions( - List requestNormalQuestionDto); + List requestNormalQuestionDto); MajorMultipleChoiceQuestion makeMultipleChoiceQuestion( - RequestMakeMajorMultipleChoiceQuestionDto requestNormalQuestionDto) throws DuplicateQuestionException; + RequestMakeMultipleChoiceQuestionDto requestNormalQuestionDto) throws DuplicateQuestionException; List makeDescriptiveQuestions( List requestNormalQuestionDto diff --git a/application/src/main/java/com/comssa/api/question/service/rest/major/MajorQuestionClassifiedGetService.java b/application/src/main/java/com/comssa/api/question/service/rest/major/MajorQuestionClassifiedGetService.java index d67a1ae0..c3cbbbba 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/major/MajorQuestionClassifiedGetService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/major/MajorQuestionClassifiedGetService.java @@ -1,9 +1,9 @@ package com.comssa.api.question.service.rest.major; -import com.comssa.persistence.question.common.domain.Question; -import com.comssa.persistence.question.common.domain.QuestionCategory; -import com.comssa.persistence.question.major.user.dto.request.RequestGetQuestionByCategoryAndLevelDto; +import com.comssa.persistence.question.domain.common.Question; +import com.comssa.persistence.question.domain.common.QuestionCategory; +import com.comssa.persistence.question.dto.major.request.RequestGetQuestionByCategoryAndLevelDto; import org.springframework.stereotype.Service; import java.util.List; @@ -11,16 +11,16 @@ @Service public interface MajorQuestionClassifiedGetService { - /** - * 분류별로 나누어 문제를 반환 - */ - Map> getApprovedClassifiedMajorMultipleChoiceQuestions( - RequestGetQuestionByCategoryAndLevelDto requestGetQuestionByCategoryAndLevelDto); + /** + * 분류별로 나누어 문제를 반환 + */ + Map> getApprovedClassifiedMajorMultipleChoiceQuestions( + RequestGetQuestionByCategoryAndLevelDto requestGetQuestionByCategoryAndLevelDto); - Map> getApprovedClassifiedDescriptiveQuestions( - RequestGetQuestionByCategoryAndLevelDto requestGetQuestionByCategoryAndLevelDto - ); + Map> getApprovedClassifiedDescriptiveQuestions( + RequestGetQuestionByCategoryAndLevelDto requestGetQuestionByCategoryAndLevelDto + ); } diff --git a/application/src/main/java/com/comssa/api/question/service/rest/major/MajorQuestionCountService.java b/application/src/main/java/com/comssa/api/question/service/rest/major/MajorQuestionCountService.java deleted file mode 100644 index e7500e8d..00000000 --- a/application/src/main/java/com/comssa/api/question/service/rest/major/MajorQuestionCountService.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.comssa.api.question.service.rest.major; - -import com.comssa.persistence.question.major.user.dto.response.ResponseMajorQuestionClassCountDto; -import org.springframework.stereotype.Service; - -import java.util.List; - -@Service -public interface MajorQuestionCountService { - List getNormalQuestionCountByClass(); -} diff --git a/application/src/main/java/com/comssa/api/question/service/rest/major/implement/AdminMajorMultipleChoiceQuestionUpdateService.java b/application/src/main/java/com/comssa/api/question/service/rest/major/implement/AdminMajorMultipleChoiceQuestionUpdateService.java index 52ca3e84..d8d12ec1 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/major/implement/AdminMajorMultipleChoiceQuestionUpdateService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/major/implement/AdminMajorMultipleChoiceQuestionUpdateService.java @@ -1,6 +1,6 @@ package com.comssa.api.question.service.rest.major.implement; -import com.comssa.persistence.question.major.domain.common.MajorMultipleChoiceQuestion; +import com.comssa.persistence.question.domain.major.MajorMultipleChoiceQuestion; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; diff --git a/application/src/main/java/com/comssa/api/question/service/rest/major/implement/BasicAdminMajorQuestionClassifiedGetService.java b/application/src/main/java/com/comssa/api/question/service/rest/major/implement/BasicAdminMajorQuestionClassifiedGetService.java index c1e40354..4a08c6f0 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/major/implement/BasicAdminMajorQuestionClassifiedGetService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/major/implement/BasicAdminMajorQuestionClassifiedGetService.java @@ -3,19 +3,21 @@ import com.comssa.api.question.service.rest.common.QuestionClassifyByCategoryService; import com.comssa.api.question.service.rest.major.AdminMajorQuestionClassifiedGetService; -import com.comssa.persistence.question.common.domain.Question; -import com.comssa.persistence.question.common.domain.QuestionCategory; -import com.comssa.persistence.question.major.domain.common.MajorDescriptiveQuestion; -import com.comssa.persistence.question.major.domain.common.MajorMultipleChoiceQuestion; -import com.comssa.persistence.question.major.repository.MajorDescriptiveQuestionRepository; +import com.comssa.persistence.question.domain.common.Question; +import com.comssa.persistence.question.domain.common.QuestionCategory; +import com.comssa.persistence.question.domain.major.MajorDescriptiveQuestion; +import com.comssa.persistence.question.domain.major.MajorMultipleChoiceQuestion; +import com.comssa.persistence.question.repository.MajorDescriptiveQuestionRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.List; import java.util.Map; @Service @RequiredArgsConstructor +@Transactional public class BasicAdminMajorQuestionClassifiedGetService implements AdminMajorQuestionClassifiedGetService { private final MajorMultipleChoiceQuestionDbService majorMultipleChoiceQuestionDbService; private final MajorDescriptiveQuestionRepository majorDescriptiveQuestionRepository; diff --git a/application/src/main/java/com/comssa/api/question/service/rest/major/implement/BasicAdminMajorQuestionMakeService.java b/application/src/main/java/com/comssa/api/question/service/rest/major/implement/BasicAdminMajorQuestionMakeService.java index 5b7bb34c..0b7408ec 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/major/implement/BasicAdminMajorQuestionMakeService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/major/implement/BasicAdminMajorQuestionMakeService.java @@ -4,12 +4,12 @@ import com.comssa.api.question.service.rest.common.DuplicateQuestionDetector; import com.comssa.api.question.service.rest.common.implement.QuestionChoiceService; import com.comssa.api.question.service.rest.major.AdminMajorQuestionMakeService; -import com.comssa.persistence.question.major.admin.dto.RequestMakeMajorDescriptiveQuestionDto; -import com.comssa.persistence.question.major.admin.dto.RequestMakeMajorMultipleChoiceQuestionDto; -import com.comssa.persistence.question.major.domain.common.MajorDescriptiveQuestion; -import com.comssa.persistence.question.major.domain.common.MajorMultipleChoiceQuestion; -import com.comssa.persistence.question.major.repository.MajorDescriptiveQuestionRepository; -import com.comssa.persistence.question.major.repository.MajorMultipleChoiceQuestionRepository; +import com.comssa.persistence.question.domain.major.MajorDescriptiveQuestion; +import com.comssa.persistence.question.domain.major.MajorMultipleChoiceQuestion; +import com.comssa.persistence.question.dto.common.request.RequestMakeMultipleChoiceQuestionDto; +import com.comssa.persistence.question.dto.major.request.RequestMakeMajorDescriptiveQuestionDto; +import com.comssa.persistence.question.repository.MajorDescriptiveQuestionRepository; +import com.comssa.persistence.question.repository.MajorMultipleChoiceQuestionRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -32,7 +32,7 @@ public class BasicAdminMajorQuestionMakeService implements AdminMajorQuestionMak */ @Override public List makeMultipleChoiceQuestions( - List requestDtos) { + List requestDtos) { // 중복되지 않은 질문을 필터링하여 저장 return requestDtos.stream() .filter(this::isNotDuplicateQuestion) @@ -45,7 +45,7 @@ public List makeMultipleChoiceQuestions( */ @Override public MajorMultipleChoiceQuestion makeMultipleChoiceQuestion( - RequestMakeMajorMultipleChoiceQuestionDto requestDto) throws DuplicateQuestionException { + RequestMakeMultipleChoiceQuestionDto requestDto) throws DuplicateQuestionException { if (!isNotDuplicateQuestion(requestDto)) { throw new DuplicateQuestionException(); } @@ -65,7 +65,7 @@ public List makeDescriptiveQuestions( * 중복되지 않은 질문인지 확인하는 메서드 * 매번 DB에서 새롭게 조회 후 검증한다.(DTO 자체의 중복된 데이터) */ - private boolean isNotDuplicateQuestion(RequestMakeMajorMultipleChoiceQuestionDto requestDto) { + private boolean isNotDuplicateQuestion(RequestMakeMultipleChoiceQuestionDto requestDto) { return majorMultipleChoiceQuestionRepository.findAll().stream() .noneMatch(existingQuestion -> duplicateQuestionDetector.isQuestionDuplicate( existingQuestion.getContent(), requestDto.getContent())); @@ -75,7 +75,7 @@ private boolean isNotDuplicateQuestion(RequestMakeMajorMultipleChoiceQuestionDto * 새로운 질문을 저장하고 선택지를 저장하는 메서드 */ private MajorMultipleChoiceQuestion saveMajorMultipleChoiceQuestion( - RequestMakeMajorMultipleChoiceQuestionDto requestDto) { + RequestMakeMultipleChoiceQuestionDto requestDto) { MajorMultipleChoiceQuestion question = MajorMultipleChoiceQuestion.makeWithDto(requestDto); majorMultipleChoiceQuestionRepository.save(question); questionChoiceService.saveWith(requestDto, question); diff --git a/application/src/main/java/com/comssa/api/question/service/rest/major/implement/MajorMultipleChoiceQuestionDbService.java b/application/src/main/java/com/comssa/api/question/service/rest/major/implement/MajorMultipleChoiceQuestionDbService.java index b60c3e0b..de13b095 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/major/implement/MajorMultipleChoiceQuestionDbService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/major/implement/MajorMultipleChoiceQuestionDbService.java @@ -1,10 +1,10 @@ package com.comssa.api.question.service.rest.major.implement; -import com.comssa.persistence.question.common.domain.QuestionCategory; -import com.comssa.persistence.question.common.domain.QuestionLevel; -import com.comssa.persistence.question.major.domain.common.MajorMultipleChoiceQuestion; -import com.comssa.persistence.question.major.repository.MajorMultipleChoiceQuestionRepository; +import com.comssa.persistence.question.domain.common.QuestionCategory; +import com.comssa.persistence.question.domain.common.QuestionLevel; +import com.comssa.persistence.question.domain.major.MajorMultipleChoiceQuestion; +import com.comssa.persistence.question.repository.MajorMultipleChoiceQuestionRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -16,70 +16,70 @@ @RequiredArgsConstructor @Transactional public class MajorMultipleChoiceQuestionDbService { - private final MajorMultipleChoiceQuestionRepository majorMultipleChoiceQuestionRepository; + private final MajorMultipleChoiceQuestionRepository majorMultipleChoiceQuestionRepository; - /** - * 허용되지 않은 모든 문제까지 조회 (주로 관리자) - */ - // 기본 개별 조회 - public MajorMultipleChoiceQuestion findById(Long id) { - return majorMultipleChoiceQuestionRepository.findById(id).orElseThrow(NoSuchElementException::new); - } + /** + * 허용되지 않은 모든 문제까지 조회 (주로 관리자) + */ + // 기본 개별 조회 + public MajorMultipleChoiceQuestion findById(Long id) { + return majorMultipleChoiceQuestionRepository.findById(id).orElseThrow(NoSuchElementException::new); + } - // 카테고리, 레벨로 조회 - 선택지까지 - public List getFetchChoicesByCategoriesAndLevels( - List categories, - List questionLevels) { - return majorMultipleChoiceQuestionRepository.findFetchChoicesWithCategoriesAndLevels(categories, - questionLevels); - } + // 카테고리, 레벨로 조회 - 선택지까지 + public List getFetchChoicesByCategoriesAndLevels( + List categories, + List questionLevels) { + return majorMultipleChoiceQuestionRepository.findFetchChoicesWithCategoriesAndLevels(categories, + questionLevels); + } - // 전체 조회 - 선택지까지, 주관식 가능한 것들만 - public List findAllFetchChoicesShortAnswered() { - return majorMultipleChoiceQuestionRepository.findFetchChoicesShortAnswered(); - } + // 전체 조회 - 선택지까지, 주관식 가능한 것들만 + public List findAllFetchChoicesShortAnswered() { + return majorMultipleChoiceQuestionRepository.findFetchChoicesShortAnswered(); + } - // 전체 조회 -선택지까지 - public List findAllFetchChoices() { - return majorMultipleChoiceQuestionRepository.findFetchChoices(); - } + // 전체 조회 -선택지까지 + public List findAllFetchChoices() { + return majorMultipleChoiceQuestionRepository.findFetchChoices(); + } - //전체 조회 - 선택지까지, 정렬 - public List findAllFetchChoicesSortedByApproveAndShortAnswered() { - return majorMultipleChoiceQuestionRepository.findFetchChoicesSortedByIfApprovedAndCanBeShortAnswered(); - } + //전체 조회 - 선택지까지, 정렬 + public List findAllFetchChoicesSortedByApproveAndShortAnswered() { + return majorMultipleChoiceQuestionRepository.findFetchChoicesSortedByIfApprovedAndCanBeShortAnswered(); + } - // 개별 조회 - 선택지까지 - public MajorMultipleChoiceQuestion findByIdFetchChoices(Long id) { - return majorMultipleChoiceQuestionRepository.findByIdFetchChoices(id).orElseThrow(NoSuchElementException::new); - } + // 개별 조회 - 선택지까지 + public MajorMultipleChoiceQuestion findByIdFetchChoices(Long id) { + return majorMultipleChoiceQuestionRepository.findByIdFetchChoices(id).orElseThrow(NoSuchElementException::new); + } - // id로 삭제 - public void deleteById(Long id) { - majorMultipleChoiceQuestionRepository.deleteById(id); - } + // id로 삭제 + public void deleteById(Long id) { + majorMultipleChoiceQuestionRepository.deleteById(id); + } - // 개별 삭제 - public void deleteNormalQuestion(MajorMultipleChoiceQuestion majorMultipleChoiceQuestion) { - majorMultipleChoiceQuestionRepository.delete(majorMultipleChoiceQuestion); - } + // 개별 삭제 + public void deleteNormalQuestion(MajorMultipleChoiceQuestion majorMultipleChoiceQuestion) { + majorMultipleChoiceQuestionRepository.delete(majorMultipleChoiceQuestion); + } - /** - * 허용된 문제만을 조회 (주로 유저) - */ - // 카테고리, 레벨로 조회 - 선택지까지 - public List findAllFetchChoicesByCategoriesAndLevelsApproved( - List categories, List questionLevels) { - return majorMultipleChoiceQuestionRepository.findFetchChoicesWithCategoriesAndLevelsAndIfApproved(categories, - questionLevels); - } + /** + * 허용된 문제만을 조회 (주로 유저) + */ + // 카테고리, 레벨로 조회 - 선택지까지 + public List findAllFetchChoicesByCategoriesAndLevelsApproved( + List categories, List questionLevels) { + return majorMultipleChoiceQuestionRepository.findFetchChoicesWithCategoriesAndLevelsAndIfApproved(categories, + questionLevels); + } - // 카테고리, 레벨로 조회 - 선택지까지, 주관식만 - public List findAllFetchChoicesByCategoriesAndLevelsApprovedAndShortAnswered( - List categories, List questionLevels) { - return majorMultipleChoiceQuestionRepository - .findFetchChoicesWithCategoriesAndLevelsAndIfApprovedAndCanBeShortAnswered( - categories, questionLevels); - } + // 카테고리, 레벨로 조회 - 선택지까지, 주관식만 + public List findAllFetchChoicesByCategoriesAndLevelsApprovedAndShortAnswered( + List categories, List questionLevels) { + return majorMultipleChoiceQuestionRepository + .findFetchChoicesWithCategoriesAndLevelsAndIfApprovedAndCanBeShortAnswered( + categories, questionLevels); + } } diff --git a/application/src/main/java/com/comssa/api/question/service/rest/major/implement/UserMajorQuestionClassifiedGetService.java b/application/src/main/java/com/comssa/api/question/service/rest/major/implement/UserMajorQuestionClassifiedGetService.java index ea425d6a..8ae27235 100644 --- a/application/src/main/java/com/comssa/api/question/service/rest/major/implement/UserMajorQuestionClassifiedGetService.java +++ b/application/src/main/java/com/comssa/api/question/service/rest/major/implement/UserMajorQuestionClassifiedGetService.java @@ -3,12 +3,12 @@ import com.comssa.api.question.service.rest.common.QuestionClassifyByCategoryService; import com.comssa.api.question.service.rest.major.MajorQuestionClassifiedGetService; -import com.comssa.persistence.question.common.domain.Question; -import com.comssa.persistence.question.common.domain.QuestionCategory; -import com.comssa.persistence.question.major.domain.common.MajorDescriptiveQuestion; -import com.comssa.persistence.question.major.domain.common.MajorMultipleChoiceQuestion; -import com.comssa.persistence.question.major.repository.MajorDescriptiveQuestionRepository; -import com.comssa.persistence.question.major.user.dto.request.RequestGetQuestionByCategoryAndLevelDto; +import com.comssa.persistence.question.domain.common.Question; +import com.comssa.persistence.question.domain.common.QuestionCategory; +import com.comssa.persistence.question.domain.major.MajorDescriptiveQuestion; +import com.comssa.persistence.question.domain.major.MajorMultipleChoiceQuestion; +import com.comssa.persistence.question.dto.major.request.RequestGetQuestionByCategoryAndLevelDto; +import com.comssa.persistence.question.repository.MajorDescriptiveQuestionRepository; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; @@ -19,38 +19,38 @@ @Service @RequiredArgsConstructor public class UserMajorQuestionClassifiedGetService implements MajorQuestionClassifiedGetService { - private final MajorMultipleChoiceQuestionDbService majorMultipleChoiceQuestionDbService; - private final QuestionClassifyByCategoryService questionClassifyByCategoryService; - private final MajorDescriptiveQuestionRepository majorDescriptiveQuestionRepository; + private final MajorMultipleChoiceQuestionDbService majorMultipleChoiceQuestionDbService; + private final QuestionClassifyByCategoryService questionClassifyByCategoryService; + private final MajorDescriptiveQuestionRepository majorDescriptiveQuestionRepository; - /** - * 분야, 난이도 파라미터로 문제를 조회하는 경우 - 객관식. - * 문제 선택지들을 섞어준다. - */ - @Override - public Map> getApprovedClassifiedMajorMultipleChoiceQuestions( - RequestGetQuestionByCategoryAndLevelDto requestGetQuestionByCategoryAndLevelDto) { - List majorMultipleChoiceQuestions = majorMultipleChoiceQuestionDbService - .findAllFetchChoicesByCategoriesAndLevelsApproved( - requestGetQuestionByCategoryAndLevelDto.getQuestionCategories(), - requestGetQuestionByCategoryAndLevelDto.getQuestionLevels()); - for (MajorMultipleChoiceQuestion question : majorMultipleChoiceQuestions) { - Collections.shuffle(question.getQuestionChoices()); - } - return questionClassifyByCategoryService.classifyQuestionByCategoryOrdered(majorMultipleChoiceQuestions); - } + /** + * 분야, 난이도 파라미터로 문제를 조회하는 경우 - 객관식. + * 문제 선택지들을 섞어준다. + */ + @Override + public Map> getApprovedClassifiedMajorMultipleChoiceQuestions( + RequestGetQuestionByCategoryAndLevelDto requestGetQuestionByCategoryAndLevelDto) { + List majorMultipleChoiceQuestions = majorMultipleChoiceQuestionDbService + .findAllFetchChoicesByCategoriesAndLevelsApproved( + requestGetQuestionByCategoryAndLevelDto.getQuestionCategories(), + requestGetQuestionByCategoryAndLevelDto.getQuestionLevels()); + for (MajorMultipleChoiceQuestion question : majorMultipleChoiceQuestions) { + Collections.shuffle(question.getQuestionChoices()); + } + return questionClassifyByCategoryService.classifyQuestionByCategoryOrdered(majorMultipleChoiceQuestions); + } - /** - * 분야, 난이도 파라미터로 문제를 조회하는 경우 - 서술형 - */ - @Override - public Map> getApprovedClassifiedDescriptiveQuestions( - RequestGetQuestionByCategoryAndLevelDto requestGetQuestionByCategoryAndLevelDto) { - List majorDescriptiveQuestions = majorDescriptiveQuestionRepository - .findWithCategoriesAndLevelsAndIfApproved( - requestGetQuestionByCategoryAndLevelDto.getQuestionCategories(), - requestGetQuestionByCategoryAndLevelDto.getQuestionLevels()); - return questionClassifyByCategoryService.classifyQuestionByCategoryOrdered(majorDescriptiveQuestions); - } + /** + * 분야, 난이도 파라미터로 문제를 조회하는 경우 - 서술형 + */ + @Override + public Map> getApprovedClassifiedDescriptiveQuestions( + RequestGetQuestionByCategoryAndLevelDto requestGetQuestionByCategoryAndLevelDto) { + List majorDescriptiveQuestions = majorDescriptiveQuestionRepository + .findWithCategoriesAndLevelsAndIfApproved( + requestGetQuestionByCategoryAndLevelDto.getQuestionCategories(), + requestGetQuestionByCategoryAndLevelDto.getQuestionLevels()); + return questionClassifyByCategoryService.classifyQuestionByCategoryOrdered(majorDescriptiveQuestions); + } } diff --git a/application/src/main/java/com/comssa/api/question/service/view/HtmlTagService.java b/application/src/main/java/com/comssa/api/question/service/view/HtmlTagService.java index 5f5bf96f..35a2e8d8 100644 --- a/application/src/main/java/com/comssa/api/question/service/view/HtmlTagService.java +++ b/application/src/main/java/com/comssa/api/question/service/view/HtmlTagService.java @@ -1,9 +1,9 @@ package com.comssa.api.question.service.view; import com.comssa.api.question.domain.HtmlTag; -import com.comssa.persistence.question.common.domain.QuestionCategory; -import com.comssa.persistence.question.license.domain.LicenseCategory; -import com.comssa.persistence.question.license.domain.LicenseSession; +import com.comssa.persistence.question.domain.common.QuestionCategory; +import com.comssa.persistence.question.domain.license.LicenseCategory; +import com.comssa.persistence.question.domain.license.LicenseSession; import org.springframework.stereotype.Service; import org.springframework.ui.Model; diff --git a/application/src/main/kotlin/com/comssa/api/chatbot/controller/ChatbotController.kt b/application/src/main/kotlin/com/comssa/api/chatbot/controller/ChatbotController.kt index 9b2e73e0..31f104d1 100644 --- a/application/src/main/kotlin/com/comssa/api/chatbot/controller/ChatbotController.kt +++ b/application/src/main/kotlin/com/comssa/api/chatbot/controller/ChatbotController.kt @@ -1,9 +1,9 @@ package com.comssa.api.chatbot.controller -import com.comssa.core.chatbot.dto.request.ChatRequestDto -import com.comssa.core.chatbot.dto.response.ChatResponseDto -import com.comssa.core.chatbot.dto.response.ChatResponseDto.Companion.from import com.comssa.core.chatbot.service.ChatbotService +import com.comssa.persistence.chatbot.dto.request.ChatRequestDto +import com.comssa.persistence.chatbot.dto.response.ChatResponseDto +import com.comssa.persistence.chatbot.dto.response.ChatResponseDto.Companion.from import io.swagger.annotations.Api import org.springframework.http.ResponseEntity import org.springframework.security.core.annotation.AuthenticationPrincipal diff --git a/application/src/main/kotlin/com/comssa/api/chatbot/controller/ExternalQuestionController.kt b/application/src/main/kotlin/com/comssa/api/chatbot/controller/ExternalQuestionController.kt index 3cf5afa2..3b4c7588 100644 --- a/application/src/main/kotlin/com/comssa/api/chatbot/controller/ExternalQuestionController.kt +++ b/application/src/main/kotlin/com/comssa/api/chatbot/controller/ExternalQuestionController.kt @@ -1,10 +1,11 @@ package com.comssa.api.chatbot.controller import com.comssa.api.chatbot.service.ExternalQuestionService -import com.comssa.core.chatbot.dto.response.ChatGptBatchResponseDto -import com.comssa.core.chatbot.dto.response.ChatGptFileUploadResponseDto import com.comssa.core.chatbot.service.implement.ChatGptService -import com.comssa.persistence.question.common.dto.request.RequestQuestionCommandDto +import com.comssa.persistence.chatbot.dto.request.ChatGptBatchRequestDto +import com.comssa.persistence.chatbot.dto.response.ChatGptBatchResponseDto +import com.comssa.persistence.chatbot.dto.response.ChatGptFileUploadResponseDto +import com.comssa.persistence.question.dto.common.request.RequestDoQuestionCommandDto import io.swagger.annotations.Api import lombok.RequiredArgsConstructor import org.springframework.http.ResponseEntity @@ -23,12 +24,12 @@ class ExternalQuestionController( ) { @PostMapping("/chat-gpt/file/question") fun updateQuestionToChatGpt( - @RequestBody requestQuestionCommandDto: RequestQuestionCommandDto, + @RequestBody requestDoQuestionCommandDto: RequestDoQuestionCommandDto, ): ResponseEntity = - ResponseEntity.ok(externalQuestionService.sendQuestionToExternal(requestQuestionCommandDto)) + ResponseEntity.ok(externalQuestionService.sendQuestionToExternal(requestDoQuestionCommandDto)) @PostMapping("/chat-gpt/batch") fun createBatchToChatGpt( - @RequestBody requestBatchDto: com.comssa.core.chatbot.dto.request.ChatGptBatchRequestDto, + @RequestBody requestBatchDto: ChatGptBatchRequestDto, ): ResponseEntity = ResponseEntity.ok(chatGptService.sendBatchMessage(requestBatchDto)) } diff --git a/application/src/main/kotlin/com/comssa/api/chatbot/service/ExternalQuestionService.kt b/application/src/main/kotlin/com/comssa/api/chatbot/service/ExternalQuestionService.kt index c32ab0f0..9a4e6c39 100644 --- a/application/src/main/kotlin/com/comssa/api/chatbot/service/ExternalQuestionService.kt +++ b/application/src/main/kotlin/com/comssa/api/chatbot/service/ExternalQuestionService.kt @@ -1,10 +1,10 @@ package com.comssa.api.chatbot.service -import com.comssa.core.chatbot.dto.response.ChatGptFileUploadResponseDto -import com.comssa.persistence.question.common.dto.request.RequestQuestionCommandDto +import com.comssa.persistence.chatbot.dto.response.ChatGptFileUploadResponseDto +import com.comssa.persistence.question.dto.common.request.RequestDoQuestionCommandDto import org.springframework.stereotype.Service @Service interface ExternalQuestionService { - fun sendQuestionToExternal(requestQuestionCommandDto: RequestQuestionCommandDto): ChatGptFileUploadResponseDto? + fun sendQuestionToExternal(requestDoQuestionCommandDto: RequestDoQuestionCommandDto): ChatGptFileUploadResponseDto? } diff --git a/application/src/main/kotlin/com/comssa/api/chatbot/service/ExternalSenderQuestion.kt b/application/src/main/kotlin/com/comssa/api/chatbot/service/ExternalSenderQuestion.kt index 79ad7591..d8272ed4 100644 --- a/application/src/main/kotlin/com/comssa/api/chatbot/service/ExternalSenderQuestion.kt +++ b/application/src/main/kotlin/com/comssa/api/chatbot/service/ExternalSenderQuestion.kt @@ -1,10 +1,10 @@ package com.comssa.api.chatbot.service import com.comssa.api.question.service.rest.common.QuestionSelectorService -import com.comssa.core.chatbot.dto.response.ChatGptFileUploadResponseDto import com.comssa.core.chatbot.service.implement.ChatManageService -import com.comssa.persistence.question.common.domain.Question -import com.comssa.persistence.question.common.dto.request.RequestQuestionCommandDto +import com.comssa.persistence.chatbot.dto.response.ChatGptFileUploadResponseDto +import com.comssa.persistence.question.domain.common.Question +import com.comssa.persistence.question.dto.common.request.RequestDoQuestionCommandDto import org.springframework.stereotype.Service @Service @@ -14,20 +14,20 @@ class ExternalSenderQuestion( private val chatManageService: ChatManageService, ) : ExternalQuestionService { override fun sendQuestionToExternal( - requestQuestionCommandDto: RequestQuestionCommandDto, + requestDoQuestionCommandDto: RequestDoQuestionCommandDto, ): ChatGptFileUploadResponseDto { /** * 카테고리에 해당된 모든 문제를 가져온다. */ val question: List = questionSelectorService.getAllQuestions( - requestQuestionCommandDto + requestDoQuestionCommandDto .questionCategories, - requestQuestionCommandDto.isMultipleChoice, + requestDoQuestionCommandDto.multipleChoice, ) return chatManageService.talkForBatch( questionToChatGptContentMapper.getContentsFromQuestion(question), - requestQuestionCommandDto.command, + requestDoQuestionCommandDto.command, ) } } diff --git a/application/src/main/kotlin/com/comssa/api/chatbot/service/QuestionToChatGptContentMapper.kt b/application/src/main/kotlin/com/comssa/api/chatbot/service/QuestionToChatGptContentMapper.kt index a207b79f..4d876ac2 100644 --- a/application/src/main/kotlin/com/comssa/api/chatbot/service/QuestionToChatGptContentMapper.kt +++ b/application/src/main/kotlin/com/comssa/api/chatbot/service/QuestionToChatGptContentMapper.kt @@ -1,11 +1,11 @@ package com.comssa.api.chatbot.service -import com.comssa.core.chatbot.dto.request.ChatContentDto -import com.comssa.core.chatbot.dto.request.ChatContentDto.Companion.from import com.comssa.persistence.chatbot.ChatContentType -import com.comssa.persistence.question.common.domain.Question -import com.comssa.persistence.question.license.domain.LicenseMultipleChoiceQuestion -import com.comssa.persistence.question.major.domain.common.MajorMultipleChoiceQuestion +import com.comssa.persistence.chatbot.dto.request.ChatContentDto +import com.comssa.persistence.chatbot.dto.request.ChatContentDto.Companion.from +import com.comssa.persistence.question.domain.common.Question +import com.comssa.persistence.question.domain.license.LicenseMultipleChoiceQuestion +import com.comssa.persistence.question.domain.major.MajorMultipleChoiceQuestion import org.springframework.stereotype.Service @Service diff --git a/application/src/main/kotlin/com/comssa/api/comment/controller/CommentController.kt b/application/src/main/kotlin/com/comssa/api/comment/controller/CommentController.kt index 6e9e6df0..2e427d1e 100644 --- a/application/src/main/kotlin/com/comssa/api/comment/controller/CommentController.kt +++ b/application/src/main/kotlin/com/comssa/api/comment/controller/CommentController.kt @@ -1,11 +1,11 @@ package com.comssa.api.comment.controller import com.comssa.api.login.aspect.AddLoginStatusAttributeToView -import com.comssa.core.comment.dto.RequestMakeCommentDto -import com.comssa.core.comment.dto.ResponseCommentDto import com.comssa.core.comment.service.CommentService -import com.comssa.core.question.common.service.QuestionGetService -import com.comssa.persistence.question.common.dto.response.ResponseQuestionDto +import com.comssa.core.question.service.common.QuestionGetService +import com.comssa.persistence.comment.dto.RequestMakeCommentDto +import com.comssa.persistence.comment.dto.ResponseCommentDto +import com.comssa.persistence.question.dto.common.response.ResponseQuestionDto import io.swagger.annotations.Api import org.springframework.http.ResponseEntity import org.springframework.security.core.annotation.AuthenticationPrincipal diff --git a/application/src/main/kotlin/com/comssa/api/question/controller/DescriptiveQuestionController.kt b/application/src/main/kotlin/com/comssa/api/question/controller/DescriptiveQuestionController.kt deleted file mode 100644 index bd83bb2c..00000000 --- a/application/src/main/kotlin/com/comssa/api/question/controller/DescriptiveQuestionController.kt +++ /dev/null @@ -1,44 +0,0 @@ -package com.comssa.api.question.controller - -import com.comssa.core.question.common.dto.RequestGradeStandardDto -import com.comssa.core.question.common.dto.RequestUserDescriptiveAnswerDto -import com.comssa.core.question.common.service.DescriptiveQuestionService -import com.comssa.persistence.question.common.dto.response.ResponseDescriptiveQuestionDto -import com.comssa.persistence.question.common.dto.response.ResponseQuestionDto -import io.swagger.annotations.Api -import org.springframework.http.ResponseEntity -import org.springframework.web.bind.annotation.PatchMapping -import org.springframework.web.bind.annotation.PathVariable -import org.springframework.web.bind.annotation.PostMapping -import org.springframework.web.bind.annotation.RequestBody -import org.springframework.web.bind.annotation.RestController - -@RestController -@Api(tags = ["서술형 문제"]) -class DescriptiveQuestionController( - private val descriptiveQuestionService: DescriptiveQuestionService, -) { - @PostMapping("/questions/descriptive/{questionId}/grade") - fun gradeDescriptiveQuestion( - @PathVariable("questionId") questionId: Long, - @RequestBody requestUserDescriptiveAnswerDto: RequestUserDescriptiveAnswerDto, - ): ResponseEntity = - ResponseEntity.ok( - descriptiveQuestionService.gradeDescriptiveQuestion(questionId, requestUserDescriptiveAnswerDto), - ) - - @PatchMapping("/questions/descriptive/{questionId}/standard") - fun changeQuestionStandard( - @PathVariable("questionId") questionId: Long, - @RequestBody requestGradeStandardDto: RequestGradeStandardDto, - ): ResponseEntity = - ResponseEntity.ok( - ResponseDescriptiveQuestionDto.forMajor( - descriptiveQuestionService.changeGradeStandard(questionId, requestGradeStandardDto), - ), - ) -// @PostMapping("/questions/major/descriptive") -// fun makeMajorDescriptiveQuestion( -// -// ): -} diff --git a/application/src/main/kotlin/com/comssa/api/question/controller/rest/major/DescriptiveQuestionController.kt b/application/src/main/kotlin/com/comssa/api/question/controller/rest/major/DescriptiveQuestionController.kt new file mode 100644 index 00000000..91b8c947 --- /dev/null +++ b/application/src/main/kotlin/com/comssa/api/question/controller/rest/major/DescriptiveQuestionController.kt @@ -0,0 +1,43 @@ +package com.comssa.api.question.controller.rest.major + +import com.comssa.core.question.service.common.DescriptiveQuestionService +import com.comssa.persistence.question.dto.common.request.RequestChangeQuestionGradeStandardDto +import com.comssa.persistence.question.dto.common.request.RequestDoGradeDescriptiveAnswerDto +import com.comssa.persistence.question.dto.common.response.ResponseDescriptiveQuestionDto +import com.comssa.persistence.question.dto.common.response.ResponseQuestionDto +import io.swagger.annotations.Api +import io.swagger.annotations.ApiOperation +import org.springframework.http.ResponseEntity +import org.springframework.web.bind.annotation.PatchMapping +import org.springframework.web.bind.annotation.PathVariable +import org.springframework.web.bind.annotation.PostMapping +import org.springframework.web.bind.annotation.RequestBody +import org.springframework.web.bind.annotation.RestController + +@RestController +@Api(tags = ["서술형 문제"]) +class DescriptiveQuestionController( + private val descriptiveQuestionService: DescriptiveQuestionService, +) { + @ApiOperation("서술형 문제 채점") + @PostMapping("/questions/major/descriptive/{questionId}/grade") + fun gradeDescriptiveQuestion( + @PathVariable("questionId") questionId: Long, + @RequestBody requestDoGradeDescriptiveAnswerDto: RequestDoGradeDescriptiveAnswerDto, + ): ResponseEntity = + ResponseEntity.ok( + descriptiveQuestionService.gradeDescriptiveQuestion(questionId, requestDoGradeDescriptiveAnswerDto), + ) + + @ApiOperation("서술형 문제 채점 기준 수정") + @PatchMapping("/questions/major/descriptive/{questionId}/standard") + fun changeQuestionStandard( + @PathVariable("questionId") questionId: Long, + @RequestBody requestChangeQuestionGradeStandardDto: RequestChangeQuestionGradeStandardDto, + ): ResponseEntity = + ResponseEntity.ok( + ResponseQuestionDto.from( + descriptiveQuestionService.changeGradeStandard(questionId, requestChangeQuestionGradeStandardDto), + ), + ) +} diff --git a/application/src/main/resources/static/js/solveDescriptiveQuestion.js b/application/src/main/resources/static/js/solveDescriptiveQuestion.js index 3a757c18..2f7d79c1 100644 --- a/application/src/main/resources/static/js/solveDescriptiveQuestion.js +++ b/application/src/main/resources/static/js/solveDescriptiveQuestion.js @@ -16,7 +16,7 @@ document.addEventListener('DOMContentLoaded', function () { loadingSpinner.style.display = 'block'; aiResponseContent.textContent = ''; // 이전 응답 초기화 - fetch(`/questions/descriptive/${this.getAttribute('data-question-id')}/grade`, { + fetch(`/questions/major/descriptive/${this.getAttribute('data-question-id')}/grade`, { method: 'POST', headers: { 'Content-Type': 'application/json', diff --git a/application/src/main/resources/templates/question-update.html b/application/src/main/resources/templates/question-update.html index dbdac212..f12b5a44 100644 --- a/application/src/main/resources/templates/question-update.html +++ b/application/src/main/resources/templates/question-update.html @@ -23,7 +23,7 @@

일반 질문 업데이트

-
diff --git a/application/src/main/resources/templates/question.html b/application/src/main/resources/templates/question.html index 43d81248..ebbba93e 100644 --- a/application/src/main/resources/templates/question.html +++ b/application/src/main/resources/templates/question.html @@ -81,7 +81,7 @@