UserServiceImpl.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. package com.imed.costaccount.service.impl;
  2. import cn.hutool.core.util.StrUtil;
  3. import cn.hutool.crypto.SecureUtil;
  4. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  6. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  7. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  8. import com.imed.costaccount.common.exception.CostException;
  9. import com.imed.costaccount.common.token.JwtUtil;
  10. import com.imed.costaccount.common.util.BeanUtil;
  11. import com.imed.costaccount.common.util.PageUtils;
  12. import com.imed.costaccount.mapper.UserMapper;
  13. import com.imed.costaccount.model.User;
  14. import com.imed.costaccount.model.dto.LoginDTO;
  15. import com.imed.costaccount.model.vo.LoginVO;
  16. import com.imed.costaccount.model.vo.UserVO;
  17. import com.imed.costaccount.service.UserService;
  18. import org.springframework.beans.BeanUtils;
  19. import org.springframework.beans.factory.annotation.Autowired;
  20. import org.springframework.stereotype.Service;
  21. import org.springframework.util.StringUtils;
  22. import javax.jws.soap.SOAPBinding;
  23. import java.util.List;
  24. import java.util.Objects;
  25. @Service("userService")
  26. public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
  27. @Autowired
  28. private JwtUtil jwtUtil;
  29. /**
  30. * 登录具体逻辑
  31. * @param loginDTO {@link LoginDTO} 登录相关参数
  32. * @return
  33. */
  34. @Override
  35. public LoginVO login(LoginDTO loginDTO) {
  36. String hospSign = loginDTO.getHospSign();
  37. // todo 通过医院标识获取医院id
  38. int hospId = 1;
  39. User one = this.getOne(
  40. new LambdaQueryWrapper<User>()
  41. .eq(User::getAccount, loginDTO.getAccount())
  42. .eq(User::getHospId, hospId)
  43. .last("limit 1")
  44. );
  45. if (Objects.isNull(one)) {
  46. throw new CostException("用户不存在");
  47. }
  48. if (!SecureUtil.md5(loginDTO.getPassword()).equals(one.getPassword())) {
  49. throw new CostException("密码错误");
  50. }
  51. String token = jwtUtil.createToken(one.getId());
  52. return LoginVO.builder().token(token).build();
  53. }
  54. /**
  55. * 查询查询用户的数据信息
  56. *
  57. * @param page
  58. * @param pageSize
  59. * @param hospId
  60. * @return
  61. */
  62. @Override
  63. public PageUtils queryList(Integer page, Integer pageSize, Integer hospId) {
  64. Page<User> userPage = new Page<>(page, pageSize);
  65. Page<User> pages = this.page(userPage, new QueryWrapper<User>().lambda().eq(User::getHospId, hospId));
  66. List<User> records = pages.getRecords();
  67. List<UserVO> userVOS = BeanUtil.convertList(records, UserVO.class);
  68. PageUtils pageUtils = new PageUtils(pages);
  69. pageUtils.setList(userVOS);
  70. return pageUtils;
  71. }
  72. /**
  73. * 根据用户的姓名查询用户
  74. *
  75. * @param name
  76. * @return
  77. */
  78. @Override
  79. public List<User> getByUserName(String name) {
  80. QueryWrapper<User> wrapper = new QueryWrapper<>();
  81. wrapper.eq(!StringUtils.isEmpty(name),"name",name);
  82. return null;
  83. }
  84. }