From e78751f6a7a487f3c46196ac7060e0685883c93f Mon Sep 17 00:00:00 2001 From: wyu <kknd09321@nate.com> Date: 목, 11 11월 2021 09:41:45 +0900 Subject: [PATCH] 사용자 관리 부서 상세 백앤드 수정 --- src/main/java/kr/wisestone/owl/service/UserDepartmentService.java | 17 +++++ src/main/java/kr/wisestone/owl/web/condition/UserDepartmentCondition.java | 51 +++++++++++++++++ src/main/java/kr/wisestone/owl/repository/UserDepartmentRepository.java | 10 +++ src/main/java/kr/wisestone/owl/service/impl/UserDepartmentServiceImpl.java | 97 ++++++++++++++++++++++++++++++++ 4 files changed, 175 insertions(+), 0 deletions(-) diff --git a/src/main/java/kr/wisestone/owl/repository/UserDepartmentRepository.java b/src/main/java/kr/wisestone/owl/repository/UserDepartmentRepository.java new file mode 100644 index 0000000..24b6a6b --- /dev/null +++ b/src/main/java/kr/wisestone/owl/repository/UserDepartmentRepository.java @@ -0,0 +1,10 @@ +package kr.wisestone.owl.repository; + +import kr.wisestone.owl.domain.UserDepartment; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; + +public interface UserDepartmentRepository extends JpaRepository<UserDepartment, Long> { + List<UserDepartment> findByUserId(Long userId); +} diff --git a/src/main/java/kr/wisestone/owl/service/UserDepartmentService.java b/src/main/java/kr/wisestone/owl/service/UserDepartmentService.java new file mode 100644 index 0000000..92d2a52 --- /dev/null +++ b/src/main/java/kr/wisestone/owl/service/UserDepartmentService.java @@ -0,0 +1,17 @@ +package kr.wisestone.owl.service; + +import kr.wisestone.owl.domain.UserDepartment; +import kr.wisestone.owl.web.condition.UserCondition; +import kr.wisestone.owl.web.condition.UserDepartmentCondition; +import kr.wisestone.owl.web.form.UserDepartmentForm; +import org.springframework.data.jpa.repository.JpaRepository; + +import java.util.List; +import java.util.Map; + +public interface UserDepartmentService extends AbstractService<UserDepartment, Long, JpaRepository<UserDepartment, Long>> { + + void userDepartmentDetail(Map<String, Object> resJsonData, UserCondition make); + + void userDepartmentModify(UserDepartmentForm userDepartmentForm); +} diff --git a/src/main/java/kr/wisestone/owl/service/impl/UserDepartmentServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/UserDepartmentServiceImpl.java new file mode 100644 index 0000000..4cec1b7 --- /dev/null +++ b/src/main/java/kr/wisestone/owl/service/impl/UserDepartmentServiceImpl.java @@ -0,0 +1,97 @@ +package kr.wisestone.owl.service.impl; + +import com.google.common.collect.Lists; +import kr.wisestone.owl.constant.Constants; +import kr.wisestone.owl.constant.MsgConstants; +import kr.wisestone.owl.domain.Department; +import kr.wisestone.owl.domain.UserDepartment; +import kr.wisestone.owl.exception.OwlRuntimeException; +import kr.wisestone.owl.repository.UserDepartmentRepository; +import kr.wisestone.owl.service.DepartmentService; +import kr.wisestone.owl.service.UserDepartmentService; +import kr.wisestone.owl.util.ConvertUtil; +import kr.wisestone.owl.vo.*; +import kr.wisestone.owl.web.condition.DepartmentCondition; +import kr.wisestone.owl.web.condition.UserCondition; +import kr.wisestone.owl.web.condition.UserDepartmentCondition; +import kr.wisestone.owl.web.form.UserDepartmentForm; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Service; + +import java.util.AbstractList; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +@Service +public class UserDepartmentServiceImpl extends AbstractServiceImpl<UserDepartment, Long, JpaRepository<UserDepartment, Long>> implements UserDepartmentService { + + @Autowired + private UserDepartmentRepository userDepartmentRepository; + + @Autowired + private DepartmentService departmentService; + + @Override + protected JpaRepository<UserDepartment, Long> getRepository() { + return this.userDepartmentRepository; + } + + @Override + public void userDepartmentDetail(Map<String, Object> resJsonData, UserCondition userCondition) { + if (userCondition != null) { +// List<UserDepartment> userDepartments = this.userDepartmentService.getUserDepartments(userId); +// DepartmentCondition condition = new DepartmentCondition(); +// +// List<Long> list = Lists.newArrayList(); +// for (UserDepartment userDepartment : userDepartments) { +// list.add(userDepartment.getDepartmentId()); +// } +// condition.setDepartmentIds(list); + List<Map<String, Object>> results = this.departmentService.findByDepartmentIds(userCondition); + resJsonData.put(Constants.RES_KEY_CONTENTS, this.makeDepartmentVos(results)); + +// for (UserDepartment userDepartment : userDepartments) { +// Department department = this.departmentService.findOne(userDepartment.getDepartmentId()); +// departmentVos.add(ConvertUtil.copyProperties(department, DepartmentVo.class)); +// } +// departmentVos = ConvertUtil.convertObjectsToClasses(userDepartments, DepartmentVo.class); + } + } + private List<DepartmentVo> makeDepartmentVos(List<Map<String, Object>> results) { + List<DepartmentVo> departmentVos = Lists.newArrayList(); + + for (Map<String, Object> result : results) { + DepartmentVo departmentVo = ConvertUtil.convertMapToClass(result, DepartmentVo.class); + departmentVo.setByName(departmentVo.getDepartmentName()); + departmentVos.add(departmentVo); + } + + return departmentVos; + } + + @Override + public void userDepartmentModify(UserDepartmentForm userDepartmentForm) { + UserDepartment userDepartment = ConvertUtil.copyProperties(userDepartmentForm, UserDepartment.class); + userDepartmentRepository.saveAndFlush(userDepartment); + } + + // �궗�슜�옄 遺��꽌 ID濡� 議고쉶�븳�떎. +// @Override +// public List<DepartmentVo> getUserDepartments (Long id) { +// if (id == null) { +// throw new OwlRuntimeException( +// this.messageAccessor.getMessage(MsgConstants.DEPARTMENT_NOT_EXIST)); +// } +// +// List<DepartmentVo> userDepartments = this.userDepartmentRepository.findByUserId(id); +// +// if (userDepartments == null) { +// throw new OwlRuntimeException( +// this.messageAccessor.getMessage(MsgConstants.DEPARTMENT_NOT_EXIST)); +// } +// +// return userDepartments; +// } +} diff --git a/src/main/java/kr/wisestone/owl/web/condition/UserDepartmentCondition.java b/src/main/java/kr/wisestone/owl/web/condition/UserDepartmentCondition.java new file mode 100644 index 0000000..0c51ded --- /dev/null +++ b/src/main/java/kr/wisestone/owl/web/condition/UserDepartmentCondition.java @@ -0,0 +1,51 @@ +package kr.wisestone.owl.web.condition; + +import kr.wisestone.owl.util.ConvertUtil; + +import java.util.Map; + +/** + * Created by jeong on 2018-01-01. + */ +public class UserDepartmentCondition { + private Long id; + private Long departmentId; + private Long userId; + private Long departmentCount; + + public static UserDepartmentCondition make(Map<String, Object> userDepartmentConditions) { + return ConvertUtil.convertMapToClass(userDepartmentConditions, UserDepartmentCondition.class); + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getDepartmentId() { + return departmentId; + } + + public void setDepartmentId(Long departmentId) { + this.departmentId = departmentId; + } + + public Long getUserId() { + return userId; + } + + public void setUserId(Long userId) { + this.userId = userId; + } + + public Long getDepartmentCount() { + return departmentCount; + } + + public void setDepartmentCount(Long departmentCount) { + this.departmentCount = departmentCount; + } +} -- Gitblit v1.8.0