From afbc1b29cd2ce92484f1be1e533ee075dbe08ff2 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期一, 10 十月 2022 14:46:01 +0800
Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/sccg_server

---
 ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java |   71 +++++++++++++++++++++++++++++++----
 1 files changed, 63 insertions(+), 8 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 366c696..a88c754 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
@@ -10,22 +10,26 @@
 import com.ycl.bo.AdminUserDetails;
 import com.ycl.dto.UmsAdminParam;
 import com.ycl.dto.UpdateAdminPasswordParam;
-import com.ycl.entity.depart.SccgDepart;
+import com.ycl.entity.depart.UmsDepart;
 import com.ycl.entity.user.*;
 import com.ycl.exception.Asserts;
 import com.ycl.mapper.user.UmsAdminLoginLogMapper;
 import com.ycl.mapper.user.UmsAdminMapper;
 import com.ycl.mapper.user.UmsResourceMapper;
 import com.ycl.mapper.user.UmsRoleMapper;
-import com.ycl.service.depart.SccgDepartService;
+import com.ycl.service.depart.UmsDepartService;
+import com.ycl.service.user.UmsDepartManageService;
+import com.ycl.service.redis.RedisService;
 import com.ycl.service.user.UmsAdminCacheService;
 import com.ycl.service.user.UmsAdminRoleRelationService;
 import com.ycl.service.user.UmsAdminService;
 import com.ycl.utils.JwtTokenUtil;
 import com.ycl.utils.SpringUtil;
+import com.ycl.utils.common.LiveTimeMillisecond;
 import com.ycl.utils.common.MacUtils;
 import com.ycl.utils.common.PojoUtils;
 import com.ycl.utils.common.RandomUtils;
+import com.ycl.utils.redis.RedisKey;
 import com.ycl.vo.user.UserVO;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -70,7 +74,11 @@
     @Resource
     private UmsResourceMapper umsResourceMapper;
     @Resource
-    private SccgDepartService sccgDepartService;
+    private UmsDepartService departService;
+    @Resource
+    private UmsDepartManageService umsAdminDepartService;
+    @Resource
+    private RedisService redisService;
 
     @Override
     public UmsAdmin getAdminByUsername(String username) {
@@ -107,8 +115,23 @@
         String encodePassword = passwordEncoder.encode(umsAdmin.getPassword());
         umsAdmin.setPassword(encodePassword);
         baseMapper.insert(umsAdmin);
+
+        //娣诲姞瑙掕壊鎺堟潈
+        List<Long> ids = umsAdminParam.getRoleIds();
+        if (!ids.isEmpty()) {
+            List<UmsAdminRoleRelation> roleIds = new ArrayList<>();
+            for(Long id:ids){
+                UmsAdminRoleRelation urr = new UmsAdminRoleRelation();
+                urr.setAdminId(umsAdmin.getId());
+                urr.setRoleId(id);
+                roleIds.add(urr);
+             }
+            umsAdminRoleRelationService.saveBatch(roleIds);
+        }
+        //瀵圭敤鎴峰悕绯荤粺榛樿娣诲姞
         umsAdmin.setNickName(RandomUtils.getUserId(umsAdmin.getId()));
         baseMapper.updateById(umsAdmin);
+
         return umsAdmin;
     }
 
@@ -117,7 +140,7 @@
         String token = null;
         //瀵嗙爜闇�瑕佸鎴风鍔犲瘑鍚庝紶閫�
         try {
-            UserDetails userDetails = loadUserByUsername(username);
+            AdminUserDetails userDetails = (AdminUserDetails) loadUserByUsername(username);
             if (!passwordEncoder.matches(password, userDetails.getPassword())) {
                 Asserts.fail("瀵嗙爜涓嶆纭�");
             }
@@ -126,7 +149,9 @@
             }
             UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(userDetails, null, userDetails.getAuthorities());
             SecurityContextHolder.getContext().setAuthentication(authentication);
-            token = jwtTokenUtil.generateToken(userDetails);
+            //鏍规嵁鐢ㄦ埛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) {
@@ -181,6 +206,7 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public boolean update(Long id, UmsAdmin admin) {
         admin.setId(id);
         UmsAdmin rawAdmin = getById(id);
@@ -293,6 +319,12 @@
         int current = pageUserVO.getCurrent();
         Page<UmsAdmin> page = new Page<>(current, pageSize);
         LambdaQueryWrapper<UmsAdmin> queryWrapper = new LambdaQueryWrapper<>();
+
+        if (StringUtils.isNotBlank(pageUserVO.getKeyword())) {
+            queryWrapper.like(UmsAdmin::getUsername, pageUserVO.getKeyword())
+                    .or().like(UmsAdmin::getNickName, pageUserVO.getKeyword())
+                    .or().like(UmsAdmin::getMobile, pageUserVO.getKeyword());
+        }
         if (StringUtils.isNotBlank(pageUserVO.getJobTitle())) {
             queryWrapper.eq(UmsAdmin::getJobTitle, pageUserVO.getJobTitle());
         }
@@ -306,12 +338,35 @@
         List<UmsAdmin> records = page1.getRecords();
         if (CollUtil.isNotEmpty(records)) {
             records.forEach(e -> {
-                SccgDepart sccgDepart = sccgDepartService.getById(e.getDepartmentId());
-                if (null != sccgDepart) {
-                    e.setDepartName(sccgDepart.getDepartName());
+                UmsDepart umsDepart = departService.getById(e.getDepartmentId());
+                if (null != umsDepart) {
+                    e.setDepartName(umsDepart.getDepartName());
                 }
+                //鑾峰彇瑙掕壊鍒楄〃
+               List<UmsRole> roles = umsRoleMapper.getRoleList(e.getId());
+               e.setRoles(roles);
             });
         }
         return page1;
     }
+
+    @Override
+    public boolean deleteBatch(List<Long> ids) {
+        boolean success = removeByIds(ids);
+        getCacheService().delBatchAdmin(ids);
+        return success;
+    }
+
+    @Override
+    public boolean updateStatusBatch(List<Long> ids, Integer status) {
+        List<UmsAdmin> users = new ArrayList<>();
+        for (Long id : ids) {
+            UmsAdmin umsAdmin =  UmsAdmin.builder().
+                    id(id).status(status).build();
+            users.add(umsAdmin);
+        }
+        updateBatchById(users,users.size());
+        getCacheService().delBatchAdmin(ids);
+        return true;
+    }
 }

--
Gitblit v1.8.0