渲染题库列表,增加题库类型功能

This commit is contained in:
Unique-Jerry 2023-10-20 13:15:23 +08:00
parent b024e1a128
commit 7927a35ba9
12 changed files with 301 additions and 12 deletions

View File

@ -0,0 +1,59 @@
package com.yzdx.AiInterviewer.controller;
import com.yzdx.AiInterviewer.comment.R;
import com.yzdx.AiInterviewer.entity.QuestionBank;
import com.yzdx.AiInterviewer.service.QuestionBankService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@RestController
@RequestMapping("/question")
public class QuestionController {
@Autowired
private QuestionBankService questionBankService;
/**
* 获取题库列表
* @param encoding 公司编码
* @return 返回的该公司下的公司题库
* */
@GetMapping("/get_typeList")
public R getTypeListByEncoding(@RequestParam Integer encoding){
List<QuestionBank> typeList = questionBankService.getTypeList(encoding);
return R.success(typeList);
}
/**
* @param addInfo typeName,encoding,userId
* @return R
* */
@PostMapping("/add_typeName")
public R addTypeName(@RequestBody Map<String ,Object> addInfo){
if(addInfo.size()==0){
return R.error("添加失败,请检查输入");
}
String typeName=(String)addInfo.get("typeName");
Integer encoding= Integer.parseInt((String)addInfo.get("encoding"));
Integer userId=(Integer)addInfo.get("userId");
Integer row=questionBankService.addTypeName(typeName,encoding,userId);
if(row==0){
return R.error("添加失败,请联系管理员");
}
if (row==-2){
return R.error("该题库类型已存在!");
}
return R.success("添加成功");
}
}

View File

