From cc6ea925a9f094435a292c6402487229beea4b67 Mon Sep 17 00:00:00 2001 From: s-choi Date: Thu, 10 Sep 2026 16:06:55 +0900 Subject: [PATCH] =?UTF-8?q?[ADD]=20=E9=83=A8=E7=BD=B2=E7=99=BB=E9=8C=B2?= =?UTF-8?q?=E3=83=BB=E5=89=8A=E9=99=A4=E3=83=BB=E6=9B=B4=E6=96=B0=E3=81=AE?= =?UTF-8?q?=E3=81=9F=E3=82=81=E3=81=AE=E3=82=B5=E3=83=BC=E3=83=93=E3=82=B9?= =?UTF-8?q?=E3=83=A1=E3=82=BD=E3=83=83=E3=83=89=E5=AE=9F=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/DeleteDepartmentImpl.java | 26 +++++++++++++ .../service/impl/RegisterDepartmentImpl.java | 27 ++++++++++++++ .../service/impl/UpdateDepartmentImpl.java | 37 +++++++++++++++++++ 3 files changed, 90 insertions(+) create mode 100644 src/main/java/com/example/rhizome/app/domain/service/impl/DeleteDepartmentImpl.java create mode 100644 src/main/java/com/example/rhizome/app/domain/service/impl/RegisterDepartmentImpl.java create mode 100644 src/main/java/com/example/rhizome/app/domain/service/impl/UpdateDepartmentImpl.java diff --git a/src/main/java/com/example/rhizome/app/domain/service/impl/DeleteDepartmentImpl.java b/src/main/java/com/example/rhizome/app/domain/service/impl/DeleteDepartmentImpl.java new file mode 100644 index 0000000..50b2ae2 --- /dev/null +++ b/src/main/java/com/example/rhizome/app/domain/service/impl/DeleteDepartmentImpl.java @@ -0,0 +1,26 @@ +package com.example.rhizome.app.domain.service.impl; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.example.rhizome.app.domain.service.DeleteDepartment; +import com.example.rhizome.app.infra.repository.DepartmentRepository; + +@Service +@Transactional +public class DeleteDepartmentImpl implements DeleteDepartment { + + DepartmentRepository departmentRepository; + + @Autowired + public DeleteDepartmentImpl(DepartmentRepository departmentRepository) { + this.departmentRepository = departmentRepository; + } + + @Override + public void deleteDepartment(Integer idDepartment) { + departmentRepository.deleteById(idDepartment); + } + +} diff --git a/src/main/java/com/example/rhizome/app/domain/service/impl/RegisterDepartmentImpl.java b/src/main/java/com/example/rhizome/app/domain/service/impl/RegisterDepartmentImpl.java new file mode 100644 index 0000000..027859c --- /dev/null +++ b/src/main/java/com/example/rhizome/app/domain/service/impl/RegisterDepartmentImpl.java @@ -0,0 +1,27 @@ +package com.example.rhizome.app.domain.service.impl; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.example.rhizome.app.domain.model.Department; +import com.example.rhizome.app.domain.service.RegisterDepartment; +import com.example.rhizome.app.infra.entity.DepartmentEntity; +import com.example.rhizome.app.infra.repository.DepartmentRepository; + +@Service +@Transactional +public class RegisterDepartmentImpl implements RegisterDepartment { + + DepartmentRepository departmentRepository; + + @Autowired + public RegisterDepartmentImpl(DepartmentRepository departmentRepository) { + this.departmentRepository = departmentRepository; + } + + @Override + public void registerDepartment(Department department) { + departmentRepository.save(DepartmentEntity.convertFrom(department)); + } +} diff --git a/src/main/java/com/example/rhizome/app/domain/service/impl/UpdateDepartmentImpl.java b/src/main/java/com/example/rhizome/app/domain/service/impl/UpdateDepartmentImpl.java new file mode 100644 index 0000000..6fa3656 --- /dev/null +++ b/src/main/java/com/example/rhizome/app/domain/service/impl/UpdateDepartmentImpl.java @@ -0,0 +1,37 @@ +package com.example.rhizome.app.domain.service.impl; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.example.rhizome.app.domain.model.Department; +import com.example.rhizome.app.domain.service.UpdateDepartment; +import com.example.rhizome.app.infra.entity.DepartmentEntity; +import com.example.rhizome.app.infra.repository.DepartmentRepository; + +@Service +@Transactional +public class UpdateDepartmentImpl implements UpdateDepartment { + + DepartmentRepository departmentRepository; + + @Autowired + public UpdateDepartmentImpl(DepartmentRepository departmentRepository) { + this.departmentRepository = departmentRepository; + } + + @Override + public void updateDepartment(Department beforeDepartment, Department updateDepartment) { + + departmentRepository.save(DepartmentEntity.convertFrom(mergeDepartment(beforeDepartment, updateDepartment))); + + } + + private Department mergeDepartment(Department beforeDepartment, Department updateDepartment) { + return new Department( + updateDepartment.getIdDepartment(), + updateDepartment.getNmDepartment()); + + } + +}