|
@@ -2,17 +2,16 @@ package com.xy.service.impl;
|
|
|
|
|
|
import cn.dev33.satoken.stp.StpUtil;
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
-import cn.hutool.core.util.ObjectUtil;
|
|
|
-import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.crypto.SecureUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
-import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.xy.config.SaTokenAuthorizeConfig;
|
|
|
-import com.xy.dto.SysWorkUser.*;
|
|
|
-import com.xy.entity.SysDeptRelation;
|
|
|
+import com.xy.dto.SysWorkUser.AddDto;
|
|
|
+import com.xy.dto.SysWorkUser.AuthByInterface;
|
|
|
+import com.xy.dto.SysWorkUser.LoginDto;
|
|
|
+import com.xy.dto.SysWorkUser.UpdateDto;
|
|
|
import com.xy.entity.SysUserDept;
|
|
|
import com.xy.entity.SysUserRole;
|
|
|
import com.xy.entity.SysWorkUser;
|
|
@@ -22,8 +21,10 @@ import com.xy.service.SysDeptRelationService;
|
|
|
import com.xy.service.SysUserDeptService;
|
|
|
import com.xy.service.SysUserRoleService;
|
|
|
import com.xy.service.SysWorkUserService;
|
|
|
-import com.xy.utils.*;
|
|
|
-import com.xy.vo.SysWorkUserVo;
|
|
|
+import com.xy.utils.Beans;
|
|
|
+import com.xy.utils.Emptys;
|
|
|
+import com.xy.utils.R;
|
|
|
+import com.xy.utils.SaTokenUtils;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
@@ -31,13 +32,9 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
import java.time.LocalDateTime;
|
|
|
-import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
-import static com.xy.utils.PlusBeans.toIPage;
|
|
|
-import static com.xy.utils.PlusBeans.toPageBean;
|
|
|
-
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -54,7 +51,6 @@ public class SysWorkUserServiceImpl extends ServiceImpl<SysWorkUserMapper, SysWo
|
|
|
|
|
|
private final SysUserRoleService sysUserRoleService;
|
|
|
private final SysUserDeptService sysUserDeptService;
|
|
|
- private final SysDeptRelationService sysDeptRelationService;
|
|
|
|
|
|
private final HttpServletRequest request;
|
|
|
|
|
@@ -67,7 +63,6 @@ public class SysWorkUserServiceImpl extends ServiceImpl<SysWorkUserMapper, SysWo
|
|
|
//校验
|
|
|
long count = count(new LambdaQueryWrapper<SysWorkUser>()
|
|
|
.eq(SysWorkUser::getAccount, addDto.getAccount())
|
|
|
- .eq(SysWorkUser::getSysUserId, longId)
|
|
|
);
|
|
|
if (count > 0) {
|
|
|
return R.fail("账号已存在");
|
|
@@ -75,13 +70,12 @@ public class SysWorkUserServiceImpl extends ServiceImpl<SysWorkUserMapper, SysWo
|
|
|
//新增业务用户
|
|
|
SysWorkUser sysWorkUser = Beans.copy(SysWorkUser.class, addDto)
|
|
|
.create(Long.parseLong(SaTokenUtils.getId().toString()))
|
|
|
- .setSysUserId(longId)
|
|
|
.setPassword(SecureUtil.md5(addDto.getPassword()));
|
|
|
save(sysWorkUser);
|
|
|
List<Long> roleIds = addDto.getRoleIds();
|
|
|
if (CollUtil.isNotEmpty(roleIds)) {
|
|
|
List<SysUserRole> sysUserRoleList = roleIds.stream().map(roleId -> new SysUserRole()
|
|
|
- .setRoleId(roleId).setWorkUserId(sysWorkUser.getId()).setSysId(sysWorkUser.getSysId())).collect(Collectors.toList());
|
|
|
+ .setRoleId(roleId).setWorkUserId(sysWorkUser.getId()).setSysId(addDto.getSysId())).collect(Collectors.toList());
|
|
|
//保存用户角色绑定信息
|
|
|
sysUserRoleService.saveBatch(sysUserRoleList);
|
|
|
}
|
|
@@ -90,7 +84,7 @@ public class SysWorkUserServiceImpl extends ServiceImpl<SysWorkUserMapper, SysWo
|
|
|
if (CollUtil.isNotEmpty(deptIds)) {
|
|
|
//关联部门
|
|
|
List<SysUserDept> sysUserDeptList = deptIds.stream().map(deptId -> new SysUserDept()
|
|
|
- .setDeptId(deptId).setWorkUserId(sysWorkUser.getId()).setSysId(sysWorkUser.getSysId())).collect(Collectors.toList());
|
|
|
+ .setDeptId(deptId).setWorkUserId(sysWorkUser.getId()).setSysId(addDto.getSysId())).collect(Collectors.toList());
|
|
|
//保存用户部门 绑定信息
|
|
|
sysUserDeptService.saveBatch(sysUserDeptList);
|
|
|
}
|
|
@@ -110,12 +104,12 @@ public class SysWorkUserServiceImpl extends ServiceImpl<SysWorkUserMapper, SysWo
|
|
|
if (CollUtil.isNotEmpty(roleIds)) {
|
|
|
List<SysUserRole> surList = sysUserRoleService.list(Wrappers.<SysUserRole>lambdaQuery()
|
|
|
.eq(SysUserRole::getWorkUserId, sysWorkUser.getId())
|
|
|
- .eq(SysUserRole::getSysId, sysWorkUser.getSysId()));
|
|
|
+ .eq(SysUserRole::getSysId, updateDto.getSysId()));
|
|
|
|
|
|
if (CollUtil.isNotEmpty(surList)) {
|
|
|
removeBatchByIds(surList);
|
|
|
List<SysUserRole> sysUserRoleList = roleIds.stream().map(roleId -> new SysUserRole()
|
|
|
- .setRoleId(roleId).setWorkUserId(sysWorkUser.getId()).setSysId(sysWorkUser.getSysId())).collect(Collectors.toList());
|
|
|
+ .setRoleId(roleId).setWorkUserId(sysWorkUser.getId()).setSysId(updateDto.getSysId())).collect(Collectors.toList());
|
|
|
//保存用户角色绑定信息
|
|
|
sysUserRoleService.saveBatch(sysUserRoleList);
|
|
|
}
|
|
@@ -125,45 +119,17 @@ public class SysWorkUserServiceImpl extends ServiceImpl<SysWorkUserMapper, SysWo
|
|
|
if (CollUtil.isNotEmpty(deptIds)) {
|
|
|
List<SysUserDept> sysUserDeptList = sysUserDeptService.list(Wrappers.<SysUserDept>lambdaQuery()
|
|
|
.eq(SysUserDept::getWorkUserId, sysWorkUser.getId())
|
|
|
- .eq(SysUserDept::getSysId, sysWorkUser.getSysId()));
|
|
|
+ .eq(SysUserDept::getSysId, updateDto.getSysId()));
|
|
|
if (CollUtil.isNotEmpty(sysUserDeptList)) {
|
|
|
removeBatchByIds(sysUserDeptList);
|
|
|
List<SysUserDept> newSysUserDeptList = deptIds.stream().map(deptId -> new SysUserDept()
|
|
|
- .setDeptId(deptId).setWorkUserId(sysWorkUser.getId()).setSysId(sysWorkUser.getSysId())).collect(Collectors.toList());
|
|
|
+ .setDeptId(deptId).setWorkUserId(sysWorkUser.getId()).setSysId(updateDto.getSysId())).collect(Collectors.toList());
|
|
|
sysUserDeptService.saveBatch(newSysUserDeptList);
|
|
|
}
|
|
|
}
|
|
|
return R.ok(Boolean.TRUE);
|
|
|
}
|
|
|
|
|
|
- @Override
|
|
|
- public R<PageBean<SysWorkUserVo>> page(PageDto dto) {
|
|
|
- long longId = Long.parseLong(SaTokenUtils.getId().toString());
|
|
|
- Long deptId = dto.getDeptId();
|
|
|
- List<SysDeptRelation> deptRelations = sysDeptRelationService.list(Wrappers.<SysDeptRelation>lambdaQuery()
|
|
|
- .eq(SysDeptRelation::getAncestor, deptId));
|
|
|
- //子部门 含自身
|
|
|
- List<Long> subDeptIds = new ArrayList<>(16);
|
|
|
- if (CollUtil.isNotEmpty(deptRelations)) {
|
|
|
- subDeptIds = deptRelations.stream().map(SysDeptRelation::getDescendant).collect(Collectors.toList());
|
|
|
- }
|
|
|
- List<SysUserDept> sysUserDeptList = sysUserDeptService.list(Wrappers.<SysUserDept>lambdaQuery().in(SysUserDept::getDeptId, subDeptIds));
|
|
|
- List<Long> userIds = new ArrayList<>(16);
|
|
|
- if (CollUtil.isNotEmpty(sysUserDeptList)) {
|
|
|
- userIds = sysUserDeptList.stream().map(SysUserDept::getWorkUserId).collect(Collectors.toList());
|
|
|
- }
|
|
|
- LambdaQueryWrapper<SysWorkUser> lambdaQueryWrapper = Wrappers.<SysWorkUser>lambdaQuery()
|
|
|
- .eq(SysWorkUser::getSysId, dto.getSysId())
|
|
|
- .eq(StrUtil.isNotBlank(dto.getAccount()), SysWorkUser::getAccount, dto.getAccount())
|
|
|
- .eq(StrUtil.isNotBlank(dto.getEmail()), SysWorkUser::getEmail, dto.getEmail())
|
|
|
- .eq(ObjectUtil.isNotEmpty(dto.getStatus()), SysWorkUser::getStatus, dto.getStatus())
|
|
|
- .in(CollUtil.isNotEmpty(userIds), SysWorkUser::getId, userIds);
|
|
|
- //判断数据查询权限
|
|
|
- RedisCache.getDataAuth(longId, lambdaQueryWrapper, SysWorkUser::getSysUserId);
|
|
|
- IPage<SysWorkUser> page = page(toIPage(dto.getPage()), lambdaQueryWrapper);
|
|
|
- return R.ok(toPageBean(SysWorkUserVo.class, page));
|
|
|
- }
|
|
|
-
|
|
|
@Override
|
|
|
public R<String> login(LoginDto loginDto) {
|
|
|
long longId = Long.parseLong(SaTokenUtils.getId().toString());
|