From 916a3cbabe4e50062fce61ff6f2f5d46c05dfbd1 Mon Sep 17 00:00:00 2001
From: 이민희 <mhlee@maprex.co.kr>
Date: 목, 17 3월 2022 17:47:45 +0900
Subject: [PATCH] - api로 이슈 추가 시 url/ip로 업체 찾는 코드 수정

---
 src/main/java/kr/wisestone/owl/service/impl/UserDepartmentServiceImpl.java |   65 +++++++++++++++++++++++++++-----
 1 files changed, 55 insertions(+), 10 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/impl/UserDepartmentServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/UserDepartmentServiceImpl.java
index 4cec1b7..ef389cb 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/UserDepartmentServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/UserDepartmentServiceImpl.java
@@ -3,26 +3,24 @@
 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.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.AbstractList;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @Service
 public class UserDepartmentServiceImpl extends AbstractServiceImpl<UserDepartment, Long, JpaRepository<UserDepartment, Long>> implements UserDepartmentService {
@@ -32,6 +30,12 @@
 
     @Autowired
     private DepartmentService departmentService;
+
+    @Autowired
+    private UserService userService;
+
+    @Autowired
+    private SimpMessagingTemplate simpMessagingTemplate;
 
     @Override
     protected JpaRepository<UserDepartment, Long> getRepository() {
@@ -59,6 +63,8 @@
 //            departmentVos = ConvertUtil.convertObjectsToClasses(userDepartments, DepartmentVo.class);
         }
     }
+
+
     private List<DepartmentVo> makeDepartmentVos(List<Map<String, Object>> results) {
         List<DepartmentVo> departmentVos = Lists.newArrayList();
 
@@ -73,8 +79,47 @@
 
     @Override
     public void userDepartmentModify(UserDepartmentForm userDepartmentForm) {
-        UserDepartment userDepartment = ConvertUtil.copyProperties(userDepartmentForm, UserDepartment.class);
-        userDepartmentRepository.saveAndFlush(userDepartment);
+        Long userId = userDepartmentForm.getUserId();
+        User user = this.userService.getUser(userId);
+
+        // 湲곗〈 �뜲�씠�꽣 �궘�젣
+        this.userDepartmentRepository.removeByUserId(userId);
+
+        // �깉濡쒖슫 �뜲�씠�꽣 異붽�
+        List<UserDepartment> list = Lists.newArrayList();
+        for (Long departmentId : userDepartmentForm.getIds()){
+            UserDepartment userDepartment = new UserDepartment();
+            userDepartment.setUserId(userId);
+            userDepartment.setDepartmentId(departmentId);
+
+            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濡� 議고쉶�븳�떎.

--
Gitblit v1.8.0