diff --git a/src/main/java/com/example/rhizome/app/domain/service/Login.java b/src/main/java/com/example/rhizome/app/domain/service/Login.java index 7756d83..e6c0e9a 100644 --- a/src/main/java/com/example/rhizome/app/domain/service/Login.java +++ b/src/main/java/com/example/rhizome/app/domain/service/Login.java @@ -4,7 +4,7 @@ import com.example.rhizome.app.domain.model.LoginInfo; import com.example.rhizome.app.domain.model.LoginUser; public interface Login { - LoginUser doLogin(LoginInfo loginInfo); + LoginUser doLogin(LoginInfo loginInfo); - boolean canLogin(LoginInfo loginInfo); + boolean canLogin(LoginInfo loginInfo); } diff --git a/src/main/java/com/example/rhizome/app/domain/service/RegisterDepartment.java b/src/main/java/com/example/rhizome/app/domain/service/RegisterDepartment.java index 73eefcb..29856b4 100644 --- a/src/main/java/com/example/rhizome/app/domain/service/RegisterDepartment.java +++ b/src/main/java/com/example/rhizome/app/domain/service/RegisterDepartment.java @@ -3,5 +3,5 @@ package com.example.rhizome.app.domain.service; import com.example.rhizome.app.domain.model.Department; public interface RegisterDepartment { - void registerDepartment(Department department); + void registerDepartment(Department department); } diff --git a/src/main/java/com/example/rhizome/app/domain/service/RegisterEmployee.java b/src/main/java/com/example/rhizome/app/domain/service/RegisterEmployee.java index c4b1297..40ce399 100644 --- a/src/main/java/com/example/rhizome/app/domain/service/RegisterEmployee.java +++ b/src/main/java/com/example/rhizome/app/domain/service/RegisterEmployee.java @@ -3,5 +3,5 @@ package com.example.rhizome.app.domain.service; import com.example.rhizome.app.domain.model.Employee; public interface RegisterEmployee { - void registerEmployee(Employee employee); + void registerEmployee(Employee employee); } diff --git a/src/main/java/com/example/rhizome/app/domain/service/SearchEmployeeInfo.java b/src/main/java/com/example/rhizome/app/domain/service/SearchEmployeeInfo.java index 092bf97..7577d6a 100644 --- a/src/main/java/com/example/rhizome/app/domain/service/SearchEmployeeInfo.java +++ b/src/main/java/com/example/rhizome/app/domain/service/SearchEmployeeInfo.java @@ -1,12 +1,12 @@ package com.example.rhizome.app.domain.service; +import java.util.List; + import com.example.rhizome.app.domain.model.EmployeeInfo; import com.example.rhizome.app.domain.model.SearchConditionEmployee; -import java.util.List; - public interface SearchEmployeeInfo { - List selectAll(); + List selectAll(); - List searchBy(SearchConditionEmployee searchConditionEmployee); + List searchBy(SearchConditionEmployee searchConditionEmployee); } diff --git a/src/main/java/com/example/rhizome/app/domain/service/UpdateEmployee.java b/src/main/java/com/example/rhizome/app/domain/service/UpdateEmployee.java index c857d4d..20dba6b 100644 --- a/src/main/java/com/example/rhizome/app/domain/service/UpdateEmployee.java +++ b/src/main/java/com/example/rhizome/app/domain/service/UpdateEmployee.java @@ -3,6 +3,6 @@ package com.example.rhizome.app.domain.service; import com.example.rhizome.app.domain.model.Employee; public interface UpdateEmployee { - void updateEmployee(Employee beforeEmployee, Employee updateEmployee); + void updateEmployee(Employee beforeEmployee, Employee updateEmployee); } diff --git a/src/main/java/com/example/rhizome/app/domain/service/impl/DeleteEmployeeImpl.java b/src/main/java/com/example/rhizome/app/domain/service/impl/DeleteEmployeeImpl.java index ca5a67a..b08834a 100644 --- a/src/main/java/com/example/rhizome/app/domain/service/impl/DeleteEmployeeImpl.java +++ b/src/main/java/com/example/rhizome/app/domain/service/impl/DeleteEmployeeImpl.java @@ -1,33 +1,25 @@ package com.example.rhizome.app.domain.service.impl; -import com.example.rhizome.app.domain.service.DeleteEmployee; -import com.example.rhizome.app.infra.repository.EmployeeRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -/** - * Employee レコード削除関連の機能を持つサービス - */ +import com.example.rhizome.app.domain.service.DeleteEmployee; +import com.example.rhizome.app.infra.repository.EmployeeRepository; + @Service @Transactional public class DeleteEmployeeImpl implements DeleteEmployee { - EmployeeRepository employeeRepository; + EmployeeRepository employeeRepository; - @Autowired - public DeleteEmployeeImpl(EmployeeRepository employeeRepository) { - this.employeeRepository = employeeRepository; - } + @Autowired + public DeleteEmployeeImpl(EmployeeRepository employeeRepository) { + this.employeeRepository = employeeRepository; + } - - /** - * idEmployee を元に employee データを削除 - * - * @param idEmployee 削除対象のidEmployee - */ - public void deleteEmployee(Integer idEmployee) { - employeeRepository.deleteById(idEmployee); - } + public void deleteEmployee(Integer idEmployee) { + employeeRepository.deleteById(idEmployee); + } } diff --git a/src/main/java/com/example/rhizome/app/domain/service/impl/LoginImpl.java b/src/main/java/com/example/rhizome/app/domain/service/impl/LoginImpl.java index 66c7f02..fbbbbb0 100644 --- a/src/main/java/com/example/rhizome/app/domain/service/impl/LoginImpl.java +++ b/src/main/java/com/example/rhizome/app/domain/service/impl/LoginImpl.java @@ -1,55 +1,38 @@ 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.LoginInfo; import com.example.rhizome.app.domain.model.LoginUser; import com.example.rhizome.app.domain.service.Login; import com.example.rhizome.app.infra.entity.EmployeeEntity; import com.example.rhizome.app.infra.repository.EmployeeRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -/** - * ログイン系の機能を集約させるサービスクラスです。 - */ @Service @Transactional public class LoginImpl implements Login { - EmployeeRepository employeeRepository; + EmployeeRepository employeeRepository; - @Autowired - public LoginImpl(EmployeeRepository employeeRepository) { - this.employeeRepository = employeeRepository; - } + @Autowired + public LoginImpl(EmployeeRepository employeeRepository) { + this.employeeRepository = employeeRepository; + } + public LoginUser doLogin(LoginInfo loginInfo) { + return employeeRepository + .findByMailAddressAndPassword(loginInfo.getMailAddress(), loginInfo.getPassword()) + .orElse(new EmployeeEntity()) + .createLoginUser(); - /** - * メールアドレス、パスワードでログイン判定を行う - * - * @param loginInfo ログインを試みるアカウント - * @return loginUser のインスタンス - */ - public LoginUser doLogin(LoginInfo loginInfo) { - // ログイン情報を元にログインユーザーを取得 - return employeeRepository - .findByMailAddressAndPassword(loginInfo.getMailAddress(), loginInfo.getPassword()) - .orElse(new EmployeeEntity()) - .createLoginUser(); + } - } + public boolean canLogin(LoginInfo loginInfo) { + return employeeRepository + .findByMailAddressAndPassword(loginInfo.getMailAddress(), loginInfo.getPassword()) + .isPresent(); - /** - * メールアドレス、パスワードでログイン判定を行う - * - * @param loginInfo ログインを試みるアカウント - * @return loginUser のインスタンス - */ - public boolean canLogin(LoginInfo loginInfo) { - // ログイン情報を元にログインユーザーを取得 - return employeeRepository - .findByMailAddressAndPassword(loginInfo.getMailAddress(), loginInfo.getPassword()) - .isPresent(); - - } + } } diff --git a/src/main/java/com/example/rhizome/app/domain/service/impl/RegisterEmployeeImpl.java b/src/main/java/com/example/rhizome/app/domain/service/impl/RegisterEmployeeImpl.java index 1683e23..c4699e8 100644 --- a/src/main/java/com/example/rhizome/app/domain/service/impl/RegisterEmployeeImpl.java +++ b/src/main/java/com/example/rhizome/app/domain/service/impl/RegisterEmployeeImpl.java @@ -1,34 +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.model.Employee; import com.example.rhizome.app.domain.service.RegisterEmployee; import com.example.rhizome.app.infra.entity.EmployeeEntity; import com.example.rhizome.app.infra.repository.EmployeeRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -/** - * Employee テーブルの登録系の機能を集約させるサービスクラスです。 - */ @Service @Transactional public class RegisterEmployeeImpl implements RegisterEmployee { - EmployeeRepository employeeRepository; + EmployeeRepository employeeRepository; - @Autowired - public RegisterEmployeeImpl(EmployeeRepository employeeRepository) { - this.employeeRepository = employeeRepository; - } + @Autowired + public RegisterEmployeeImpl(EmployeeRepository employeeRepository) { + this.employeeRepository = employeeRepository; + } - /** - * employee インスタンスの内容を登録する - * - * @param employee 登録対象のデータ - */ - public void registerEmployee(Employee employee) { - employeeRepository.save(EmployeeEntity.convertFrom(employee)); - } + public void registerEmployee(Employee employee) { + employeeRepository.save(EmployeeEntity.convertFrom(employee)); + } } diff --git a/src/main/java/com/example/rhizome/app/domain/service/impl/SearchDepartmentImpl.java b/src/main/java/com/example/rhizome/app/domain/service/impl/SearchDepartmentImpl.java index feb6b37..1983e31 100644 --- a/src/main/java/com/example/rhizome/app/domain/service/impl/SearchDepartmentImpl.java +++ b/src/main/java/com/example/rhizome/app/domain/service/impl/SearchDepartmentImpl.java @@ -1,82 +1,75 @@ package com.example.rhizome.app.domain.service.impl; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.jpa.domain.Specification; +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.model.SearchConditionDepartment; import com.example.rhizome.app.domain.service.SearchDepartment; import com.example.rhizome.app.infra.entity.DepartmentEntity; import com.example.rhizome.app.infra.repository.DepartmentRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.jpa.domain.Specification; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import java.util.List; - -/** - * 部署情報検索系の機能を集約させるサービスクラスです。 - */ @Service @Transactional public class SearchDepartmentImpl implements SearchDepartment { - DepartmentRepository departmentRepository; + DepartmentRepository departmentRepository; - /** - * コンストラクタ - * - * @param departmentRepository DI対象 - */ - @Autowired - public SearchDepartmentImpl(DepartmentRepository departmentRepository) { - this.departmentRepository = departmentRepository; - } + @Autowired + public SearchDepartmentImpl(DepartmentRepository departmentRepository) { + this.departmentRepository = departmentRepository; + } - /** - * 部署情報を全件取得する - * - * @return 取得した部署情報レコード全件 - */ - public List selectAll() { - return DepartmentEntity.createDepartmentList(departmentRepository.findAll()); - } + public List selectAll() { + return DepartmentEntity.createDepartmentList(departmentRepository.findAll()); + } - /** - * searchConditionDepartment の情報を元に Department のレコードを取得 - * - * @param searchConditionDepartment 検索条件 - * @return 検索結果のレコード - */ - public List searchBy(SearchConditionDepartment searchConditionDepartment) { - // 動的に検索条件を絞り込む - // Specification は Criteria API の Predicate をラップしたもの - return DepartmentEntity - .createDepartmentList( - departmentRepository.findAll(Specification - .where(DepartmentRepository.idDepartmentEqual(searchConditionDepartment.getIdDepartment())) - .and(DepartmentRepository.nmDepartmentEqual(searchConditionDepartment.getNmDepartment())) - ) - ); + public List searchBy(SearchConditionDepartment searchConditionDepartment) { + return DepartmentEntity + .createDepartmentList( + departmentRepository.findAll(Specification + .where(DepartmentRepository + .idDepartmentEqual(searchConditionDepartment.getIdDepartment())) + .and(DepartmentRepository + .nmDepartmentEqual(searchConditionDepartment.getNmDepartment())))); - } + } - /** - * searchConditionDepartment の情報を元に Department のレコードを取得 - * 部分一致検索 - * - * @param searchConditionDepartment 検索条件 - * @return 検索結果のレコード - */ - public List searchByWithLike(SearchConditionDepartment searchConditionDepartment) { - // 動的に検索条件を絞り込む - // Specification は Criteria API の Predicate をラップしたもの - return DepartmentEntity - .createDepartmentList( - departmentRepository.findAll(Specification - .where(DepartmentRepository.idDepartmentEqual(searchConditionDepartment.getIdDepartment())) - .and(DepartmentRepository.nmDepartmentLike(searchConditionDepartment.getNmDepartment())) - ) - ); + public List searchByWithLike(SearchConditionDepartment searchConditionDepartment) { + return DepartmentEntity + .createDepartmentList( + departmentRepository.findAll(Specification + .where(DepartmentRepository + .idDepartmentEqual(searchConditionDepartment.getIdDepartment())) + .and(DepartmentRepository + .nmDepartmentLike(searchConditionDepartment.getNmDepartment())))); + + } + + @Override + public List searchByDepartmentName(SearchConditionDepartment searchConditionDepartment) { + + return DepartmentEntity + .createDepartmentList( + departmentRepository.findAll(Specification + .where(DepartmentRepository + .nmDepartmentEqual(searchConditionDepartment.getNmDepartment())))); + + } + + @Override + public List searchByDepartmentId(SearchConditionDepartment searchConditionDepartment) { + + return DepartmentEntity + .createDepartmentList( + departmentRepository.findAll(Specification + .where(DepartmentRepository + .idDepartmentEqual(searchConditionDepartment.getIdDepartment())))); + + } - } } diff --git a/src/main/java/com/example/rhizome/app/domain/service/impl/SearchEmployeeImpl.java b/src/main/java/com/example/rhizome/app/domain/service/impl/SearchEmployeeImpl.java index 002e064..29bb27c 100644 --- a/src/main/java/com/example/rhizome/app/domain/service/impl/SearchEmployeeImpl.java +++ b/src/main/java/com/example/rhizome/app/domain/service/impl/SearchEmployeeImpl.java @@ -1,70 +1,43 @@ package com.example.rhizome.app.domain.service.impl; +import java.util.List; + +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.Employee; import com.example.rhizome.app.domain.model.LoginUser; import com.example.rhizome.app.domain.service.SearchEmployee; import com.example.rhizome.app.infra.entity.EmployeeEntity; import com.example.rhizome.app.infra.repository.EmployeeRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import java.util.List; - -/** - * Employee テーブル検索系の機能を集約させるサービスクラスです。 - */ @Service @Transactional public class SearchEmployeeImpl implements SearchEmployee { - EmployeeRepository employeeRepository; + EmployeeRepository employeeRepository; - @Autowired - public SearchEmployeeImpl(EmployeeRepository employeeRepository) { - this.employeeRepository = employeeRepository; - } + @Autowired + public SearchEmployeeImpl(EmployeeRepository employeeRepository) { + this.employeeRepository = employeeRepository; + } + public List searchEmployee(String mailAddress) { + return EmployeeEntity.createEmployeeList(employeeRepository.findByMailAddress(mailAddress).stream().toList()); + } - /** - * mailAddress を元に Employee Table を検索します。 - * - * @param mailAddress 検索対象の mailAddress - * @return Table から取得したレコードの情報 - */ - public List searchEmployee(String mailAddress) { - return EmployeeEntity.createEmployeeList(employeeRepository.findByMailAddress(mailAddress).stream().toList()); - } + public LoginUser searchLoginUser(String mailAddress) { + return employeeRepository.findByMailAddress(mailAddress).orElse(new EmployeeEntity()).createLoginUser(); + } - /** - * mailAddress を元に ログイン者の情報 を検索します。 - * - * @param mailAddress 検索対象の mailAddress - * @return login者の情報 - */ - public LoginUser searchLoginUser(String mailAddress) { - return employeeRepository.findByMailAddress(mailAddress).orElse(new EmployeeEntity()).createLoginUser(); - } + public Employee searchEmployeeByIdEmployee(Integer idEmployee) { + return EmployeeEntity + .createEmployee(employeeRepository.findByIdEmployee(idEmployee).orElse(new EmployeeEntity())); + } - /** - * idEmployee を元に Employee Table を検索します。 - * - * @param idEmployee 検索対象の idEmployee - * @return Table から取得したレコードの情報 - */ - public Employee searchEmployeeByIdEmployee(Integer idEmployee) { - return EmployeeEntity.createEmployee(employeeRepository.findByIdEmployee(idEmployee).orElse(new EmployeeEntity())); - } - - - /** - * idDepartment を元に Employee Table を検索します。 - * - * @param idDepartment 部署ID - * @return Table から取得したレコードの情報 - */ - @Override - public List searchEmployeeByIdDepartment(Integer idDepartment) { - return EmployeeEntity.createEmployeeList(employeeRepository.findByIdDepartment(idDepartment)); - } + @Override + public List searchEmployeeByIdDepartment(Integer idDepartment) { + return EmployeeEntity.createEmployeeList(employeeRepository.findByIdDepartment(idDepartment)); + } } diff --git a/src/main/java/com/example/rhizome/app/domain/service/impl/SearchEmployeeInfoImpl.java b/src/main/java/com/example/rhizome/app/domain/service/impl/SearchEmployeeInfoImpl.java index 09763c9..c3b5a40 100644 --- a/src/main/java/com/example/rhizome/app/domain/service/impl/SearchEmployeeInfoImpl.java +++ b/src/main/java/com/example/rhizome/app/domain/service/impl/SearchEmployeeInfoImpl.java @@ -1,62 +1,45 @@ package com.example.rhizome.app.domain.service.impl; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.jpa.domain.Specification; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + import com.example.rhizome.app.domain.model.EmployeeInfo; import com.example.rhizome.app.domain.model.SearchConditionEmployee; import com.example.rhizome.app.domain.service.SearchEmployeeInfo; import com.example.rhizome.app.infra.entity.EmployeeDepartmentEntity; import com.example.rhizome.app.infra.repository.EmployeeInfoRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.data.jpa.domain.Specification; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import java.util.List; - -/** - * SearchEmployeeInfoImpl (employee join department) 検索系の機能を集約させるサービスクラスです - */ @Service @Transactional public class SearchEmployeeInfoImpl implements SearchEmployeeInfo { - EmployeeInfoRepository employeeInfoRepository; + EmployeeInfoRepository employeeInfoRepository; - @Autowired - public SearchEmployeeInfoImpl(EmployeeInfoRepository employeeInfoRepository) { - this.employeeInfoRepository = employeeInfoRepository; - } + @Autowired + public SearchEmployeeInfoImpl(EmployeeInfoRepository employeeInfoRepository) { + this.employeeInfoRepository = employeeInfoRepository; + } + public List selectAll() { - /** - * EmployeeInfo (employee join department) のレコードを全件取得 - * - * @return 取得したレコード全件 - */ - public List selectAll() { + return EmployeeDepartmentEntity.createEmployeeInfoList(employeeInfoRepository.findAll()); - return EmployeeDepartmentEntity.createEmployeeInfoList(employeeInfoRepository.findAll()); + } - } + public List searchBy(SearchConditionEmployee searchConditionEmployee) { + return EmployeeDepartmentEntity + .createEmployeeInfoList( + employeeInfoRepository.findAll(Specification + .where(EmployeeInfoRepository.idEmployeeEqual(searchConditionEmployee.getIdEmployee())) + .and(EmployeeInfoRepository.nmEmployeeEqual(searchConditionEmployee.getNmEmployee())) + .and(EmployeeInfoRepository.knEmployeeEqual(searchConditionEmployee.getKnEmployee())) + .and(EmployeeInfoRepository.mailAddressEqual(searchConditionEmployee.getMailAddress())) + .and(EmployeeInfoRepository + .idDepartmentEqual(searchConditionEmployee.getIdDepartment())))); - /** - * SearchConditionEmployee の情報を元に EmployeeInfo (employee join department) のレコードを取得 - * - * @param searchConditionEmployee 検索条件 - * @return 検索結果のレコードリスト - */ - public List searchBy(SearchConditionEmployee searchConditionEmployee) { - // 動的に検索条件を絞り込む - // Specification は Criteria API の Predicate をラップしたもの - return EmployeeDepartmentEntity - .createEmployeeInfoList( - employeeInfoRepository.findAll(Specification - .where(EmployeeInfoRepository.idEmployeeEqual(searchConditionEmployee.getIdEmployee())) - .and(EmployeeInfoRepository.nmEmployeeEqual(searchConditionEmployee.getNmEmployee())) - .and(EmployeeInfoRepository.knEmployeeEqual(searchConditionEmployee.getKnEmployee())) - .and(EmployeeInfoRepository.mailAddressEqual(searchConditionEmployee.getMailAddress())) - .and(EmployeeInfoRepository.idDepartmentEqual(searchConditionEmployee.getIdDepartment())) - ) - ); - - } + } } diff --git a/src/main/java/com/example/rhizome/app/domain/service/impl/UpdateEmployeeImpl.java b/src/main/java/com/example/rhizome/app/domain/service/impl/UpdateEmployeeImpl.java index 599a2f9..d1f56a3 100644 --- a/src/main/java/com/example/rhizome/app/domain/service/impl/UpdateEmployeeImpl.java +++ b/src/main/java/com/example/rhizome/app/domain/service/impl/UpdateEmployeeImpl.java @@ -1,60 +1,42 @@ 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.Employee; import com.example.rhizome.app.domain.service.UpdateEmployee; import com.example.rhizome.app.infra.entity.EmployeeEntity; import com.example.rhizome.app.infra.repository.EmployeeRepository; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -/** - * employee の更新系の機能を集約させるサービスクラスです。 - */ @Service @Transactional public class UpdateEmployeeImpl implements UpdateEmployee { - EmployeeRepository employeeRepository; + EmployeeRepository employeeRepository; - @Autowired - public UpdateEmployeeImpl(EmployeeRepository employeeRepository) { - this.employeeRepository = employeeRepository; - } + @Autowired + public UpdateEmployeeImpl(EmployeeRepository employeeRepository) { + this.employeeRepository = employeeRepository; + } - /** - * employee の情報を元に employee table のレコードを更新する - * - * @param beforeEmployee 更新前のデータ - * @param updateEmployee 更新後のデータ - */ - public void updateEmployee(Employee beforeEmployee, Employee updateEmployee) { + public void updateEmployee(Employee beforeEmployee, Employee updateEmployee) { - employeeRepository.save(EmployeeEntity.convertFrom(mergeEmployee(beforeEmployee, updateEmployee))); + employeeRepository.save(EmployeeEntity.convertFrom(mergeEmployee(beforeEmployee, updateEmployee))); - } + } - /** - * 更新前のデータと更新対象のデータをマージする - * - * @param beforeEmployee 更新前のデータ - * @param updateEmployee 更新対象のデータ - * @return マージしたデータ - */ - private Employee mergeEmployee(Employee beforeEmployee, Employee updateEmployee) { - // 更新対象のデータのパスワードが空文字の場合は、更新前のパスワードを使用する - // 更新対象のデータの管理者権限が null の場合は、更新前の管理者権限を使用する - // 更新対象のデータの部署IDが null の場合は、更新前の部署IDを使用する - return new Employee( - updateEmployee.getIdEmployee(), - updateEmployee.getNmEmployee(), - updateEmployee.getKnEmployee(), - updateEmployee.getMailAddress(), - updateEmployee.getPassword().isBlank() ? beforeEmployee.getPassword() : updateEmployee.getPassword(), - updateEmployee.getAdminAuth() == null ? beforeEmployee.getAdminAuth() : updateEmployee.getAdminAuth(), - updateEmployee.getIdDepartment() == null ? beforeEmployee.getIdDepartment() : updateEmployee.getIdDepartment() - ); + private Employee mergeEmployee(Employee beforeEmployee, Employee updateEmployee) { + return new Employee( + updateEmployee.getIdEmployee(), + updateEmployee.getNmEmployee(), + updateEmployee.getKnEmployee(), + updateEmployee.getMailAddress(), + updateEmployee.getPassword().isBlank() ? beforeEmployee.getPassword() : updateEmployee.getPassword(), + updateEmployee.getAdminAuth() == null ? beforeEmployee.getAdminAuth() : updateEmployee.getAdminAuth(), + updateEmployee.getIdDepartment() == null ? beforeEmployee.getIdDepartment() + : updateEmployee.getIdDepartment()); - } + } }