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:
getDepartmentsin interfaceDepartmentService- Parameters:
collegeIdx- 조회할 단과대학 ID (선택적)- Returns:
- 학과 목록
- Throws:
BaseException- COLLEGE_NOT_FOUND: 단과대학을 찾을 수 없는 경우
-
createDepartment
@Transactional public String createDepartment(User admin, CreateDepartmentRequest createDepartmentRequest) 새로운 학과를 생성합니다.- Specified by:
createDepartmentin 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:
updateDepartmentNamein interfaceDepartmentService- Parameters:
admin- 수정을 요청한 관리자 정보departmentIdx- 수정할 학과의 식별자updateDepartmentRequest- 새로운 학과명- Returns:
- 학과명 수정 완료 메시지
- Throws:
BaseException- DEPARTMENT_NOT_FOUND: 학과를 찾을 수 없는 경우
-
deleteDepartment
학과를 삭제(비활성화) 처리합니다.- Specified by:
deleteDepartmentin interfaceDepartmentService- Parameters:
admin- 삭제를 요청한 관리자 정보departmentIdx- 삭제할 학과의 식별자- Returns:
- 학과 삭제 완료 메시지
- Throws:
BaseException- DEPARTMENT_NOT_FOUND: 학과를 찾을 수 없는 경우
-