@ -6,10 +6,8 @@ import com.yzdx.AiInterviewer.service.UserService;
import com.yzdx.AiInterviewer.utiles.JWT;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpRequest;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
@ -32,18 +30,31 @@ public class UserController {
return userService.adminLogin(phone, encoding, password);
}
@GetMapping("/getuserinfo")
public R getUserInfo(HttpServletRequest request) {
@GetMapping("/get_userInfo")
public R getUserInfo( @ApiParam("token值") String token) {
String Token = request.getHeader("Authorization");
Integer userId = JWT.getTokenId(Token);
if(token==null){
return R.error(401,"非法访问,请重新登陆!");
}
Integer userId = JWT.getTokenId(token);
User findUser = userService.getUserById(userId);
if (findUser == null) {
return R.error(401, "非法访问,请重新登陆");
}
return R.success(findUser);
User user=new User();
user.setId(findUser.getId());
user.setUsername(findUser.getUsername());
user.setRole(findUser.getRole());
user.setPhone(findUser.getPhone());
user.setSex(findUser.getSex());
user.setAge(findUser.getAge());
user.setAvatar(findUser.getAvatar());
user.setEmail(findUser.getEmail());
user.setCreateTime(findUser.getCreateTime());
user.setUpdateTime(findUser.getUpdateTime());
return R.success(user);
}

View File

@ -3,13 +3,12 @@ package com.yzdx.AiInterviewer.entity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class BaseEntity {
@ApiModelProperty("电子邮箱")
private Date createTime;
private String createTime;
@ApiModelProperty("电子邮箱")
private Date updateTime;
private String updateTime;
@ApiModelProperty("电子邮箱")
private Integer createUser;
@ApiModelProperty("电子邮箱")

View File

@ -0,0 +1,48 @@
package com.yzdx.AiInterviewer.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
public class Employee {
@ApiModelProperty("用户id")
@TableId(type = IdType.AUTO)
private Integer id;
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("手机号码")
private String phone;
@ApiModelProperty("电子邮箱")
private String email;
@ApiModelProperty("住址")
private String address;
@ApiModelProperty("入职日期")
private Date onboardDate;
@ApiModelProperty("部门id")
private Integer departmentId;
@ApiModelProperty("公司编码")
private Integer companyEncoding;
@ApiModelProperty("职位")
private String position;
@ApiModelProperty("上级id")
private Integer superior;
@ApiModelProperty("工资")
private Double salary;
@ApiModelProperty("绩效评分")
private Double performanceScore;
@ApiModelProperty("教育背景")
private String educationalBackground;
@ApiModelProperty("工作经历")
private String workExperience;
@ApiModelProperty("性别")
private String sex;
@ApiModelProperty("年龄")
private String age;
@ApiModelProperty("员工证件照")
private String avatar;
}

View File

@ -0,0 +1,4 @@
package com.yzdx.AiInterviewer.entity;
public class Question {
}

View File

@ -0,0 +1,21 @@
package com.yzdx.AiInterviewer.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ApiModel("题库实体类")
@Data
@TableName("question_bank")
public class QuestionBank extends BaseEntity{
@ApiModelProperty("题库id")
@TableId(type = IdType.AUTO)
private Integer id;
@ApiModelProperty("题库名称")
private String name;
@ApiModelProperty("公司编码")
private Integer companyEncoding;
}

View File

@ -0,0 +1,9 @@
package com.yzdx.AiInterviewer.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yzdx.AiInterviewer.entity.Employee;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface EmployeeMapper extends BaseMapper<Employee> {
}

View File

@ -0,0 +1,9 @@
package com.yzdx.AiInterviewer.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yzdx.AiInterviewer.entity.QuestionBank;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface QuestionBankMapper extends BaseMapper<QuestionBank> {
}

View File

@ -0,0 +1,26 @@
package com.yzdx.AiInterviewer.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yzdx.AiInterviewer.entity.QuestionBank;
import java.util.List;
public interface QuestionBankService extends IService<QuestionBank> {
/**
* @param encoding 公司编码
* @return List<QuestionBank> 题库列表
* */
List<QuestionBank> getTypeList(Integer encoding);
/**
* @param typeName,encoding,userId
* @return 返回影响行数
* */
Integer addTypeName(String typeName,Integer encoding,Integer userId);
/**
* @param typeNameId,encoding,userId
* @return 返回影响行数
* */
Integer deleteTypeName(Integer typeNameId,Integer encoding,Integer userId);
}

View File

@ -0,0 +1,68 @@
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.entity.QuestionBank;
import com.yzdx.AiInterviewer.mapper.QuestionBankMapper;
import com.yzdx.AiInterviewer.service.QuestionBankService;
import com.yzdx.AiInterviewer.utiles.TimeUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class QuestionBankServiceImpl extends ServiceImpl<QuestionBankMapper, QuestionBank> implements QuestionBankService {
@Autowired
private QuestionBankMapper questionBankMapper;
@Override
public List<QuestionBank> getTypeList(Integer encoding) {
//若公司编码为空则返回空
if(encoding==null){
return null;
}
LambdaQueryWrapper<QuestionBank> queryWrapper =new LambdaQueryWrapper<>();
queryWrapper.eq(QuestionBank::getCompanyEncoding,encoding);
List<QuestionBank> questionBanks= questionBankMapper.selectList(queryWrapper);
return questionBanks;
}
@Override
public Integer addTypeName(String typeName, Integer encoding, Integer userId) {
//判断题库名是否存在
LambdaQueryWrapper<QuestionBank> queryWrapper =new LambdaQueryWrapper<>();
queryWrapper.eq(QuestionBank::getName,typeName);
QuestionBank findQuestionBank=questionBankMapper.selectOne(queryWrapper);
if(findQuestionBank!=null){
//存在返回-2
return -2;
}
QuestionBank insert=new QuestionBank();
insert.setName(typeName);
insert.setCompanyEncoding(encoding);
insert.setCreateUser(userId);
insert.setUpdateUser(userId);
insert.setCreateTime(TimeUtil.getTime());
insert.setUpdateTime(TimeUtil.getTime());
return questionBankMapper.insert(insert);
}
@Override
public Integer deleteTypeName(Integer typeNameId, Integer encoding, Integer userId) {
LambdaQueryWrapper<QuestionBank> queryWrapper=new LambdaQueryWrapper<>();
queryWrapper.eq(QuestionBank::getId,typeNameId).eq(QuestionBank::getCompanyEncoding,encoding);
Integer row= questionBankMapper.deleteById(typeNameId);
return row;
}
}

View File

@ -4,8 +4,10 @@ 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.Employee;
import com.yzdx.AiInterviewer.entity.User;
import com.yzdx.AiInterviewer.mapper.CompanyMapper;
import com.yzdx.AiInterviewer.mapper.EmployeeMapper;
import com.yzdx.AiInterviewer.mapper.UserMapper;
import com.yzdx.AiInterviewer.service.UserService;
import com.yzdx.AiInterviewer.utiles.JWT;
@ -25,9 +27,23 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
@Autowired
private CompanyMapper companyMapper;
@Autowired
private EmployeeMapper employeeMapper;
@Override
public R adminLogin(String phone, String encoding, String password) {
//判断员工是否在该公司
LambdaQueryWrapper<Employee> queryWrapper2=new LambdaQueryWrapper<>();
queryWrapper2.eq(Employee::getPhone,phone).eq(Employee::getCompanyEncoding,encoding);
Employee findEmployee=employeeMapper.selectOne(queryWrapper2);
if(findEmployee==null){
return R.error("输入的账号或密码错误");
}
LambdaQueryWrapper<User> queryWrapper=new LambdaQueryWrapper();
queryWrapper.eq(User::getPhone,phone);
@ -70,6 +86,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
Map<String,Object> data=new HashMap<>();
data.put("token",token);
data.put("encoding",encoding);
return R.success(data);
}

View File

@ -0,0 +1,18 @@
package com.yzdx.AiInterviewer.utiles;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimeUtil {
public static String getTime(){
Date now =new Date();
SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy-MM-dd");
String time = simpleDateFormat.format(now);
return time;
}
}