From fdb14cbb1d5fc6298ccb504d20379672169047f6 Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期六, 01 十月 2022 21:18:25 +0800
Subject: [PATCH] bug 处理

---
 ycl-common/src/main/java/com/ycl/service/user/impl/UmsAdminServiceImpl.java |   55 +++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 47 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..0774bac 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,10 @@
         String encodePassword = passwordEncoder.encode(umsAdmin.getPassword());
         umsAdmin.setPassword(encodePassword);
         baseMapper.insert(umsAdmin);
+        //瀵圭敤鎴峰悕绯荤粺榛樿娣诲姞
         umsAdmin.setNickName(RandomUtils.getUserId(umsAdmin.getId()));
         baseMapper.updateById(umsAdmin);
+
         return umsAdmin;
     }
 
@@ -117,7 +127,7 @@
         String token = null;
         //瀵嗙爜闇�瑕佸鎴风鍔犲瘑鍚庝紶閫�
         try {
-            UserDetails userDetails = loadUserByUsername(username);
+            AdminUserDetails userDetails = (AdminUserDetails) loadUserByUsername(username);
             if (!passwordEncoder.matches(password, userDetails.getPassword())) {
                 Asserts.fail("瀵嗙爜涓嶆纭�");
             }
@@ -126,7 +136,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 +193,7 @@
     }
 
     @Override
+    @Transactional(rollbackFor = Exception.class)
     public boolean update(Long id, UmsAdmin admin) {
         admin.setId(id);
         UmsAdmin rawAdmin = getById(id);
@@ -293,6 +306,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 +325,32 @@
         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());
                 }
             });
         }
         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