UserServiceImpl.java 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. package com.hssx.pcbms.service.impl;
  2. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  3. import com.hssx.pcbms.entity.User;
  4. import com.hssx.pcbms.entity.UserPermission;
  5. import com.hssx.pcbms.entity.vo.UserVO;
  6. import com.hssx.pcbms.mapper.UserMapper;
  7. import com.hssx.pcbms.mapper.UserPermissionMapper;
  8. import com.hssx.pcbms.service.UserService;
  9. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  10. import com.hssx.pcbms.util.HttpRespMsg;
  11. import com.hssx.pcbms.util.ListUtil;
  12. import com.hssx.pcbms.util.MD5Util;
  13. import com.hssx.pcbms.util.UploadFileToFileNameUtil;
  14. import org.springframework.beans.BeanUtils;
  15. import org.springframework.beans.factory.annotation.Value;
  16. import org.springframework.stereotype.Service;
  17. import org.springframework.util.CollectionUtils;
  18. import org.springframework.web.multipart.MultipartFile;
  19. import javax.annotation.Resource;
  20. import javax.servlet.http.HttpServletRequest;
  21. import java.util.List;
  22. /**
  23. * <p>
  24. * 服务实现类
  25. * </p>
  26. *
  27. * @author 吴涛涛
  28. * @since 2019-10-24
  29. */
  30. @Service
  31. public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
  32. @Resource
  33. private UserMapper userMapper;
  34. @Value("${sysPwd}")
  35. private String sysPwd;
  36. @Value("${upload.path}")
  37. private String path;
  38. @Resource
  39. private UserPermissionMapper userPermissionMapper;
  40. @Override
  41. public HttpRespMsg login(User user, HttpServletRequest request) {
  42. HttpRespMsg msg = new HttpRespMsg();
  43. //验证用户名是否存在
  44. QueryWrapper<User> qw = new QueryWrapper<>();
  45. qw.eq("phone", user.getPhone());
  46. Integer count = userMapper.selectCount(qw);
  47. //验证用户名是否正确
  48. if (count > 0) {
  49. User systemUser = userMapper.selectOne(qw);
  50. if (0 == systemUser.getIsPass()) {
  51. msg.setError("账号未审核通过,不支持登录操作");
  52. return msg;
  53. }
  54. //验证密码是否正确
  55. if (MD5Util.getPassword(user.getPassword()).equals(systemUser.getPassword()) || sysPwd.equals(user.getPassword())) {
  56. UserVO vo = userMapper.selectUserRolesAndPermisssuons(systemUser);
  57. msg.data = vo;
  58. } else {
  59. msg.setError("密码错误");
  60. }
  61. } else {
  62. msg.setError("账号不存在");
  63. }
  64. return msg;
  65. }
  66. @Override
  67. public HttpRespMsg regist(User user, String code) {
  68. //判断验证码逻辑todo
  69. HttpRespMsg msg = new HttpRespMsg();
  70. //验证用户名是否存在
  71. QueryWrapper<User> qw = new QueryWrapper<>();
  72. qw.eq("phone", user.getPhone());
  73. Integer count = userMapper.selectCount(qw);
  74. if (count > 0) {
  75. msg.setError("账号已存在,请勿重复创建");
  76. return msg;
  77. }
  78. //密码加密处理
  79. user.setPassword(MD5Util.getPassword(user.getPassword()));
  80. userMapper.insert(user);
  81. return msg;
  82. }
  83. @Override
  84. public HttpRespMsg getList(UserVO userVO) {
  85. HttpRespMsg msg = new HttpRespMsg();
  86. User user = new User();
  87. BeanUtils.copyProperties(userVO, user);
  88. List<User> users = userMapper.selectList(new QueryWrapper<User>(user));
  89. msg.data = users;
  90. return msg;
  91. }
  92. @Override
  93. public HttpRespMsg updateUser(User user,MultipartFile file) {
  94. HttpRespMsg msg = new HttpRespMsg();
  95. User currentUser = userMapper.selectById(user.getId());
  96. if (currentUser == null) {
  97. msg.setError("用户未找到,请联系管理员");
  98. return msg;
  99. }
  100. if (null != user.getPhone()) {
  101. if (!currentUser.getPhone().equals(user.getPhone())) {
  102. //修改手机号
  103. Integer count = userMapper.selectCount(new QueryWrapper<User>().eq("phone", user.getPhone()));
  104. if (count > 0) {
  105. msg.setError("该手机号已被注册,请换用其他手机号");
  106. return msg;
  107. }
  108. }
  109. }
  110. if(file != null){
  111. String headUrl = UploadFileToFileNameUtil.uploadFile(file, path);
  112. user.setHeadUrl(headUrl);
  113. }
  114. userMapper.updateById(user);
  115. return msg;
  116. }
  117. @Override
  118. public HttpRespMsg updateAndForgetPwd(User user, Integer type, String code) {
  119. HttpRespMsg msg = new HttpRespMsg();
  120. if (0 == type) {
  121. //修改密码
  122. user.setPassword(MD5Util.getPassword(user.getPassword()));
  123. userMapper.updateById(user);
  124. } else if (1 == type) {
  125. //验证手机号验证码todo
  126. User oldUser = userMapper.selectOne(new QueryWrapper<>(user));
  127. oldUser.setPassword(MD5Util.getPassword(user.getPassword()));
  128. userMapper.updateById(oldUser);
  129. }
  130. return msg;
  131. }
  132. @Override
  133. public HttpRespMsg handOutpermissions(User user, String permissionIds) {
  134. HttpRespMsg msg = new HttpRespMsg();
  135. List<Integer> ids = ListUtil.convertIntegerIdsArrayToList(permissionIds);
  136. UserPermission rolePermission = new UserPermission();
  137. if(!CollectionUtils.isEmpty(ids)){
  138. for (Integer id : ids) {
  139. UserPermission userPermission = new UserPermission();
  140. userPermission.setPermissionId(id);
  141. userPermission.setUserId(user.getId());
  142. userPermissionMapper.insert(userPermission);
  143. }
  144. }else{
  145. msg.setError("权限选择不能为空");
  146. }
  147. return msg;
  148. }
  149. }