| | |
| | | import kr.wisestone.owl.constant.MsgConstants; |
| | | import kr.wisestone.owl.domain.*; |
| | | import kr.wisestone.owl.exception.OwlRuntimeException; |
| | | import kr.wisestone.owl.mapper.UserMapper; |
| | | import kr.wisestone.owl.repository.UserDepartmentRepository; |
| | | import kr.wisestone.owl.service.DepartmentService; |
| | | import kr.wisestone.owl.service.UserDepartmentService; |
| | | import kr.wisestone.owl.service.UserService; |
| | | import kr.wisestone.owl.util.ConvertUtil; |
| | | import kr.wisestone.owl.util.MapUtil; |
| | | 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.messaging.simp.SimpMessagingTemplate; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.*; |
| | |
| | | |
| | | @Autowired |
| | | private DepartmentService departmentService; |
| | | |
| | | @Autowired |
| | | private UserService userService; |
| | | |
| | | @Autowired |
| | | private SimpMessagingTemplate simpMessagingTemplate; |
| | | |
| | | @Override |
| | | protected JpaRepository<UserDepartment, Long> getRepository() { |
| | |
| | | @Override |
| | | public void userDepartmentModify(UserDepartmentForm userDepartmentForm) { |
| | | Long userId = userDepartmentForm.getUserId(); |
| | | User user = this.userService.getUser(userId); |
| | | |
| | | // 기존 데이터 삭제 |
| | | this.userDepartmentRepository.removeByUserId(userId); |
| | |
| | | |
| | | list.add(userDepartment); |
| | | } |
| | | |
| | | this.userDepartmentRepository.saveAll(list); |
| | | |
| | | // 부서 변경 된 유저 로그아웃 시키기 |
| | | this.simpMessagingTemplate.convertAndSendToUser(user.getAccount(), "/notification/changeUserDepartment", this.messageAccessor.getMessage(MsgConstants.USER_DEPARTMENT_CHANGE)); |
| | | // 세션 업데이트 |
| | | //SecurityUtils.setUserToSession(user); |
| | | } |
| | | |
| | | @Override |
| | | public List<UserDepartment> findByDepartmentId(Long id) { |
| | | return this.userDepartmentRepository.findByDepartmentId(id); |
| | | } |
| | | |
| | | @Override |
| | | public List<Department> findDepartment(Long userId) { |
| | | List<UserDepartment> userDepartments = this.userDepartmentRepository.findByUserId(userId); |
| | | if (userDepartments != null && userDepartments.size() > 0) { |
| | | |
| | | List<Department> departments = Lists.newArrayList(); |
| | | for (UserDepartment userDepartment : userDepartments) { |
| | | Department department = this.departmentService.getDepartment(userDepartment.getDepartmentId()); |
| | | departments.add(department); |
| | | } |
| | | return departments; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | // 사용자 부서 ID로 조회한다. |
| | | // @Override |