service
scoreService.java
package com.shrimpking.service;
import com.shrimpking.pojo.Score;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 成绩表 服务类
* </p>
*
* @author shrimpking
* @since 2023-11-04
*/
public interface ScoreService extends IService<Score> {
}
studentSercive.java
package com.shrimpking.service;
import com.shrimpking.pojo.Student;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 学生表 服务类
* </p>
*
* @author shrimpking
* @since 2023-11-04
*/
public interface StudentService extends IService<Student> {
}
UserService.java
package com.shrimpking.service;
import com.shrimpking.pojo.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.shrimpking.req.LoginReq;
import com.shrimpking.res.Result;
import com.shrimpking.vo.UserVO;
/**
* <p>
* 用户表 服务类
* </p>
*
* @author shrimpking
* @since 2023-11-04
*/
public interface UserService extends IService<User> {
Result<UserVO> login(LoginReq loginReq);
}
serviceImpl.
scoreServiceImpl.java
package com.shrimpking.service.impl;
import com.shrimpking.pojo.Score;
import com.shrimpking.mapper.ScoreMapper;
import com.shrimpking.service.ScoreService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 成绩表 服务实现类
* </p>
*
* @author shrimpking
* @since 2023-11-04
*/
@Service
public class ScoreServiceImpl extends ServiceImpl<ScoreMapper, Score> implements ScoreService {
}
studentServiceImpl.java
package com.shrimpking.service.impl;
import com.shrimpking.pojo.Student;
import com.shrimpking.mapper.StudentMapper;
import com.shrimpking.service.StudentService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 学生表 服务实现类
* </p>
*
* @author shrimpking
* @since 2023-11-04
*/
@Service
public class StudentServiceImpl extends ServiceImpl<StudentMapper, Student> implements StudentService {
}
UserSercvieImpl.java
package com.shrimpking.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.shrimpking.dto.UserDTO;
import com.shrimpking.pojo.User;
import com.shrimpking.mapper.UserMapper;
import com.shrimpking.req.LoginReq;
import com.shrimpking.res.Result;
import com.shrimpking.service.UserService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.shrimpking.util.JwtUtils;
import com.shrimpking.vo.UserVO;
import org.apache.ibatis.logging.Log;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
/**
* <p>
* 用户表 服务实现类
* </p>
*
* @author shrimpking
* @since 2023-11-04
*/
@Service
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
@Override
public Result<UserVO> login(LoginReq loginReq)
{
//查询用户
LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(User::getUserName,loginReq.getUserName())
.eq(User::getPwd,loginReq.getPwd());
User user = this.baseMapper.selectOne(queryWrapper);
//未查到,提示
if(user == null){
return Result.failure("用户名或密码不正确");
}
//生成token,返回
UserVO userVO = createToken(user);
return Result.success(userVO);
}
/**
* 私有方法,处理转换
* @param user
* @return
*/
private UserVO createToken(User user)
{
//新建转换对象
UserDTO userDTO = new UserDTO();
//复制属性
BeanUtils.copyProperties(user,userDTO);
//生成token
String token = JwtUtils.getToken(userDTO);
//返回token + 用户user信息
UserVO vo = new UserVO();
BeanUtils.copyProperties(userDTO,vo);
//设置返回的token
vo.setToken(token);
//返回
return vo;
}
}