|
@@ -1,18 +1,30 @@
|
|
|
package com.jzg.service.impl;
|
|
package com.jzg.service.impl;
|
|
|
|
|
|
|
|
|
|
+import cn.hutool.core.convert.Convert;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
|
|
+import com.jzg.commons.entity.enums.YesNoEnum;
|
|
|
|
|
+import com.jzg.commons.entity.vo.UpAndDownVo;
|
|
|
import com.jzg.entity.po.SysRole;
|
|
import com.jzg.entity.po.SysRole;
|
|
|
|
|
+import com.jzg.entity.po.SysSystem;
|
|
|
import com.jzg.entity.po.SysUser;
|
|
import com.jzg.entity.po.SysUser;
|
|
|
|
|
+import com.jzg.entity.po.SysUserRole;
|
|
|
import com.jzg.entity.vo.SysUserVo;
|
|
import com.jzg.entity.vo.SysUserVo;
|
|
|
import com.jzg.mapper.SysRoleMapper;
|
|
import com.jzg.mapper.SysRoleMapper;
|
|
|
import com.jzg.mapper.SysUserMapper;
|
|
import com.jzg.mapper.SysUserMapper;
|
|
|
|
|
+import com.jzg.mapper.SysUserRoleMapper;
|
|
|
import com.jzg.service.SysUserService;
|
|
import com.jzg.service.SysUserService;
|
|
|
import com.jzg.commons.util.StringUtils;
|
|
import com.jzg.commons.util.StringUtils;
|
|
|
|
|
+import com.jzg.util.PasswordUtils;
|
|
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
@@ -28,6 +40,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser>
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
private SysRoleMapper sysRoleMapper;
|
|
private SysRoleMapper sysRoleMapper;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private SysUserRoleMapper sysUserRoleMapper;
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
public Page<SysUser> queryPage(Page page, SysUserVo sysUserVo) {
|
|
public Page<SysUser> queryPage(Page page, SysUserVo sysUserVo) {
|
|
@@ -56,10 +70,106 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser>
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public List<SysUser> queryById(String id) {
|
|
|
|
|
|
|
+ public SysUser queryById(String id) {
|
|
|
SysUser user = this.baseMapper.selectById(id);
|
|
SysUser user = this.baseMapper.selectById(id);
|
|
|
|
|
|
|
|
- return List.of();
|
|
|
|
|
|
|
+ return user;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public boolean isExistsMobile(String mobile, String id) {
|
|
|
|
|
+ long count = this.count(new LambdaQueryWrapper<SysUser>()
|
|
|
|
|
+ .eq(SysUser::getMobile, mobile)
|
|
|
|
|
+ .ne(StringUtils.isNotNull(id),SysUser::getId, id)
|
|
|
|
|
+ );
|
|
|
|
|
+ return count > 0;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ @Transactional(rollbackFor = Exception.class)
|
|
|
|
|
+ public void userAdd(SysUserVo sysUserVo) {
|
|
|
|
|
+ SysUser user = new SysUser();
|
|
|
|
|
+ BeanUtils.copyProperties(sysUserVo, user);
|
|
|
|
|
+ user.setAccountStatus(1);
|
|
|
|
|
+ String salt = PasswordUtils.getSalt();
|
|
|
|
|
+ String encryptedPassword = PasswordUtils.encode(sysUserVo.getPassword(),salt);
|
|
|
|
|
+ user.setSalt(salt);
|
|
|
|
|
+ user.setPassword(encryptedPassword);
|
|
|
|
|
+ this.save(user);
|
|
|
|
|
+ // 角色信息关联
|
|
|
|
|
+ List<SysUserVo.SysRoleVo> roleList = sysUserVo.getRoleVoList();
|
|
|
|
|
+ List<SysUserRole> userRoles = new ArrayList<>();
|
|
|
|
|
+ roleList.forEach(role -> {
|
|
|
|
|
+ SysUserRole sysUserRole = new SysUserRole();
|
|
|
|
|
+ sysUserRole.setUserId(user.getId());
|
|
|
|
|
+ sysUserRole.setRoleId(role.getId());
|
|
|
|
|
+ userRoles.add(sysUserRole);
|
|
|
|
|
+ });
|
|
|
|
|
+ sysUserRoleMapper.insert(userRoles);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void userEdit(SysUserVo sysUserVo) {
|
|
|
|
|
+ SysUser user = new SysUser();
|
|
|
|
|
+ BeanUtils.copyProperties(sysUserVo, user);
|
|
|
|
|
+ SysUser sysUser = this.getById(user.getId());
|
|
|
|
|
+ String encryptedPassword = PasswordUtils.encode(sysUserVo.getPassword(),sysUser.getSalt());
|
|
|
|
|
+ user.setPassword(encryptedPassword);
|
|
|
|
|
+ this.updateById(user);
|
|
|
|
|
+
|
|
|
|
|
+ // 删除当前用户与角色的关联信息
|
|
|
|
|
+ LambdaUpdateWrapper<SysUserRole> updateWrapper = new LambdaUpdateWrapper<>();
|
|
|
|
|
+ updateWrapper.eq(SysUserRole::getUserId, user.getId());
|
|
|
|
|
+ sysUserRoleMapper.delete(updateWrapper);
|
|
|
|
|
+
|
|
|
|
|
+ // 角色信息关联
|
|
|
|
|
+ List<SysUserVo.SysRoleVo> roleList = sysUserVo.getRoleVoList();
|
|
|
|
|
+ List<SysUserRole> userRoles = new ArrayList<>();
|
|
|
|
|
+ roleList.forEach(role -> {
|
|
|
|
|
+ SysUserRole sysUserRole = new SysUserRole();
|
|
|
|
|
+ sysUserRole.setUserId(user.getId());
|
|
|
|
|
+ sysUserRole.setRoleId(role.getId());
|
|
|
|
|
+ userRoles.add(sysUserRole);
|
|
|
|
|
+ });
|
|
|
|
|
+ sysUserRoleMapper.insert(userRoles);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public boolean deleteWithValidByIds(List<String> ids) {
|
|
|
|
|
+ // 删除当前用户与角色的关联信息
|
|
|
|
|
+ LambdaUpdateWrapper<SysUserRole> updateWrapper = new LambdaUpdateWrapper<>();
|
|
|
|
|
+ updateWrapper.in(SysUserRole::getUserId, ids);
|
|
|
|
|
+ sysUserRoleMapper.delete(updateWrapper);
|
|
|
|
|
+ return baseMapper.deleteByIds(ids) > 0;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void unDeploy(String id) {
|
|
|
|
|
+ SysUser user = new SysUser();
|
|
|
|
|
+ user.setId(id);
|
|
|
|
|
+ user.setAccountStatus(YesNoEnum.NO.getCode());
|
|
|
|
|
+ baseMapper.updateById(user);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void reDeploy(String id) {
|
|
|
|
|
+ SysUser user = new SysUser();
|
|
|
|
|
+ user.setId(id);
|
|
|
|
|
+ user.setAccountStatus(YesNoEnum.YES.getCode());
|
|
|
|
|
+ baseMapper.updateById(user);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public void upAndDown(UpAndDownVo upAndDownVo) {
|
|
|
|
|
+ if(YesNoEnum.YES.equals(upAndDownVo.getOpType())) {
|
|
|
|
|
+ upAndDownVo.getIds().forEach(id->{
|
|
|
|
|
+ reDeploy(Convert.toStr(id));
|
|
|
|
|
+ });
|
|
|
|
|
+ } else {
|
|
|
|
|
+ upAndDownVo.getIds().forEach(id->{
|
|
|
|
|
+ unDeploy(Convert.toStr(id));
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|