From 8f6484e47085fde953e4e7c725da6fa56228322b Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期三, 12 一月 2022 21:22:26 +0800
Subject: [PATCH] [重磅更新] 重写项目整体结构 数据处理下沉至 Mapper 符合 MVC 规范 减少循环依赖

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java |   87 +++++++++++++++++--------------------------
 1 files changed, 35 insertions(+), 52 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
index 298e506..fe028bc 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
@@ -1,16 +1,16 @@
 package com.ruoyi.system.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.ruoyi.common.annotation.DataScope;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.constant.UserConstants;
+import com.ruoyi.common.core.domain.PageQuery;
 import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysUser;
-import com.ruoyi.common.core.mybatisplus.core.ServicePlusImpl;
 import com.ruoyi.common.core.page.TableDataInfo;
 import com.ruoyi.common.core.service.UserService;
 import com.ruoyi.common.exception.ServiceException;
-import com.ruoyi.common.utils.PageUtils;
 import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.spring.SpringUtils;
@@ -18,16 +18,16 @@
 import com.ruoyi.system.domain.SysUserPost;
 import com.ruoyi.system.domain.SysUserRole;
 import com.ruoyi.system.mapper.*;
-import com.ruoyi.system.service.ISysConfigService;
 import com.ruoyi.system.service.ISysUserService;
+import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * 鐢ㄦ埛 涓氬姟灞傚鐞�
@@ -35,28 +35,20 @@
  * @author Lion Li
  */
 @Slf4j
+@RequiredArgsConstructor
 @Service
