Package inha.git.department.api.service
Class DepartmentServiceImpl
java.lang.Object
inha.git.department.api.service.DepartmentServiceImpl
- All Implemented Interfaces:
DepartmentService
@Service
@Transactional(readOnly=true)
public class DepartmentServiceImpl
extends Object
implements DepartmentService
학과 관련 비즈니스 로직을 처리하는 서비스 구현체입니다.
학과의 조회, 생성, 수정, 삭제 및 관련 통계 처리를 담당합니다.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateDepartment
(User admin, CreateDepartmentRequest createDepartmentRequest) 새로운 학과를 생성합니다.deleteDepartment
(User admin, Integer departmentIdx) 학과를 삭제(비활성화) 처리합니다.getDepartments
(Integer collegeIdx) 학과 목록을 조회합니다.updateDepartmentName
(User admin, Integer departmentIdx, UpdateDepartmentRequest updateDepartmentRequest) 학과명을 수정합니다.
-
Constructor Details
-
DepartmentServiceImpl
public DepartmentServiceImpl()
-
-
Method Details
-
getDepartments
학과 목록을 조회합니다.- Specified by:
getDepartments
in interfaceDepartmentService
- Parameters:
collegeIdx
- 조회할 단과대학 ID (선택적)- Returns:
- 학과 목록
- Throws:
BaseException
- COLLEGE_NOT_FOUND: 단과대학을 찾을 수 없는 경우
-
createDepartment
@Transactional public String createDepartment(User admin, CreateDepartmentRequest createDepartmentRequest) 새로운 학과를 생성합니다.- Specified by:
createDepartment
in interfaceDepartmentService
- Parameters:
admin
- 생성을 요청한 관리자 정보createDepartmentRequest
- 생성할 학과 정보- Returns:
- 학과 생성 완료 메시지
- Throws:
BaseException
- COLLEGE_NOT_FOUND: 단과대학을 찾을 수 없는 경우, DEPARTMENT_NOT_BELONG_TO_COLLEGE: 학과와 단과대학 정보가 일치하지 않는 경우
-
updateDepartmentName
@Transactional public String updateDepartmentName(User admin, Integer departmentIdx, UpdateDepartmentRequest updateDepartmentRequest) 학과명을 수정합니다.- Specified by:
updateDepartmentName
in interfaceDepartmentService
- Parameters:
admin
- 수정을 요청한 관리자 정보departmentIdx
- 수정할 학과의 식별자updateDepartmentRequest
- 새로운 학과명- Returns:
- 학과명 수정 완료 메시지
- Throws:
BaseException
- DEPARTMENT_NOT_FOUND: 학과를 찾을 수 없는 경우
-
deleteDepartment
학과를 삭제(비활성화) 처리합니다.- Specified by:
deleteDepartment
in interfaceDepartmentService
- Parameters:
admin
- 삭제를 요청한 관리자 정보departmentIdx
- 삭제할 학과의 식별자- Returns:
- 학과 삭제 완료 메시지
- Throws:
BaseException
- DEPARTMENT_NOT_FOUND: 학과를 찾을 수 없는 경우
-