SysUserServiceImpl.java 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  1. package com.jiayue.ssi.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
  4. import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
  5. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  6. import com.jiayue.ssi.entity.SysRole;
  7. import com.jiayue.ssi.entity.SysUser;
  8. import com.jiayue.ssi.entity.SysUserRole;
  9. import com.jiayue.ssi.mapper.SysUserMapper;
  10. import com.jiayue.ssi.mapper.SysUserRoleMapper;
  11. import com.jiayue.ssi.service.SysUserService;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import org.springframework.transaction.annotation.Propagation;
  15. import org.springframework.transaction.annotation.Transactional;
  16. import java.util.ArrayList;
  17. import java.util.List;
  18. /**
  19. * 用户管理服务类
  20. * @author xsl
  21. * @date 2023/2/16
  22. */
  23. @Service
  24. public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService {
  25. @Autowired
  26. SysUserMapper sysUserMapper;
  27. @Autowired
  28. SysUserRoleMapper sysUserRoleMapper;
  29. /**
  30. * 获取所有用户
  31. * @return List<SysUser>
  32. */
  33. @Override
  34. public List<SysUser> queryAllUsers(){
  35. return this.list();
  36. }
  37. /**
  38. * 保存用户
  39. * @param sysUser
  40. * @return boolean
  41. */
  42. @Override
  43. @Transactional(propagation= Propagation.REQUIRED, rollbackFor = Exception.class)
  44. public boolean saveUser(SysUser sysUser){
  45. return this.save(sysUser);
  46. }
  47. /**
  48. * 更新用户
  49. * @param sysUser
  50. * @return boolean
  51. */
  52. @Override
  53. @Transactional(propagation= Propagation.REQUIRED, rollbackFor = Exception.class)
  54. public boolean updateUser(SysUser sysUser){
  55. return this.updateById(sysUser);
  56. }
  57. /**
  58. * 删除用户
  59. * @param id
  60. * @return
  61. */
  62. @Override
  63. @Transactional(propagation= Propagation.REQUIRED, rollbackFor = Exception.class)
  64. public boolean deleteUser(String id){
  65. return this.removeById(id);
  66. }
  67. /**
  68. * 根据账号查找
  69. * @param username
  70. * @return SysUser
  71. */
  72. @Override
  73. public SysUser queryUserName(String username){
  74. LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
  75. queryWrapper.eq(SysUser::getUsername,username);
  76. SysUser sysUser = sysUserMapper.selectOne(queryWrapper);
  77. return sysUser;
  78. }
  79. /**
  80. * 根据邮箱查找
  81. * @param mailbox
  82. * @return SysUser
  83. */
  84. @Override
  85. public SysUser queryMailBox(String mailbox){
  86. LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>();
  87. queryWrapper.eq(SysUser::getMailbox,mailbox);
  88. SysUser sysUser = sysUserMapper.selectOne(queryWrapper);
  89. return sysUser;
  90. }
  91. /**
  92. * 删除用户
  93. * @param id
  94. * @return
  95. */
  96. @Override
  97. @Transactional(propagation= Propagation.REQUIRED, rollbackFor = Exception.class)
  98. public boolean removeUserById(Integer id) {
  99. LambdaUpdateWrapper<SysUser> updateWrapper = new UpdateWrapper<SysUser>().lambda();
  100. updateWrapper.eq(SysUser::getId, id).set(SysUser::getDelFlag, 1);
  101. int count = sysUserMapper.update(new SysUser(), updateWrapper);
  102. if (count > 0) {
  103. return true;
  104. }
  105. return false;
  106. }
  107. /**
  108. * 初始/重置密码
  109. * @param id 主键id
  110. * @param initPassword 初始密码
  111. * @return
  112. */
  113. @Override
  114. @Transactional(propagation= Propagation.REQUIRED, rollbackFor = Exception.class)
  115. public boolean resetPassword(Integer id,String initPassword) {
  116. LambdaUpdateWrapper<SysUser> updateWrapper = new UpdateWrapper<SysUser>().lambda();
  117. updateWrapper.eq(SysUser::getId, id).set(SysUser::getLastUpdatePwdTime, null).set(SysUser::getPassword,initPassword);
  118. int count = sysUserMapper.update(new SysUser(), updateWrapper);
  119. if (count > 0) {
  120. return true;
  121. }
  122. return false;
  123. }
  124. /**
  125. * 解锁用户
  126. * @param id
  127. * @return
  128. */
  129. @Override
  130. @Transactional(propagation= Propagation.REQUIRED, rollbackFor = Exception.class)
  131. public boolean relockUserById(Integer id) {
  132. LambdaUpdateWrapper<SysUser> updateWrapper = new UpdateWrapper<SysUser>().lambda();
  133. updateWrapper.eq(SysUser::getId, id).set(SysUser::getStatus, 0);
  134. int count = sysUserMapper.update(new SysUser(), updateWrapper);
  135. if (count > 0) {
  136. return true;
  137. }
  138. return false;
  139. }
  140. /**
  141. * 用户授权角色
  142. *
  143. * @param userId 用户ID
  144. * @param roleId 角色ID
  145. */
  146. @Override
  147. @Transactional(propagation= Propagation.REQUIRED, rollbackFor = Exception.class)
  148. public int insertUserAuth(Long userId, Long roleId) {
  149. int returnVal = 0;
  150. sysUserRoleMapper.deleteUserRoleByUserId(userId);
  151. if (roleId!=null){
  152. // 新增用户与角色管理
  153. SysUserRole ur = new SysUserRole();
  154. ur.setUserId(userId);
  155. ur.setRoleId(roleId);
  156. returnVal = sysUserRoleMapper.insert(ur);
  157. }
  158. return returnVal;
  159. }
  160. }