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