OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2021-11-04 f2b3cbd3a0639f55eef38a4e90ad52ef8e63b1c1
src/main/java/kr/wisestone/owl/service/impl/UserWorkspaceServiceImpl.java
@@ -3,11 +3,13 @@
import kr.wisestone.owl.constant.Constants;
import kr.wisestone.owl.constant.MsgConstants;
import kr.wisestone.owl.domain.User;
import kr.wisestone.owl.domain.UserLevel;
import kr.wisestone.owl.domain.UserWorkspace;
import kr.wisestone.owl.domain.Workspace;
import kr.wisestone.owl.exception.OwlRuntimeException;
import kr.wisestone.owl.mapper.UserWorkspaceMapper;
import kr.wisestone.owl.repository.UserWorkspaceRepository;
import kr.wisestone.owl.service.UserLevelService;
import kr.wisestone.owl.service.UserService;
import kr.wisestone.owl.service.UserWorkspaceService;
import kr.wisestone.owl.service.WorkspaceService;
@@ -39,6 +41,9 @@
    @Autowired
    private UserService userService;
    @Autowired
    private UserLevelService userLevelService;
    @Autowired
    private UserWorkspaceMapper userWorkspaceMapper;
@@ -104,7 +109,19 @@
    public void modifyUserWorkspace(UserWorkspaceForm userWorkspaceForm) {
        UserWorkspace userWorkspace = this.getUserWorkspace(userWorkspaceForm.getId());
        UserLevel currentUserlevel = userWorkspace.getUser().getUserLevel();
        if (currentUserlevel.getId() != userWorkspaceForm.getLevelId()) {
            // 사용자 등급 변경시
            User user = userWorkspace.getUser();
            UserLevel userLevel = this.userLevelService.getUserLevel(userWorkspaceForm.getLevelId());
            user.setUserLevel(userLevel);
            userWorkspace.setUser(user);
        }
        //todo 부서 변경시
        //  참여로 상태를 변경하려고 할때
        if (userWorkspace.getUseYn() != userWorkspaceForm.getUseYn()) {
        if (!userWorkspace.getUseYn()) {
            Integer maxUserCount = userWorkspace.getWorkspace().getMaxUser();  //  최대 사용자
            Integer activeUserCount = this.countByWorkspaceIdAndUseYn(userWorkspace.getWorkspace().getId(), true);
@@ -114,8 +131,7 @@
                throw new OwlRuntimeException(
                        this.messageAccessor.getMessage(MsgConstants.WORKSPACE_MAX_USER_EXCESS_NOT_INCLUDE));
            }
        }
        else {
            } else {
            User user = userWorkspace.getUser();
            //  참여 대기 사용자가 현재 해당 업무 공간을 사용하고 있을 경우 즉시 해당 업무 공간에서 튕기게 한다.
            if (user.getLastWorkspaceId().equals(userWorkspace.getWorkspace().getId())){
@@ -126,10 +142,10 @@
            //  참여 대기 상태로 변경하면 해당 사용자의 마지막 접근 업무 공간는 자신이 관리하는 업무 공간로 변경한다.
            this.userService.updateLastMyWorkspace(user);
        }
        userWorkspace.setUseYn(!userWorkspace.getUseYn());
        this.userWorkspaceRepository.saveAndFlush(userWorkspace);
        }
        this.userWorkspaceRepository.saveAndFlush(userWorkspace);
    }