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