package com.imed.costaccount.service.impl; import cn.hutool.crypto.SecureUtil; import cn.hutool.crypto.digest.MD5; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.imed.costaccount.common.exception.CostException; import com.imed.costaccount.common.token.JwtUtil; import com.imed.costaccount.common.util.PageUtils; import com.imed.costaccount.mapper.UserMapper; import com.imed.costaccount.model.User; import com.imed.costaccount.model.dto.LoginDTO; import com.imed.costaccount.model.vo.LoginVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.Map; import java.util.Objects; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.imed.costaccount.service.UserService; @Service("userService") public class UserServiceImpl extends ServiceImpl implements UserService { @Autowired private JwtUtil jwtUtil; @Override public LoginVO login(LoginDTO loginDTO) { String hospSign = loginDTO.getHospSign(); // todo 通过医院标识获取医院id int hospId = 1; User one = this.getOne( new LambdaQueryWrapper() .eq(User::getAccount, loginDTO.getAccount()) .eq(User::getHospId, hospId) .last("limit 1") ); if (Objects.isNull(one)) { throw new CostException("用户不存在"); } if (!SecureUtil.md5(loginDTO.getPassword()).equals(one.getPassword())) { throw new CostException("密码错误"); } String token = jwtUtil.createToken(one.getId()); return LoginVO.builder().token(token).build(); } }