77 lines
2.3 KiB
Java
77 lines
2.3 KiB
Java
|
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<UserMapper, User> implements UserService {
|
|||
|
|
|||
|
@Autowired
|
|||
|
private UserMapper userMapper;
|
|||
|
|
|||
|
@Autowired
|
|||
|
private CompanyMapper companyMapper;
|
|||
|
|
|||
|
@Override
|
|||
|
public R adminLogin(String phone, String encoding, String password) {
|
|||
|
|
|||
|
LambdaQueryWrapper<User> 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<Company> 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<String,Object> data=new HashMap<>();
|
|||
|
|
|||
|
data.put("token",token);
|
|||
|
|
|||
|
return R.success(data);
|
|||
|
}
|
|||
|
}
|