基于javaweb+mysql的springboot学生考勤系统(java+springboot+vue+mybatis+maven+mysql)
私信源码获取及调试交流
运行环境
Java≥8、MySQL≥5.7、Node.js≥10
开发工具
后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+mysql的SpringBoot学生考勤系统(java+springboot+vue+mybatis+maven+mysql)
一、项目运行 环境配置:
Jdk1.8 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。
项目技术:
Spring + SpringBoot+ mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。
*/
@SuppressWarnings("unused")
@PostMapping("/delUser")
public String delUserByCode(@RequestBody User user){
String username = user.getUsername();
String email = user.getEmail();
String verifyCode = user.getVerifyCode();
User test = userService.findAllByUsername(username);
if(test != null){
String oldverifyCode = test.getVerifyCode();
String matches =userService.matchesEncoder(verifyCode, oldverifyCode);
if(matches.equals("success")) {
userService.deleteByUsername(username);
return "success";
}else {
return "error";
}
}else {
return "empty";
}
}
/**
* 按姓名模糊查询全部
* @param currentPage
* @param pageSize
* @param realname
* @return
*/
@GetMapping("FuzzyQuery/{currentPage}/{pageSize}/{realname}")
public Map<String, Object> FuzzyQuery(@PathVariable("currentPage") Integer currentPage,
@PathVariable("pageSize") Integer pageSize, @PathVariable("realname") String realname) {
PageHelper.startPage(currentPage, pageSize);
Map<String, Object> returnMap = new HashMap<String, Object>();
List<User> list = null;
returnMap.put("content", list);
list = userService.FuzzyQueryByRealname(realname);
returnMap.put("content", list);
return returnMap;
}
/**
PageHelper.startPage(currentPage, pageSize);
Integer total = currentPage * pageSize; //分页可展示的总数
Map<String, Object> returnMap = new HashMap<String, Object>();
List<Leave> list = null;
returnMap.put("content", list);
list = leaveService.showAOldLeave(username,total,size);
returnMap.put("content", list);
return returnMap;
}
/**
* 按审核状态查询以往审核记录
* @param currentPage
* @param pageSize
* @param username
* @return
*/
@GetMapping("/ShowLeave/{currentPage}/{pageSize}/{username}/{state}")
public Map<String, Object> ShowLeave(@PathVariable("currentPage") Integer currentPage,
@PathVariable("pageSize") Integer pageSize,
@PathVariable("username") String username,
@PathVariable("state") String state){
Map<String, Object> returnMap = new HashMap<String, Object>();
List<Leave> list = null;
List<Leave> pagelist = null;
returnMap.put("content", list);
list = leaveService.showLeave(username, state);
pagelist = leaveService.startPage(list, currentPage, pageSize);
returnMap.put("content", pagelist);
return returnMap;
}
/**
* 删除申请表
* @param id
*/
@DeleteMapping("deleteLeave/{id}")
public void deleteData(@PathVariable("id") Integer id) {
leaveService.deleteLeave(id);
}
* @param classes
* @return
*/
@GetMapping("showChatrAttend/{classes}")
public List<Census> showChatrAttend(@PathVariable("classes") String classes){
return attendService.showChatrAttend(classes);
}
@GetMapping("showChatrScore/{classes}")
public Integer[] showChatrScore(@PathVariable("classes") String classes){
return attendService.showChatrScore(classes);
}
/**
* 查找单个考勤信息
* @param username
* @return
*/
@GetMapping("findAllByUsername/{username}")
public Attend findAllByUsername(@PathVariable("username") String username){
return attendService.findAllByUsername(username);
}
/**
* 查找单个考勤信息(表格)
* @param username
* @return
*/
@GetMapping("findAllOwn/{username}")
public Map<String,Object> findAllOwn(@PathVariable("username") String username){
Map<String,Object> returnMap = new HashMap<String,Object>();
Attend attend = attendService.findAllByUsername(username);
List<Attend> list = new ArrayList<Attend>();
returnMap.put("content", list);
if(attend == null) {
return returnMap;
}else {
list.add(attend);
returnMap.put("content", list);
return returnMap;
}
}
/**
* 修改考勤信息
* @param attend
* @return
String vacationString = xssfRow.getCell(6).toString();
String truancyString = xssfRow.getCell(7).toString();
// String scoreString = xssfRow.getCell(8).toString();
Integer early = Integer.valueOf(earlyString);
Integer late = Integer.valueOf(lateString);
Integer vacation = Integer.valueOf(vacationString);
Integer truancy = Integer.valueOf(truancyString);
// Integer score = Integer.valueOf(scoreString);
// 将数据写入实体类
// data = new Data();
Attend attend = new Attend();
attend.setRealname(realname);
attend.setUsername(username);
attend.setClasses(classes);
attend.setDept(dept);
attend.setEarly(early);
attend.setLate(late);
attend.setVacation(vacation);
attend.setTruancy(truancy);
// attend.setScore(score);
// 将实体类插入数据库
// dataService.InsertData(data);
String isRepeat = attendService.insertAttend(attend);
test.add(isRepeat);
// System.out.println("循环监视");
}
for(int j = 0;j <test.size();j++ ) {
if(test.get(j).equals("success")) {
// System.out.println(test.get(j));
return "success";
}else {
// System.out.println(test.get(j));
return "repeat";
}
}
return "repeat";
}
}
}
* @param pageSize
* @param choice
* @return
*/
@GetMapping("findAllByChoice/{currentPage}/{pageSize}/{choice}")
public Map<String, Object> findAllByChoice(@PathVariable("currentPage") Integer currentPage,
@PathVariable("pageSize") Integer pageSize, @PathVariable("choice") String choice) {
PageHelper.startPage(currentPage, pageSize);
Map<String, Object> returnMap = new HashMap<String, Object>();
List<Data> list = null;
returnMap.put("content", list);
list = dataService.findAllByChoice(choice);
returnMap.put("content", list);
return returnMap;
}
/**
* 按用户名查找单个用户信息
*
* @param username
* @return
*/
@GetMapping("/findAllByUsername/{username}")
public Data findAllByUsername(@PathVariable("username") String username) {
return dataService.findAllByUsername(username);
}
/**
* 修改用户信息
*
* @param data
* @return
*/
@PostMapping("/updateData")
public String updateData(@RequestBody Data data) {
String username = data.getUsername();
String chioce = data.getChoice();
String classes = data.getClasses();
String dept = data.getDept();
String realname = data.getRealname();
Data test = dataService.findAllByUsername(username);
if (test != null) {
@PostMapping("/delUser")
public String delUserByCode(@RequestBody User user){
String username = user.getUsername();
String email = user.getEmail();
String verifyCode = user.getVerifyCode();
User test = userService.findAllByUsername(username);
if(test != null){
String oldverifyCode = test.getVerifyCode();
String matches =userService.matchesEncoder(verifyCode, oldverifyCode);
if(matches.equals("success")) {
userService.deleteByUsername(username);
return "success";
}else {
return "error";
}
}else {
return "empty";
}
}
/**
* 按姓名模糊查询全部
* @param currentPage
* @param pageSize
* @param realname
* @return
*/
@GetMapping("FuzzyQuery/{currentPage}/{pageSize}/{realname}")
public Map<String, Object> FuzzyQuery(@PathVariable("currentPage") Integer currentPage,
@PathVariable("pageSize") Integer pageSize, @PathVariable("realname") String realname) {
PageHelper.startPage(currentPage, pageSize);
Map<String, Object> returnMap = new HashMap<String, Object>();
List<User> list = null;
returnMap.put("content", list);
list = userService.FuzzyQueryByRealname(realname);
returnMap.put("content", list);
return returnMap;
}
/**
*
* 按用户类型通过姓名模糊查询
* @param currentPage
* @param pageSize
* @param realname
* @param choice
* @return
Map<String, Object> returnMap = new HashMap<String, Object>();
List<Data> list = null;
returnMap.put("content", list);
list = dataService.FuzzyQueryByChioce(realname, choice);
returnMap.put("content", list);
return returnMap;
}
/**
* 按用户类型查询用户信息
*
* @param currentPage
* @param pageSize
* @param choice
* @return
*/
@GetMapping("findAllByChoice/{currentPage}/{pageSize}/{choice}")
public Map<String, Object> findAllByChoice(@PathVariable("currentPage") Integer currentPage,
@PathVariable("pageSize") Integer pageSize, @PathVariable("choice") String choice) {
PageHelper.startPage(currentPage, pageSize);
Map<String, Object> returnMap = new HashMap<String, Object>();
List<Data> list = null;
returnMap.put("content", list);
list = dataService.findAllByChoice(choice);
returnMap.put("content", list);
return returnMap;
}
/**
* 按用户名查找单个用户信息
*
* @param username
* @return
*/
@GetMapping("/findAllByUsername/{username}")
public Data findAllByUsername(@PathVariable("username") String username) {
return dataService.findAllByUsername(username);
}
/**
* 修改用户信息
*
* @param data
* @return
*/
EasyExcel.write(response.getOutputStream(), Data.class).sheet("模板").doWrite(data);
}
@PostMapping("/upload")
@ResponseBody
public String upload(@RequestParam("file") MultipartFile file) throws IOException {
try {
EasyExcel.read(file.getInputStream(), Data.class, new DataListener(dataService)).sheet().doRead();
}catch (Exception e){
e.printStackTrace();
}
return "success";
}
}
@CrossOrigin
@RestController
@RequestMapping("/user")
public class AccountController {
@Autowired
private UserService userService;
@Autowired
private DataService dataService;
/**
* 注册
* @param user
}
/**
* 查找辅导员管理的班级
* @param checkname
* @return
*/
@GetMapping("/findClass/{checkname}")
public List<String> findClass(@PathVariable("checkname") String checkname) {
List<Audit> audit = leaveService.FindClass(checkname);
List<String> list = new ArrayList<String>();
for(int i = 0 ; i < audit.size(); i++) {
String classes = audit.get(i).getClasses();
list.add(classes);
}
return list;
}
/**
* 删除辅导员管理的班级
* @param classes
*/
@DeleteMapping("delClass/{classes}")
public void delClass(@PathVariable("classes") String classes) {
leaveService.delClass(classes);
}
/**
* 添加辅导员要管理的班级
* @param classes
* @param realname
* @return
*/
@PostMapping("/insertClass")
public String insertClass(@RequestBody Audit aidit) {
return leaveService.insertAudit(aidit);
}
/**
* 按班级查找对应的辅导员
* @param classes
* @return
*/
@GetMapping("/findCheckname/{classes}")
public String findCheckname(@PathVariable("classes") String classes) {
String checkname = leaveService.FindCheckname(classes);
if(checkname == null) {
return "error";
} else {
return checkname;
}
}
// String earlyString = xssfRow.getCell(4).getStringCellValue();
// String lateString = xssfRow.getCell(5).getStringCellValue();
// String vacationString = xssfRow.getCell(6).getStringCellValue();
// String truancyString = xssfRow.getCell(7).getStringCellValue();
String realname = xssfRow.getCell(0).toString();
String username = xssfRow.getCell(1).toString();
String classes = xssfRow.getCell(2).toString();
String dept = xssfRow.getCell(3).toString();
String earlyString = xssfRow.getCell(4).toString();
String lateString = xssfRow.getCell(5).toString();
String vacationString = xssfRow.getCell(6).toString();
String truancyString = xssfRow.getCell(7).toString();
// String scoreString = xssfRow.getCell(8).toString();
Integer early = Integer.valueOf(earlyString);
Integer late = Integer.valueOf(lateString);
Integer vacation = Integer.valueOf(vacationString);
Integer truancy = Integer.valueOf(truancyString);
// Integer score = Integer.valueOf(scoreString);
// 将数据写入实体类
// data = new Data();
Attend attend = new Attend();
attend.setRealname(realname);
attend.setUsername(username);
attend.setClasses(classes);
attend.setDept(dept);
attend.setEarly(early);
attend.setLate(late);
attend.setVacation(vacation);
attend.setTruancy(truancy);
// attend.setScore(score);
}
/**
* 分页查询所有用户信息
*
* @param currentPage
* @param pageSize
* @return
*/
@GetMapping("findAll/{currentPage}/{pageSize}")
public Map<String, Object> findAll(@PathVariable("currentPage") Integer currentPage,
@PathVariable("pageSize") Integer pageSize) {
PageHelper.startPage(currentPage, pageSize);
Map<String, Object> returnMap = new HashMap<String, Object>();
List<Data> list = null;
returnMap.put("content", list);
list = dataService.findAll();
returnMap.put("content", list);
return returnMap;
}
/**
* 按姓名模糊查询某一种用户
*
* @param currentPage
* @param pageSize
* @param realname
* @return
*/
@GetMapping("FuzzyQuery/{currentPage}/{pageSize}/{realname}")
public Map<String, Object> FuzzyQuery(@PathVariable("currentPage") Integer currentPage,
@PathVariable("pageSize") Integer pageSize, @PathVariable("realname") String realname) {
PageHelper.startPage(currentPage, pageSize);
Map<String, Object> returnMap = new HashMap<String, Object>();
List<Data> list = null;
returnMap.put("content", list);
list = dataService.FuzzyQueryByRealname(realname);
returnMap.put("content", list);
return returnMap;
}
/**
*
* 按用户类型通过姓名模糊查询
* @param currentPage
* @param pageSize
* @param realname
* @param choice
* @return
return returnMap;
}
}
/**
* 修改考勤信息
* @param attend
* @return
*/
@PostMapping("/updateAttend")
public String updateAttend(@RequestBody Attend attend) {
String username = attend.getUsername();
Attend test = attendService.findAllByUsername(username);
if (test != null) {
attendService.saveAttend(attend);
return "success";
} else {
return "empty";
}
}
/**
* 删除考勤信息
* @param username
*/
@DeleteMapping("deleteAttend/{username}")
public void deleteData(@PathVariable("username") String username) {
attendService.delAttend(username);
}
/**
* 删除全部的考勤信息
*/
@DeleteMapping("deleteAttend")
public void deleteData() {
attendService.delAttend();
}
/**
* 按姓名模糊查询某一种用户
*
* @param currentPage
* @param pageSize
//用户或选择用户错误
return "userError";
}
}else{
//用户不存在
return "empty";
}
}
/**
* 按用户名查找单个账号信息
* @param username
* @return
*/
@GetMapping("/findAllByUsername/{username}")
public User findAllByUsername(@PathVariable("username") String username) {
return userService.findAllByUsername(username);
}
/**
* 分页查询所有账号信息
* @param currentPage
* @param pageSize
* @return
*/
@GetMapping("findAll/{currentPage}/{pageSize}")
public Map<String,Object> findAll(@PathVariable("currentPage") Integer currentPage, @PathVariable("pageSize") Integer pageSize){
PageHelper.startPage(currentPage, pageSize);
Map<String,Object> returnMap=new HashMap<String,Object>();
List<User> list=null;
returnMap.put("content", list);
list= userService.findAll();
returnMap.put("content", list);
return returnMap;
}
/**
* 按用户类型查询账号所有信息
* @param currentPage
* @param pageSize
* @param choice
* @return
*/
@GetMapping("findAllByChoice/{currentPage}/{pageSize}/{choice}")
public Map<String,Object> findAllByChoice(@PathVariable("currentPage") Integer currentPage, @PathVariable("pageSize") Integer pageSize
, @PathVariable("choice") String choice){
PageHelper.startPage(currentPage, pageSize);
Map<String,Object> returnMap=new HashMap<String,Object>();
List<User> list=null;
@CrossOrigin
@RestController
@RequestMapping("/notice")
public class NoticeController {
@Autowired
private NoticeService noticeService;
/**
* 发送公告
* @param notice
* @return
*/
@PostMapping("/sendNotice")
public String sendLeave(@RequestBody Notice notice) {
return noticeService.sendNotice(notice);
}
/**
* 显示最新公告
* @return
*/
@GetMapping("/showNotice")
public Notice showNotice() {
return noticeService.showNotice();
}
/**
* 按id显示公告
* @param id
* @return
*/
@GetMapping("/showById/{id}")
public Notice showById( @PathVariable("id") Integer id) {
String verifyCode = user.getVerifyCode();
User test = userService.findAllByUsername(username);
if(test != null){
String oldverifyCode = test.getVerifyCode();
String matches =userService.matchesEncoder(verifyCode, oldverifyCode);
if(matches.equals("success")) {
userService.updateEmail(username, email);
return "success";
}else {
return "error";
}
}else {
return "empty";
}
}
/**
* 发送邮箱并获取验证码
* @param user
* @return
*/
@PostMapping("/getCheckemail")
public String sendCodeToMail(@RequestBody User user){
String username = user.getUsername();
String email = user.getEmail();
String choice = user.getChoice();
User test = userService.findAllByUsername(username);
if(test != null){ //判断用户是否存在
String mailAddress = test.getEmail();
String checkchoice = test.getChoice();
String checkusername = test.getUsername();
if (checkusername.equals(username)&&choice.equals(checkchoice)) {
//根据username获取保存的邮箱
if(email.equals(mailAddress)){ //用户输入邮箱与绑定邮箱一致→发送验证码
try{
//生成验证码
String verifyCode = RandomUtil.getCode();
//邮件主题
String emailTitle = "邮箱验证";
//邮件内容
String emailContent = "您正在进行邮箱验证,您的验证码为:" + verifyCode
+"\n\n 验证码将于5分钟后失效!";
//发送邮件
SendMailUtil.sendEmail(mailAddress, emailTitle, emailContent);
/* 将验证码注入数据库 */
userService.updateCode(username, verifyCode);
public String updateData(@RequestBody Data data) {
String username = data.getUsername();
String chioce = data.getChoice();
String classes = data.getClasses();
String dept = data.getDept();
String realname = data.getRealname();
Data test = dataService.findAllByUsername(username);
if (test != null) {
leaveService.updateAuditCheckname(data);
userService.updateChioceAndRealname(username, chioce,realname);
Attend attend = attendService.findAllByUsername(username);
if(attend != null) {
attend.setClasses(classes);
attend.setDept(dept);
attend.setRealname(realname);
attendService.saveAttend(attend);
}
dataService.saveData(data);
return "success";
} else {
return "empty";
}
}
/**
* 删除用户信息
*
* @param username
*/
@DeleteMapping("deleteData/{username}")
public void deleteData(@PathVariable("username") String username) {
dataService.deleteData(username);
}
/**
* 删除所有用户信息
*
* @param
*/
@DeleteMapping("deleteData")
public void deleteData() {
dataService.deleteData();
}
/**
* 删除用户信息
*
* @param
*/
@DeleteMapping("deleteDataByChoice/{choice}")
public void deleteDataByChoice(@PathVariable("choice") String choice) {
dataService.deleteDataByChoice(choice);
attend.setDept(dept);
attend.setEarly(early);
attend.setLate(late);
attend.setVacation(vacation);
attend.setTruancy(truancy);
// attend.setScore(score);
// 将实体类插入数据库
// dataService.InsertData(data);
String isRepeat = attendService.insertAttend(attend);
test.add(isRepeat);
// System.out.println("循环监视");
}
for(int j = 0;j <test.size();j++ ) {
if(test.get(j).equals("success")) {
// System.out.println(test.get(j));
return "success";
}else {
// System.out.println(test.get(j));
return "repeat";
}
}
return "repeat";
}
}
}