UserServiceImpl.java 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package com.imed.costaccount.service.impl;
  2. import cn.hutool.crypto.SecureUtil;
  3. import cn.hutool.crypto.digest.MD5;
  4. import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
  5. import com.imed.costaccount.common.exception.CostException;
  6. import com.imed.costaccount.common.token.JwtUtil;
  7. import com.imed.costaccount.common.util.PageUtils;
  8. import com.imed.costaccount.mapper.UserMapper;
  9. import com.imed.costaccount.model.User;
  10. import com.imed.costaccount.model.dto.LoginDTO;
  11. import com.imed.costaccount.model.vo.LoginVO;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.stereotype.Service;
  14. import java.util.Map;
  15. import java.util.Objects;
  16. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  17. import com.baomidou.mybatisplus.core.metadata.IPage;
  18. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  19. import com.imed.costaccount.service.UserService;
  20. @Service("userService")
  21. public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
  22. @Autowired
  23. private JwtUtil jwtUtil;
  24. @Override
  25. public LoginVO login(LoginDTO loginDTO) {
  26. String hospSign = loginDTO.getHospSign();
  27. // todo 通过医院标识获取医院id
  28. int hospId = 1;
  29. User one = this.getOne(
  30. new LambdaQueryWrapper<User>()
  31. .eq(User::getAccount, loginDTO.getAccount())
  32. .eq(User::getHospId, hospId)
  33. .last("limit 1")
  34. );
  35. if (Objects.isNull(one)) {
  36. throw new CostException("用户不存在");
  37. }
  38. if (!SecureUtil.md5(loginDTO.getPassword()).equals(one.getPassword())) {
  39. throw new CostException("密码错误");
  40. }
  41. String token = jwtUtil.createToken(one.getId());
  42. return LoginVO.builder().token(token).build();
  43. }
  44. }