SysUserService.java 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. package com.iden.bms.service;
  2. import cn.hutool.core.bean.BeanUtil;
  3. import cn.hutool.core.collection.CollUtil;
  4. import cn.hutool.core.util.StrUtil;
  5. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  6. import com.baomidou.mybatisplus.core.metadata.IPage;
  7. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  8. import com.iden.common.entity.*;
  9. import com.iden.common.enums.UserRoleEnum;
  10. import com.iden.common.enums.ValidStatusEnum;
  11. import com.iden.common.exception.BDException;
  12. import com.iden.common.service.*;
  13. import com.iden.common.util.MyBeanUtils;
  14. import com.iden.common.vo.PageReqVO;
  15. import com.iden.common.vo.UserLogindConvertVO;
  16. import com.iden.common.vo.SysUserVO;
  17. import org.apache.commons.codec.digest.DigestUtils;
  18. import org.springframework.beans.BeanUtils;
  19. import org.springframework.stereotype.Service;
  20. import org.springframework.transaction.annotation.Transactional;
  21. import javax.annotation.Resource;
  22. import java.util.ArrayList;
  23. import java.util.Date;
  24. import java.util.List;
  25. /**
  26. *
  27. * @author makejava
  28. * @since 2021-05-21 00:08:38
  29. */
  30. @Service
  31. public class SysUserService {
  32. @Resource
  33. private IdenSysUserService idenSysUserService;
  34. public UserLogindConvertVO getLoginUser(String username,String password) {
  35. UserLogindConvertVO userLogindConvertVO = null;
  36. QueryWrapper<IdenSysUser> userQueryWrapper = new QueryWrapper<>();
  37. userQueryWrapper.lambda().eq(IdenSysUser::getUsername,username);
  38. IdenSysUser user = this.idenSysUserService.getOne(userQueryWrapper);
  39. if (user != null) {
  40. userLogindConvertVO = new UserLogindConvertVO();
  41. BeanUtil.copyProperties(user,userLogindConvertVO);
  42. String md5Password = DigestUtils.md5Hex(password);
  43. if (!md5Password.equalsIgnoreCase(user.getPassword())) {
  44. throw new BDException("用户名或密码错误");
  45. }
  46. if (ValidStatusEnum.INVALID.getValue().equals(user.getValidStatus())) {
  47. throw new BDException("用户已经停用");
  48. }
  49. }
  50. return userLogindConvertVO;
  51. }
  52. /**
  53. * 查询系统用户列表
  54. * @return
  55. */
  56. public IPage<SysUserVO> listSysUser(String nickname, String username, UserLogindConvertVO loginUser, PageReqVO pageReqVo) {
  57. IPage<IdenSysUser> page = new Page<>(pageReqVo.getCurrent(), pageReqVo.getPageSize());
  58. QueryWrapper<IdenSysUser> queryWrapper = new QueryWrapper<>();
  59. queryWrapper.lambda().like(StrUtil.isNotEmpty(nickname),IdenSysUser::getNickname,nickname)
  60. .eq(StrUtil.isNotEmpty(username),IdenSysUser::getUsername,username)
  61. .orderByAsc(IdenSysUser::getUsername);
  62. IPage<IdenSysUser> pageRes = this.idenSysUserService.page(page, queryWrapper);
  63. IPage<SysUserVO> results = new Page<>(pageRes.getCurrent(),pageRes.getSize(),pageRes.getTotal());
  64. if(CollUtil.isNotEmpty(pageRes.getRecords())){
  65. List<SysUserVO> list = new ArrayList<>();
  66. pageRes.getRecords().forEach(item -> {
  67. SysUserVO resVO = new SysUserVO();
  68. BeanUtils.copyProperties(item,resVO);
  69. resVO.setValidStatusName(ValidStatusEnum.getValueToName(resVO.getValidStatus()));
  70. list.add(resVO);
  71. });
  72. results.setRecords(list);
  73. }
  74. return results;
  75. }
  76. /**
  77. * 删除系统用户
  78. * @param id
  79. * @return
  80. */
  81. public boolean deleteById(Long id){
  82. return this.idenSysUserService.removeById(id);
  83. }
  84. /**
  85. * 详情
  86. * @param id
  87. * @return
  88. */
  89. public SysUserVO getSysUserById(Long id){
  90. IdenSysUser idenSysUser = this.idenSysUserService.getById(id);
  91. if (idenSysUser!=null){
  92. SysUserVO resVO = new SysUserVO();
  93. BeanUtil.copyProperties(idenSysUser,resVO);
  94. resVO.setValidStatusName(ValidStatusEnum.getValueToName(resVO.getValidStatus()));
  95. return resVO;
  96. }
  97. return null;
  98. }
  99. /**
  100. * 保存系统用户
  101. * @param vo
  102. */
  103. @Transactional(rollbackFor = Exception.class)
  104. public int createSysUser(SysUserVO vo, UserLogindConvertVO loginUser){
  105. QueryWrapper<IdenSysUser> queryWrapper = new QueryWrapper<>();
  106. queryWrapper.lambda().eq(IdenSysUser::getUsername,vo.getUsername());
  107. if(idenSysUserService.count(queryWrapper) > 0){
  108. return 1;
  109. }
  110. //保存系统用户
  111. IdenSysUser idenSysUser = new IdenSysUser();
  112. BeanUtil.copyProperties(vo,idenSysUser);
  113. idenSysUser.setCreateTime(new Date());
  114. idenSysUser.setRole(UserRoleEnum.HIGH.getValue());
  115. this.idenSysUserService.save(idenSysUser);
  116. return 0;
  117. }
  118. /**
  119. * 修改系统用户
  120. * @param vo
  121. */
  122. @Transactional(rollbackFor = Exception.class)
  123. public void updateSysUser(SysUserVO vo){
  124. //保存系统用户
  125. IdenSysUser idenSysUser = this.idenSysUserService.getById(vo.getId());
  126. MyBeanUtils.copyProperties(vo,idenSysUser);
  127. idenSysUser.setModifyTime(new Date());
  128. this.idenSysUserService.updateById(idenSysUser);
  129. }
  130. }