package com.yzdx.AiInterviewer.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.yzdx.AiInterviewer.comment.R; import com.yzdx.AiInterviewer.entity.Company; import com.yzdx.AiInterviewer.entity.User; import com.yzdx.AiInterviewer.mapper.CompanyMapper; import com.yzdx.AiInterviewer.mapper.UserMapper; import com.yzdx.AiInterviewer.service.UserService; import com.yzdx.AiInterviewer.utiles.JWT; import com.yzdx.AiInterviewer.utiles.MD5Util; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.Map; @Service public class UserServiceImpl extends ServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Autowired private CompanyMapper companyMapper; @Override public R adminLogin(String phone, String encoding, String password) { LambdaQueryWrapper queryWrapper=new LambdaQueryWrapper(); queryWrapper.eq(User::getPhone,phone); User user = userMapper.selectOne(queryWrapper); //若查询用户为空 if(user==null){ return R.error("账号不存在,请检查输入"); } if (user.getRole().equals("3") || user.getRole().equals("4")) { return R.error("输入的账号或密码错误"); } //查询的用户存在,检查密码是否正确 String salt=user.getSalt(); String findPassword=user.getPassword(); password= MD5Util.GetMD5Password(password,salt); if(!findPassword.equals(password)){ return R.error("输入的账号或密码错误"); } //密码和账户都输入正确,检查公司编码是否正确 LambdaQueryWrapper queryWrapper1=new LambdaQueryWrapper(); queryWrapper1.eq(Company::getEncoding,encoding); Company findCompany= companyMapper.selectOne(queryWrapper1); if(findCompany==null){ return R.error("输入的公司编码有误,请检查输入"); } //均正确,返回token密钥 String token=JWT.getJWToken(user.getId()); Map data=new HashMap<>(); data.put("token",token); return R.success(data); } }