-public class SysUserServiceImpl extends ServicePlusImpl<SysUserMapper, SysUser, SysUser> implements ISysUserService, UserService {
+public class SysUserServiceImpl implements ISysUserService, UserService {
 
-    @Autowired
-    private SysRoleMapper roleMapper;
-
-    @Autowired
-    private SysPostMapper postMapper;
-
-    @Autowired
-    private SysUserRoleMapper userRoleMapper;
-
-    @Autowired
-    private SysUserPostMapper userPostMapper;
-
-    @Autowired
-    private ISysConfigService configService;
+    private final SysUserMapper baseMapper;
+    private final SysRoleMapper roleMapper;
+    private final SysPostMapper postMapper;
+    private final SysUserRoleMapper userRoleMapper;
+    private final SysUserPostMapper userPostMapper;
 
     @Override
-    @DataScope(deptAlias = "d", userAlias = "u", isUser = true)
-    public TableDataInfo<SysUser> selectPageUserList(SysUser user) {
-        return PageUtils.buildDataInfo(baseMapper.selectPageUserList(PageUtils.buildPage(), user));
+    public TableDataInfo<SysUser> selectPageUserList(SysUser user, PageQuery pageQuery) {
+        Page<SysUser> page = baseMapper.selectPageUserList(pageQuery.build(), user);
+        return TableDataInfo.build(page);
     }
 
     /**
@@ -66,7 +58,6 @@
      * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅
      */
     @Override
-    @DataScope(deptAlias = "d", userAlias = "u", isUser = true)
     public List<SysUser> selectUserList(SysUser user) {
         return baseMapper.selectUserList(user);
     }
@@ -78,9 +69,9 @@
      * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅
      */
     @Override
-    @DataScope(deptAlias = "d", userAlias = "u", isUser = true)
-    public TableDataInfo<SysUser> selectAllocatedList(SysUser user) {
-        return PageUtils.buildDataInfo(baseMapper.selectAllocatedList(PageUtils.buildPage(), user));
+    public TableDataInfo<SysUser> selectAllocatedList(SysUser user, PageQuery pageQuery) {
+        Page<SysUser> page = baseMapper.selectAllocatedList(pageQuery.build(), user);
+        return TableDataInfo.build(page);
     }
 
     /**
@@ -90,9 +81,9 @@
      * @return 鐢ㄦ埛淇℃伅闆嗗悎淇℃伅
      */
     @Override
-    @DataScope(deptAlias = "d", userAlias = "u", isUser = true)
-    public TableDataInfo<SysUser> selectUnallocatedList(SysUser user) {
-        return PageUtils.buildDataInfo(baseMapper.selectUnallocatedList(PageUtils.buildPage(), user));
+    public TableDataInfo<SysUser> selectUnallocatedList(SysUser user, PageQuery pageQuery) {
+        Page<SysUser> page = baseMapper.selectUnallocatedList(pageQuery.build(), user);
+        return TableDataInfo.build(page);
     }
 
     /**
@@ -126,14 +117,10 @@
     @Override
     public String selectUserRoleGroup(String userName) {
         List<SysRole> list = roleMapper.selectRolesByUserName(userName);
-        StringBuilder idsStr = new StringBuilder();
-        for (SysRole role : list) {
-            idsStr.append(role.getRoleName()).append(",");
+        if (CollUtil.isEmpty(list)) {
+            return StringUtils.EMPTY;
         }
-        if (StringUtils.isNotEmpty(idsStr.toString())) {
-            return idsStr.substring(0, idsStr.length() - 1);
-        }
-        return idsStr.toString();
+        return list.stream().map(SysRole::getRoleName).collect(Collectors.joining(","));
     }
 
     /**
@@ -145,14 +132,10 @@
     @Override
     public String selectUserPostGroup(String userName) {
         List<SysPost> list = postMapper.selectPostsByUserName(userName);
-        StringBuilder idsStr = new StringBuilder();
-        for (SysPost post : list) {
-            idsStr.append(post.getPostName()).append(",");
+        if (CollUtil.isEmpty(list)) {
+            return StringUtils.EMPTY;
         }
-        if (StringUtils.isNotEmpty(idsStr.toString())) {
-            return idsStr.substring(0, idsStr.length() - 1);
-        }
-        return idsStr.toString();
+        return list.stream().map(SysPost::getPostName).collect(Collectors.joining(","));
     }
 
     /**
@@ -163,7 +146,7 @@
      */
     @Override
     public String checkUserNameUnique(String userName) {
-        long count = count(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, userName));
+        long count = baseMapper.selectCount(new LambdaQueryWrapper<SysUser>().eq(SysUser::getUserName, userName));
         if (count > 0) {
             return UserConstants.NOT_UNIQUE;
         }
@@ -179,10 +162,10 @@
     @Override
     public String checkPhoneUnique(SysUser user) {
         Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
-        long count = count(new LambdaQueryWrapper<SysUser>()
+        boolean count = baseMapper.exists(new LambdaQueryWrapper<SysUser>()
                 .eq(SysUser::getPhonenumber, user.getPhonenumber())
                 .ne(SysUser::getUserId, userId));
-        if (count > 0) {
+        if (count) {
             return UserConstants.NOT_UNIQUE;
         }
         return UserConstants.UNIQUE;
@@ -197,10 +180,10 @@
     @Override
     public String checkEmailUnique(SysUser user) {
         Long userId = StringUtils.isNull(user.getUserId()) ? -1L : user.getUserId();
-        long count = count(new LambdaQueryWrapper<SysUser>()
+        boolean count = baseMapper.exists(new LambdaQueryWrapper<SysUser>()
                 .eq(SysUser::getEmail, user.getEmail())
                 .ne(SysUser::getUserId, userId));
-        if (count > 0) {
+        if (count) {
             return UserConstants.NOT_UNIQUE;
         }
         return UserConstants.UNIQUE;
@@ -379,7 +362,7 @@
                 list.add(ur);
             }
             if (list.size() > 0) {
-                userRoleMapper.insertAll(list);
+                userRoleMapper.insertBatch(list);
             }
         }
     }
@@ -401,7 +384,7 @@
                 list.add(up);
             }
             if (list.size() > 0) {
-                userPostMapper.insertAll(list);
+                userPostMapper.insertBatch(list);
             }
         }
     }
@@ -423,7 +406,7 @@
                 list.add(ur);
             }
             if (list.size() > 0) {
-                userRoleMapper.insertAll(list);
+                userRoleMapper.insertBatch(list);
             }
         }
     }

--
Gitblit v1.9.3