package com.project.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mysql.cj.util.StringUtils;
import com.project.entity.Company;
import com.project.entity.Teacher;
import com.project.entity.User;
import com.project.entity.Work;
import com.project.service.CompanyService;
import com.project.service.StudentService;
import com.project.service.TeacherService;
import com.project.service.UserService;
import com.project.service.WorkService;
import com.project.uitls.Constant;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpSession;
import java.io.File;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Random;
import static com.project.enums.UserRole.*;
import static com.project.uitls.Constant.CURRENT_USER;
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@Autowired
private CompanyService companyService;
@Autowired
private TeacherService teacherService;
@Autowired
private StudentService studentService;
@Autowired
private WorkService workService;
@Autowired
private HttpSession session;
@Value("${upload}")
private String upload;
@ApiOperation("获取验证码")
@GetMapping("/getVerificationCode")
public Object getVerificationCode() {
String[] codes = {"a", "b", "c", "d", "e", "f", "g", "h", "i",
"j","k", "m", "n", "p", "q", "r",
"s", "t", "u", "v", "w", "x", "y", "z"};
List<String> randomCodes = new ArrayList<>();
StringBuilder codeStr = new StringBuilder();
for (int i = 0; i < 4; i++) {
String code = codes[Math.abs(new Random().nextInt() % codes.length)];
randomCodes.add(code);
codeStr.append(code);
}
session.setAttribute(Constant.CODE, codeStr.toString());
return R.ok(randomCodes);
}
@GetMapping("/getById")
@ApiOperation("根据id获取用户")
@ApiImplicitParam(value = "用户id", required = true)
public Object getById(Integer id) {
User user = userService.getById(id);
return user == null ? R.failed("该用户不存在") : R.ok(user);
}
@GetMapping("/deleteById")
@ApiOperation("根据id删除用户")
public Object deleteById(@RequestParam Integer id) {
boolean b = userService.removeById(id);
return b ? R.ok(null) : R.failed("删除失败");
}
@RequestMapping("/save")
public Object save(User user) {
if (user.getId() == null) {
userService.save(user);
}else {
userService.updateById(user);
}
return R.ok(null);
}
@PostMapping("/updateById")
@ApiOperation("根据id更用户")
public Object updateById(@RequestBody User user) {
if (!StringUtils.isNullOrEmpty(user.getUserName())) {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(User::getUserName, user.getUserName());
List<User> users = userService.list(queryWrapper);
for (User u : users) {
if (!u.getId().equals(user.getId()))
return R.failed("该用户已存在");
}
}
boolean b = userService.updateById(user);
return b ? R.ok(null) : R.failed("更新失败");
}
@GetMapping("/addCompany")
public Object addCompany(@RequestParam String userName,
@RequestParam String password,
@RequestParam String phone,
@RequestParam String role,
@RequestParam String name) {
User user = registerUser(userName, password, phone, COMPANY);
Company company = new Company();
company.setUid(user.getId());
company.setContactsPhone(phone);
company.setName(name);
return companyService.save(company) ? R.ok(null) : R.failed("添加失败");
}
@PostMapping("/addTeacher")
public Object addTeacher(@RequestBody Teacher teacher) {
User user = registerUser(teacher.getName(), PASSWORD, teacher.getPhone(), STUDENT);
teacher.setUid(user.getId());
return teacherService.save(teacher) ? R.ok(null) : R.failed("添加失败");
}
@PostMapping("/addWork")
public Object addWork(@RequestBody Work work) {
User user = registerUser(work.getLeaderNumber(), PASSWORD, work.getPhone(), STUDENT);
work.setUid(user.getId());
return workService.save(work) ? R.ok(null) : R.failed("添加失败");
}
@GetMapping("/getUserPage")
@ApiOperation("获取用户分页")
public Object getUserPage(@RequestParam Integer pageNum,
@RequestParam Integer pageSize,
User user, Date beginTime, Date endTime) {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda()
.like(!StringUtils.isNullOrEmpty(user.getUserName()), User::getUserName, user.getUserName())
.like(user.getStatus() != null, User::getStatus, user.getStatus())
.like(!StringUtils.isNullOrEmpty(user.getEmail()), User::getEmail, user.getEmail())
.like(!StringUtils.isNullOrEmpty(user.getPhone()), User::getPhone, user.getPhone());
IPage<User> page = userService.page(new Page<>(pageNum, pageSize), queryWrapper);
return R.ok(page);
}
@RequestMapping("/login")
@ApiOperation("登录")
public Object login(User user) {
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(User::getUserName, user.getUserName()).eq(User::getPassword, user.getPassword());
List<User> users = userService.list(queryWrapper);
if (users.isEmpty())
return R.failed("用户名或密码错误");
User currentUser = users.get(0);
userService.updateById(currentUser);
session.setAttribute(CURRENT_USER, currentUser);
return R.ok(currentUser);
}
@GetMapping("/logout")
@ApiOperation("登出")
public Object logout() {
session.removeAttribute(CURRENT_USER);
return R.ok(null);
}
@PostMapping("/resetPassword")
@ApiOperation("重置密码, 默认密码000000")
public Object resetPassword(@RequestParam Integer userId, String password) {
if (StringUtils.isNullOrEmpty(password))
password = "000000";
User user = new User();
user.setId(userId);
user.setPassword(password);
boolean b = userService.updateById(user);
return b ? R.ok(null) : R.failed("重置失败");
}
@PostMapping("/updatePassword")
@ApiOperation("修改密码")
public Object updatePassword(@RequestParam Integer userId,
@RequestParam String oldPassword,
@RequestParam Stri
没有合适的资源?快使用搜索试试~ 我知道了~
基于javaweb学生就业管理系统的设计与实现(论文+程序设计+数据库文件)
共608个文件
gif:150个
xml:114个
java:87个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 28 下载量 63 浏览量
2021-06-08
16:09:43
上传
评论 34
收藏 4.37MB RAR 举报
温馨提示
1 绪论 4 1.1 项目开发背景 4 1.2 项目开发意义 4 1.3 项目主要的内容 5 2 相关技术介绍及系统环境开发条件 5 2.1相关技术介绍 6 2.2系统环境开发条件 9 3 系统的需求分析与设计 9 3.1可行性分析 10 3.2需求分析 11 3.2.1系统总体概述 12 3.2.2功能性需求 12 3.2.3非功能性需求 13 3.2.4流程图设计 13 3.2.5系统ER图设计 14 3.3 数据库设计 15 3.3.1数据库设计的原则 15 3.3.3数据库表的设计 15 3.4基于SSM架构的系统分析 17 4系统功能模块实现 20 4.1 功能实现模块 21 4.1.1登陆页面的实现 21 4.1.2管理员功能页面的实现 22 4.1.3企业功能页面的实现 24 4.1.4就业办功能页面的实现 25 4.1.5教师角色功能页面三方协议书的实现 26 4.2日志功能模块 27 4.3安装部署 28 5 系统测试 29 5.1系统调试的目的和意义 29 5.2功能测试用例 30 6总结 33 参考文献: 33 致 谢 34
资源推荐
资源详情
资源评论
收起资源包目录
基于javaweb学生就业管理系统的设计与实现(论文+程序设计+数据库文件) (608个子文件)
UserController.class 14KB
User.class 11KB
StudentController.class 10KB
Student.class 10KB
AgreementController.class 8KB
TeacherController.class 7KB
WorkController.class 7KB
CompanyController.class 7KB
Teacher.class 6KB
Work.class 6KB
RecruitController.class 6KB
Company.class 6KB
Recruit.class 5KB
WordUtil.class 5KB
RecruitInfo.class 4KB
Agreement.class 4KB
ExcelExportUtils.class 4KB
UserServiceImpl.class 4KB
TeacherDTO.class 4KB
StudentDTO.class 4KB
WorkDTO.class 4KB
RecruitInfoController.class 4KB
ClazzController.class 3KB
SpecialityController.class 3KB
EmploymentLaw.class 3KB
Journalism.class 3KB
CollegeController.class 3KB
Speciality.class 3KB
EmploymentLawController.class 3KB
Clazz.class 3KB
JournalismController.class 3KB
LoginConfig.class 3KB
ClassUtil.class 3KB
SwaggerConfig.class 3KB
RecruitDTO.class 2KB
CompanyDTO.class 2KB
College.class 2KB
StatisticalDTO.class 2KB
AgreementServiceImpl.class 2KB
UserStatusEnum.class 2KB
TeacherServiceImpl.class 2KB
StudentServiceImpl.class 2KB
WorkServiceImpl.class 2KB
AdminInterceptor.class 2KB
AgreementDTO.class 1KB
BoothApplicationTests.class 1KB
BoothApplicationTests$1.class 1020B
CompanyServiceImpl.class 996B
MybatisPlusConfig.class 954B
UserService.class 931B
BaseApplication.class 809B
EmploymentLawServiceImpl.class 723B
RecruitInfoServiceImpl.class 709B
JournalismServiceImpl.class 702B
SpecialityServiceImpl.class 702B
AgreementService.class 701B
CollegeServiceImpl.class 681B
RecruitServiceImpl.class 681B
ClazzServiceImpl.class 667B
StudentService.class 615B
TeacherService.class 615B
WorkService.class 600B
CompanyService.class 501B
Constant.class 409B
EmploymentLawMapper.class 400B
RecruitInfoMapper.class 394B
SpecialityMapper.class 391B
JournalismMapper.class 391B
UserRole.class 388B
AgreementMapper.class 388B
CollegeMapper.class 382B
StudentMapper.class 382B
TeacherMapper.class 382B
RecruitMapper.class 382B
CompanyMapper.class 382B
UserMapper.class 378B
ClazzMapper.class 376B
WorkMapper.class 373B
EmploymentLawService.class 330B
RecruitInfoService.class 324B
JournalismService.class 321B
SpecialityService.class 321B
RecruitService.class 312B
CollegeService.class 312B
ClazzService.class 306B
AgreementStatus.class 240B
IbaseEnum.class 190B
mvnw.cmd 6KB
layui.css 93KB
layui.css 93KB
layer.css 14KB
layer.css 14KB
layui.mobile.css 10KB
layui.mobile.css 10KB
laydate.css 7KB
laydate.css 7KB
dropdown.css 5KB
dropdown.css 5KB
code.css 1KB
code.css 1KB
共 608 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
程序员小蛋
- 粉丝: 2418
- 资源: 481
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
- 5
- 6
前往页