OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2022-03-14 fe21896bff9b9305df0294e0352b343e0dd4d0b9
src/main/java/kr/wisestone/owl/service/impl/UserDepartmentServiceImpl.java
@@ -5,17 +5,19 @@
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.*;
@@ -28,6 +30,12 @@
    @Autowired
    private DepartmentService departmentService;
    @Autowired
    private UserService userService;
    @Autowired
    private SimpMessagingTemplate simpMessagingTemplate;
    @Override
    protected JpaRepository<UserDepartment, Long> getRepository() {
@@ -72,6 +80,7 @@
    @Override
    public void userDepartmentModify(UserDepartmentForm userDepartmentForm) {
        Long userId = userDepartmentForm.getUserId();
        User user = this.userService.getUser(userId);
        // 기존 데이터 삭제
        this.userDepartmentRepository.removeByUserId(userId);
@@ -85,8 +94,12 @@
            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
@@ -94,6 +107,20 @@
        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