From a0a5ef15626519a273cb274f580c632a296a9725 Mon Sep 17 00:00:00 2001
From: yijiusmile <253281376@qq.com>
Date: 星期三, 17 三月 2021 03:24:32 +0800
Subject: [PATCH] 清除缓存增加更新redis缓存

---
 febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/service/impl/UserServiceImpl.java |   43 +++++++++++++++++++++++++++++++++++++------
 1 files changed, 37 insertions(+), 6 deletions(-)

diff --git a/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/service/impl/UserServiceImpl.java b/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/service/impl/UserServiceImpl.java
index f3d9f42..85506d6 100644
--- a/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/service/impl/UserServiceImpl.java
+++ b/febs-server/febs-server-system/src/main/java/cc/mrbird/febs/server/system/service/impl/UserServiceImpl.java
@@ -15,12 +15,14 @@
 import cc.mrbird.febs.server.system.service.IUserRoleService;
 import cc.mrbird.febs.server.system.service.IUserService;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.logging.log4j.util.LambdaUtil;
 import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Propagation;
@@ -53,8 +55,9 @@
     @Override
     public IPage<SystemUser> findUserDetailList(SystemUser user, QueryRequest request) {
         Page<SystemUser> page = new Page<>(request.getPageNum(), request.getPageSize());
+        String currentUserId= FebsUtil.getUserId();
         SortUtil.handlePageSort(request, page, "userId", FebsConstant.ORDER_ASC, false);
-        return this.baseMapper.findUserDetailPage(page, user);
+        return this.baseMapper.findUserDetailPage(page, user, currentUserId);
     }
 
     @Override
@@ -76,7 +79,13 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void createUser(SystemUser user) {
+    public void createUser(SystemUser user) throws FebsException {
+        LambdaQueryWrapper<SystemUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(SystemUser::getCertificateNumb, user.getCertificateNumb());
+        lambdaQueryWrapper.eq(SystemUser::getUsername, user.getUsername());
+        if (this.count(lambdaQueryWrapper) > 0) {
+            throw new FebsException("此用户已存在");
+        }
         // 创建用户
         user.setCreateTime(new Date());
         user.setAvatar(SystemUser.DEFAULT_AVATAR);
@@ -84,15 +93,26 @@
         save(user);
         // 保存用户角色
         String[] roles = StringUtils.splitByWholeSeparatorPreserveAllTokens(user.getRoleId(), StringConstant.COMMA);
-        setUserRoles(user, roles);
-        // 保存用户数据权限关联关系
+        if(roles!=null){
+            setUserRoles(user, roles);
+        }
         String[] deptIds = StringUtils.splitByWholeSeparatorPreserveAllTokens(user.getDeptIds(), StringConstant.COMMA);
-        setUserDataPermissions(user, deptIds);
+        if(deptIds!=null){
+            // 保存用户数据权限关联关系
+            setUserDataPermissions(user, deptIds);
+        }
     }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public void updateUser(SystemUser user) {
+    public void updateUser(SystemUser user) throws FebsException {
+        LambdaQueryWrapper<SystemUser> lambdaQueryWrapper = new LambdaQueryWrapper<>();
+        lambdaQueryWrapper.eq(SystemUser::getCertificateNumb, user.getCertificateNumb());
+        lambdaQueryWrapper.eq(SystemUser::getUsername, user.getUsername());
+        lambdaQueryWrapper.ne(SystemUser::getUserId,user.getUserId());
+        if (this.count(lambdaQueryWrapper) > 0) {
+            throw new FebsException("此用户已存在");
+        }
         // 更新用户
         user.setPassword(null);
         user.setUsername(null);
@@ -188,4 +208,15 @@
         CurrentUser currentUser = FebsUtil.getCurrentUser();
         return currentUser != null && id.equals(currentUser.getUserId());
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void updateUserByCertificateNumb(String certificateNumb) {
+        LambdaUpdateWrapper<SystemUser> lambdaUpdateWrapper = new LambdaUpdateWrapper<>();
+        lambdaUpdateWrapper.eq(SystemUser::getCertificateNumb,certificateNumb);
+        lambdaUpdateWrapper.set(SystemUser::getStatus,0);
+        lambdaUpdateWrapper.set(SystemUser::getModifyTime,new Date());
+        this.update(lambdaUpdateWrapper);
+    }
+
 }

--
Gitblit v1.8.0