UserService.java 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package com.qmth.ops.biz.service;
  2. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  3. import com.baomidou.mybatisplus.core.metadata.IPage;
  4. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  5. import com.qmth.ops.biz.dao.UserDao;
  6. import com.qmth.ops.biz.domain.User;
  7. import com.qmth.ops.biz.query.UserQuery;
  8. import org.apache.commons.lang3.RandomStringUtils;
  9. import org.springframework.stereotype.Service;
  10. import org.springframework.transaction.annotation.Transactional;
  11. import javax.annotation.Resource;
  12. import java.util.List;
  13. @Service
  14. public class UserService extends ServiceImpl<UserDao, User> {
  15. @Resource
  16. private UserDao userDao;
  17. public User findByLoginName(String loginName) {
  18. return userDao.selectOne(new LambdaQueryWrapper<User>().eq(User::getLoginName, loginName));
  19. }
  20. public User findByExportSecret(String exportSecret) {
  21. return userDao.selectOne(new LambdaQueryWrapper<User>().eq(User::getExportSecret, exportSecret));
  22. }
  23. @Transactional
  24. public User insert(User user) {
  25. user.setExportSecret(RandomStringUtils.random(16, true, true));
  26. user.setCreateTime(System.currentTimeMillis());
  27. user.setUpdateTime(user.getCreateTime());
  28. user.setPassword(user.buildPassword(user.getPassword()));
  29. userDao.insert(user);
  30. return user;
  31. }
  32. @Transactional
  33. public User update(User user) {
  34. User previous = userDao.selectById(user.getId());
  35. if (user.getLoginName() != null) {
  36. previous.setLoginName(user.getLoginName());
  37. }
  38. if (user.getName() != null) {
  39. previous.setName(user.getName());
  40. }
  41. if (user.getRole() != null && user.getRole().length > 0) {
  42. previous.setRole(user.getRole());
  43. }
  44. if (user.getPassword() != null) {
  45. previous.buildPassword(user.getPassword());
  46. }
  47. previous.setUpdateTime(System.currentTimeMillis());
  48. userDao.updateById(previous);
  49. return previous;
  50. }
  51. @Transactional
  52. public User changePassword(User user) {
  53. User previous = userDao.selectById(user.getId());
  54. previous.buildPassword(user.getPassword());
  55. previous.setUpdateTime(System.currentTimeMillis());
  56. userDao.updateById(previous);
  57. return previous;
  58. }
  59. public IPage<User> query(UserQuery query) {
  60. return userDao.selectPage(query, query.build());
  61. }
  62. public List<User> list(UserQuery query) {
  63. return userDao.selectList(query.build());
  64. }
  65. }