From 76806da455b31bdcff001d866afde72a284e00ff Mon Sep 17 00:00:00 2001
From: wyu <kknd09321@nate.com>
Date: 수, 03 11월 2021 08:57:43 +0900
Subject: [PATCH] - 사용자 등급관리 생성,수정,삭제까지 진행

---
 src/main/java/kr/wisestone/owl/service/impl/UserLevelServiceImpl.java |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 53 insertions(+), 2 deletions(-)

diff --git a/src/main/java/kr/wisestone/owl/service/impl/UserLevelServiceImpl.java b/src/main/java/kr/wisestone/owl/service/impl/UserLevelServiceImpl.java
index d5c5fdf..8e35538 100644
--- a/src/main/java/kr/wisestone/owl/service/impl/UserLevelServiceImpl.java
+++ b/src/main/java/kr/wisestone/owl/service/impl/UserLevelServiceImpl.java
@@ -2,11 +2,16 @@
 
 import com.google.common.collect.Lists;
 import kr.wisestone.owl.constant.Constants;
+import kr.wisestone.owl.constant.MngPermission;
+import kr.wisestone.owl.constant.MsgConstants;
+import kr.wisestone.owl.domain.User;
 import kr.wisestone.owl.domain.UserLevel;
+import kr.wisestone.owl.exception.OwlRuntimeException;
 import kr.wisestone.owl.mapper.UserLevelMapper;
 import kr.wisestone.owl.mapper.UserMapper;
 import kr.wisestone.owl.repository.UserLevelRepository;
 import kr.wisestone.owl.service.UserLevelService;
+import kr.wisestone.owl.service.UserService;
 import kr.wisestone.owl.util.CommonUtil;
 import kr.wisestone.owl.util.ConvertUtil;
 import kr.wisestone.owl.vo.ResPage;
@@ -14,11 +19,13 @@
 import kr.wisestone.owl.vo.UserVo;
 import kr.wisestone.owl.web.condition.UserCondition;
 import kr.wisestone.owl.web.condition.UserLevelCondition;
+import kr.wisestone.owl.web.form.ManageUserForm;
 import kr.wisestone.owl.web.form.UserLevelForm;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Pageable;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import java.util.List;
 import java.util.Map;
@@ -32,21 +39,38 @@
     @Autowired
     private UserLevelMapper userLevelMapper;
 
+    @Autowired
+    private UserService userService;
+
     @Override
     protected JpaRepository<UserLevel, Long> getRepository() {
         return this.userLevelRepository;
     }
 
+    // �궗�슜�옄 媛��엯 �썑 UserLevel 媛� ���옣
     @Override
     public UserLevel addUserLevel(UserLevelForm userLevelForm) {
+        userLevelForm.makePermission();
         UserLevel userLevel = ConvertUtil.copyProperties(userLevelForm, UserLevel.class);
         userLevelRepository.saveAndFlush(userLevel);
         return userLevel;
     }
 
+    // 理쒓퀬愿�由ъ옄 �벑湲� 異붽�
     @Override
-    public List<UserLevelVo> findUser(Map<String, Object> resJsonData, UserLevelCondition condition,
-                         Pageable pageable) {
+    public UserLevel addSuperUserLevel() {
+        UserLevel userLevel = new UserLevel();
+        userLevel.setLevelName("理쒓퀬愿�由ъ옄");
+        userLevel.setPermission(MngPermission.makeAllPermission());
+
+        userLevel = userLevelRepository.saveAndFlush(userLevel);
+        return userLevel;
+    }
+
+    // �궗�슜�옄 �벑湲� 紐⑸줉�쓣 媛��졇�삩�떎.
+    @Override
+    public List<UserLevelVo> findUser(Map<String, Object> resJsonData,
+                                           UserLevelCondition condition, Pageable pageable) {
 
         condition.setPage(pageable.getPageNumber() * pageable.getPageSize());
         condition.setPageSize(pageable.getPageSize());
@@ -56,6 +80,32 @@
 
         return this.convertUserLevelVoToMap(results, totalUsersCount, pageable, resJsonData);
     }
+    //  �궗�슜�옄 �벑湲� �젙蹂대�� �닔�젙�븳�떎.
+    @Override
+    public void modifyUserLevel(UserLevelForm userLevelForm) {
+        userLevelForm.makePermission();
+        UserLevel userLevel = ConvertUtil.copyProperties(userLevelForm, UserLevel.class);
+        userLevelRepository.saveAndFlush(userLevel);
+    }
+
+    @Override
+    public void removeUserLevel(UserLevelForm userLevelForm) {
+        if (userLevelForm.getRemoveIds().size() < 1) {
+            throw new OwlRuntimeException(
+                    this.messageAccessor.getMessage(MsgConstants.PROJECT_REMOVE_NOT_SELECT));
+        }
+
+        for (Long id : userLevelForm.getRemoveIds()) {
+            if (!this.userService.useUserLevel(id)) {
+                this.userLevelRepository.deleteById(id);
+            } else {
+                throw new OwlRuntimeException(
+                        this.messageAccessor.getMessage(MsgConstants.USER_LEVEL_ALREADY));
+            }
+        }
+
+        this.userLevelRepository.flush();
+    }
 
     //  寃��깋 寃곌낵瑜� UserLevelVo 濡� 蹂��솚�븳�떎.
     private List<UserLevelVo> convertUserLevelVoToMap(List<Map<String, Object>> results, Long totalUsersCount, Pageable pageable, Map<String, Object> resJsonData) {
@@ -63,6 +113,7 @@
 
         for (Map<String, Object> result : results) {
             UserLevelVo userLevelVo = ConvertUtil.convertMapToClass(result, UserLevelVo.class);
+            userLevelVo.toPermissionValues();
             userLevelVos.add(userLevelVo);
         }
 

--
Gitblit v1.8.0