package com.imnu.springboot.controller;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.imnu.springboot.common.Constants;
import com.imnu.springboot.common.Result;
import com.imnu.springboot.config.AuthAccess;
import com.imnu.springboot.controller.dto.UserDto;
import com.imnu.springboot.controller.dto.UserPasswordDto;
import com.imnu.springboot.entity.Department;
import com.imnu.springboot.entity.Requirement;
import com.imnu.springboot.entity.User;
import com.imnu.springboot.entity.Validation;
import com.imnu.springboot.exception.ServiceException;
import com.imnu.springboot.mapper.DepartmentMapper;
import com.imnu.springboot.service.IRequirementService;
import com.imnu.springboot.service.impl.UserServiceImpl;
import com.imnu.springboot.service.impl.ValidationServiceImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.InputStream;
import java.net.URLEncoder;
import java.util.Date;
import java.util.List;
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserServiceImpl userService;
@Autowired
private ValidationServiceImpl validationService;
@Autowired
private IRequirementService requirementService;
//从配置信息中拿去发送邮件人的信息
@Value("${spring.mail.username}")
private String from;
//映入发送邮件的类
@Autowired
JavaMailSender javaMailSender;
//账号密码登录
@PostMapping("/loginAccount")
public Result loginAccount(@RequestBody UserDto userDto){
String username = userDto.getUsername();
String password = userDto.getPassword();
if (StrUtil.isBlank(username) || StrUtil.isBlank(password)){ //检验用户名是否为空(用户名或密码为空)
return Result.error(Constants.CODE_400,"参数错误");
}
UserDto dto = userService.login(userDto);
return Result.success(dto);
}
//邮箱验证码登录
@PostMapping("/loginEmail")
public Result loginEmail(@RequestBody UserDto userDto){
String email = userDto.getEmail();
String code = userDto.getCode();
if (StrUtil.isBlank(email) || StrUtil.isBlank(code)){ //检验用户名是否为空(用户名或密码为空)
return Result.error(Constants.CODE_400,"参数错误");
}
UserDto dto = userService.loginEmail(userDto);
return Result.success(dto);
}
//邮箱获取验证码,获取登录和重密码的验证码
@AuthAccess
@GetMapping("/email/{email}/{type}")
public Result sendEmailCode(@PathVariable String email,@PathVariable Integer type){
if (StrUtil.isBlank(email)){
throw new ServiceException(Constants.CODE_400,"参数错误");
}
if (type==null){
throw new ServiceException(Constants.CODE_400,"参数错误");
}
userService.sendEmailCode(email,type);
return Result.success();
}
//重置密码
@AuthAccess
@PutMapping("/reset")
public Result reset(@RequestBody UserPasswordDto userPasswordDto){
if (StrUtil.isBlank(userPasswordDto.getEmail()) || StrUtil.isBlank(userPasswordDto.getCode())){
throw new ServiceException(Constants.CODE_500,"参数异常");
}
QueryWrapper<Validation> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("email",userPasswordDto.getEmail());
queryWrapper.eq("code",userPasswordDto.getCode());
queryWrapper.ge("time",new Date());
Validation one = validationService.getOne(queryWrapper);
if (one ==null){
throw new ServiceException(Constants.CODE_500,"验证码过期,请重新获取验证码");
}
//如果验证通过的话
QueryWrapper<User> queryWrapper1 = new QueryWrapper<>();
queryWrapper1.eq("email",userPasswordDto.getEmail());
User user = userService.getOne(queryWrapper1);
//重置密码
user.setPassword("123");
userService.updateById(user);
return Result.success();
}
//修改密码
@PostMapping("/password")
public Result password(@RequestBody UserPasswordDto userPasswordDto){
userPasswordDto.setPassword(userPasswordDto.getPassword());
userPasswordDto.setNewPassword(userPasswordDto.getNewPassword());
userService.updatePassword(userPasswordDto);
return Result.success();
}
//注册
@PostMapping("/register")
public Result register(@RequestBody UserDto userDto){
String username = userDto.getUsername();
String password = userDto.getPassword();
if (StrUtil.isBlank(username) || StrUtil.isBlank(password)){ //检验前端用户输入的内容是否为空
return Result.error(Constants.CODE_400,"参数错误");
}
User register = userService.register(userDto);
return Result.success(register);
}
//查询所有数据
@GetMapping
public Result findAll(){
return Result.success(userService.list()) ;
}
//根据用户姓名查询用户内容
@GetMapping("/username/{username}")
public Result selectUsername(@PathVariable String username){
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("username",username);
User one = userService.getOne(queryWrapper);
return Result.success(one);
}
//新增和修改
@PostMapping
public Result save(@RequestBody User user){
//新增或者更新
if (user.getId()==null){
user.setPassword("123456");
}
return Result.success(userService.saveOrUpdate(user));
}
//根据部门id去查询岗位信息
@PostMapping("/selectPost")
public Result selectPost(@RequestBody User user){
Integer depId = user.getDepId();
QueryWrapper<Requirement> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("dep_id",depId);
queryWrapper.eq("u_id",0);
List<Requirement> list = requirementService.list(queryWrapper);
return Result.success(list);
}
//为用户增加岗位信息并且修改岗位表中的信息
@PostMapping("/userRequirement")
public Result saveUserRequirement(@RequestBody User user){
userService.saveOrUpdate(user);
//获取用户id
Integer id = user.getId();
//获取岗位id
Integer postId = user.getPostId();
//根据岗位id去查询岗位信息
QueryWrapper<Requirement> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("id",postId);
Requirement one = requirementService.getOne(queryWrapper);
//修改岗位表中用户id
one.setUId(id);
one.setState(true);
requirementService.updateById(one);
return Result.success();
}
@PostMapping("/noticeByEmail")
public Result NoticeByEmail(@RequestBody User user){
//获取用户的用户名,密码和邮箱
String email = user.getEmail();
String password = user.getPassword();
String username = user.getUsername();
String nickname = user.getNickname();
//通过邮件通知
Simp
没有合适的资源?快使用搜索试试~ 我知道了~
基于SpringBoot+vue的企业员工入职管理系统源码+数据库(毕业设计).zip
共205个文件
java:119个
vue:39个
xml:22个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 198 浏览量
2023-02-07
14:30:44
上传
评论 1
收藏 463KB ZIP 举报
温馨提示
基于SpringBoot+vue的企业员工入职管理系统源码+数据库(毕业设计).zip 已获导师指导并通过的高分毕业设计项目,项目代码完整确保可以直接运行,下载即用无需修改。 基于SpringBoot+vue的企业员工入职管理系统源码+数据库(毕业设计).zip 已获导师指导并通过的高分毕业设计项目,项目代码完整确保可以直接运行,下载即用无需修改。基于SpringBoot+vue的企业员工入职管理系统源码+数据库(毕业设计).zip 已获导师指导并通过的高分毕业设计项目,项目代码完整确保可以直接运行,下载即用无需修改。基于SpringBoot+vue的企业员工入职管理系统源码+数据库(毕业设计).zip 已获导师指导并通过的高分毕业设计项目,项目代码完整确保可以直接运行,下载即用无需修改。基于SpringBoot+vue的企业员工入职管理系统源码+数据库(毕业设计).zip 已获导师指导并通过的高分毕业设计项目,项目代码完整确保可以直接运行,下载即用无需修改。基于SpringBoot+vue的企业员工入职管理系统源码+数据库(毕业设计).zip 已获导师指导并通过的高分毕业设计项目
资源推荐
资源详情
资源评论
收起资源包目录
基于SpringBoot+vue的企业员工入职管理系统源码+数据库(毕业设计).zip (205个子文件)
gloable.css 160B
.gitignore 395B
.gitignore 231B
index.html 585B
favicon.ico 4KB
UserController.java 13KB
FileController.java 11KB
UserServiceImpl.java 10KB
ResumeController.java 6KB
PaperController.java 6KB
DepartmentController.java 5KB
RequirementController.java 5KB
ExamController.java 4KB
RequirementVoController.java 4KB
NoticeController.java 3KB
StudentPaperController.java 3KB
QuestionController.java 3KB
MenuController.java 3KB
FlowController.java 3KB
RoleController.java 2KB
JwtInterceptor.java 2KB
RoleServiceImpl.java 2KB
ArticleController.java 2KB
ExamPaperController.java 2KB
SwaggerConfig.java 2KB
CodeGenerator.java 2KB
CourseController.java 2KB
ValidationController.java 2KB
PaperQuestionController.java 2KB
TokenUtils.java 2KB
User.java 2KB
Question.java 1KB
MenuServiceImpl.java 1KB
RequirementVoServiceImpl.java 1KB
ValidationServiceImpl.java 1KB
Menu.java 1KB
StudentPaper.java 1KB
RequirementVo.java 1KB
Resume.java 1KB
Exam.java 1KB
Requirement.java 1KB
CorsConfig.java 1KB
InterceptorConfig.java 1011B
ExamPaperServiceImpl.java 999B
Flow.java 984B
Validation.java 957B
Notice.java 948B
Role.java 928B
Paper.java 902B
Department.java 888B
Article.java 887B
StudentPaperServiceImpl.java 883B
PaperQuestionServiceImpl.java 864B
PaperQuestion.java 861B
ExamPaper.java 845B
MybatisPlusConfig.java 812B
Result.java 803B
Course.java 788B
RequirementServiceImpl.java 748B
DepartmentServiceImpl.java 737B
UserMapper.java 721B
QuestionServiceImpl.java 714B
RoleMenuMapper.java 687B
GlobalExceptionHandler.java 644B
IUserService.java 639B
RequirementVoMapper.java 611B
Files.java 610B
StudentPaperMapper.java 553B
IRequirementVoService.java 537B
RoleMapper.java 533B
DepartmentMapper.java 521B
ArticleServiceImpl.java 509B
NoticeServiceImpl.java 502B
CourseServiceImpl.java 502B
ResumeServiceImpl.java 501B
PaperServiceImpl.java 495B
RequirementMapper.java 494B
ExamServiceImpl.java 488B
FlowServiceImpl.java 487B
UserDto.java 481B
PaperQuestionMapper.java 480B
QuestionMapper.java 460B
IPaperQuestionService.java 429B
IValidationService.java 415B
IRoleService.java 413B
FileServiceImpl.java 401B
Constants.java 363B
UserPasswordDto.java 352B
IStudentPaperService.java 350B
ValidationMapper.java 349B
ExamPaperMapper.java 347B
Dict.java 345B
IMenuService.java 342B
ArticleMapper.java 340B
CourseMapper.java 338B
NoticeMapper.java 338B
ResumeMapper.java 337B
PaperMapper.java 335B
IExamPaperService.java 335B
RoleMenu.java 335B
共 205 条
- 1
- 2
- 3
资源评论
不安分的小女孩
- 粉丝: 9801
- 资源: 2324
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功