From 40521d51f8c083212ceb1710ab0bea570821d063 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期一, 04 十二月 2023 09:25:43 +0800
Subject: [PATCH] 平台端调度部门下拉框

---
 ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java |   43 ++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 40 insertions(+), 3 deletions(-)

diff --git a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
index 868fadd..e151ebd 100644
--- a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java
@@ -298,6 +298,25 @@
         }
         return token;
     }
+	
+    @Override
+    public String getOAuthToken(String username) {
+        String token = null;
+        //瀵嗙爜闇�瑕佸鎴风鍔犲瘑鍚庝紶閫�
+        try {
+            AdminUserDetails userDetails = (AdminUserDetails) loadUserByUsername(username);
+            UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
+            SecurityContextHolder.getContext().setAuthentication(authentication);
+            //鏍规嵁鐢ㄦ埛id锛岀敤鎴峰鍚�
+            token = jwtTokenUtil.generateToken(userDetails.getUserId(), userDetails.getUsername());
+            redisService.set(RedisKey.PLATFORM_TOKEN_KEY.concat(username), token, LiveTimeMillisecond.s7200.time);
+//            updateLoginTimeByUsername(username);
+            //insertLoginLog(username);
+        } catch (AuthenticationException e) {
+            LOGGER.warn("鐧诲綍寮傚父:{}", e.getMessage());
+        }
+        return token;
+    }
 
     /**
      * 娣诲姞鐧诲綍璁板綍
@@ -568,10 +587,23 @@
 
     @Override
     public List<UmsAdmin> getDepartUser(Long departId) {
+        //TODO锛氭煡璇簩绾ч儴闂ㄥ強鎵�鏈夊瓙绾ч儴闂�
+        List<UmsDepart> umsDeparts = umsDepartManageMapper.selectChildrendIds(departId);
+        List<Long> parentIds = umsDeparts.stream().map(UmsDepart::getParentId).collect(Collectors.toList());
+        List<Long> ids = umsDeparts.stream().map(UmsDepart::getId).collect(Collectors.toList());
+        List<Long> departIds = new ArrayList<>();
+        for (Long id : ids) {
+            if(!parentIds.contains(id)){
+                departIds.add(id);
+            }
+        }
+
         QueryWrapper<UmsDepartManage> wrapper = new QueryWrapper<>();
-        wrapper.lambda().eq(UmsDepartManage::getDepartId, departId);
-        List<UmsDepartManage> list = umsDepartManageMapper.selectList(wrapper);
-        List<Long> userIds = list.stream().map(UmsDepartManage::getUserId).collect(Collectors.toList());
+        wrapper.lambda().in(UmsDepartManage::getDepartId, departIds);
+        List<UmsDepartManage> users = umsDepartManageMapper.selectList(wrapper);
+
+        List<Long> userIds = users.stream().map(UmsDepartManage::getUserId).collect(Collectors.toList());
+
         QueryWrapper<UmsAdmin> wrapperUser = new QueryWrapper<>();
         wrapperUser.in("id", userIds);
         List<UmsAdmin> adminList = baseMapper.selectList(wrapperUser);
@@ -596,5 +628,10 @@
         return str;
     }
 
+    @Override
+    public UmsAdmin getByOpenid(String openid) {
+        LambdaQueryWrapper<UmsAdmin> wrapper = new LambdaQueryWrapper<UmsAdmin>().eq(UmsAdmin::getOpenid, openid).last("limit 1");
 
+        return baseMapper.selectOne(wrapper);
+    }
 }

--
Gitblit v1.8.0