当前位置: 首页 > news >正文

[免费]SpringBoot+Vue勤工助学管理系统【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的SpringBoot+Vue勤工助学管理系统【论文+源码+SQL脚本】,分享下哈。

项目视频演示

https://www.bilibili.com/video/BV1fTq2B9EQ2/

项目介绍

在经济困难学生资助体系中,传统的人工管理方式显得低效,并且在数据统计和信息处理上容易出现错误,这给管理工作带来了极大的复杂性。为了应对这一挑战,适应“互联网+”时代的发展需求,采用信息技术来提升管理效率成为当务之急。在此背景下,开发一个勤工助学信息管理系统显得尤为重要,该系统旨在实现学生信息的在线填写与审核,不仅提高了管理的透明度和公平性,也显著减轻了管理人员的负担,为学生提供了更多便利。

系统展示

部分代码

package com.controller; import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.text.ParseException; import java.util.ArrayList; import java.util.Arrays; import java.util.Calendar; import java.util.Map; import java.util.HashMap; import java.util.Iterator; import java.util.Date; import java.util.List; import javax.servlet.http.HttpServletRequest; import com.utils.ValidatorUtils; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.PathVariable; 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 com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.annotation.IgnoreAuth; import com.entity.YonggongbumenEntity; import com.entity.view.YonggongbumenView; import com.service.YonggongbumenService; import com.service.TokenService; import com.utils.PageUtils; import com.utils.R; import com.utils.MD5Util; import com.utils.MPUtil; import com.utils.CommonUtil; import java.io.IOException; /** * 用工部门 * 后端接口 */ @RestController @RequestMapping("/yonggongbumen") public class YonggongbumenController { @Autowired private YonggongbumenService yonggongbumenService; @Autowired private TokenService tokenService; /** * 登录 */ @IgnoreAuth @RequestMapping(value = "/login") public R login(String username, String password, String captcha, HttpServletRequest request) { YonggongbumenEntity u = yonggongbumenService.selectOne(new EntityWrapper<YonggongbumenEntity>().eq("bumenzhanghao", username)); if(u==null || !u.getMima().equals(password)) { return R.error("账号或密码不正确"); } String token = tokenService.generateToken(u.getId(), username,"yonggongbumen", "用工部门" ); return R.ok().put("token", token); } /** * 注册 */ @IgnoreAuth @RequestMapping("/register") public R register(@RequestBody YonggongbumenEntity yonggongbumen){ //ValidatorUtils.validateEntity(yonggongbumen); YonggongbumenEntity u = yonggongbumenService.selectOne(new EntityWrapper<YonggongbumenEntity>().eq("bumenzhanghao", yonggongbumen.getBumenzhanghao())); if(u!=null) { return R.error("注册用户已存在"); } Long uId = new Date().getTime(); yonggongbumen.setId(uId); yonggongbumenService.insert(yonggongbumen); return R.ok(); } /** * 退出 */ @RequestMapping("/logout") public R logout(HttpServletRequest request) { request.getSession().invalidate(); return R.ok("退出成功"); } /** * 获取用户的session用户信息 */ @RequestMapping("/session") public R getCurrUser(HttpServletRequest request){ Long id = (Long)request.getSession().getAttribute("userId"); YonggongbumenEntity u = yonggongbumenService.selectById(id); return R.ok().put("data", u); } /** * 密码重置 */ @IgnoreAuth @RequestMapping(value = "/resetPass") public R resetPass(String username, HttpServletRequest request){ YonggongbumenEntity u = yonggongbumenService.selectOne(new EntityWrapper<YonggongbumenEntity>().eq("bumenzhanghao", username)); if(u==null) { return R.error("账号不存在"); } u.setMima("123456"); yonggongbumenService.updateById(u); return R.ok("密码已重置为:123456"); } /** * 后端列表 */ @RequestMapping("/page") public R page(@RequestParam Map<String, Object> params,YonggongbumenEntity yonggongbumen, HttpServletRequest request){ EntityWrapper<YonggongbumenEntity> ew = new EntityWrapper<YonggongbumenEntity>(); PageUtils page = yonggongbumenService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonggongbumen), params), params)); return R.ok().put("data", page); } /** * 前端列表 */ @IgnoreAuth @RequestMapping("/list") public R list(@RequestParam Map<String, Object> params,YonggongbumenEntity yonggongbumen, HttpServletRequest request){ EntityWrapper<YonggongbumenEntity> ew = new EntityWrapper<YonggongbumenEntity>(); PageUtils page = yonggongbumenService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonggongbumen), params), params)); return R.ok().put("data", page); } /** * 列表 */ @RequestMapping("/lists") public R list( YonggongbumenEntity yonggongbumen){ EntityWrapper<YonggongbumenEntity> ew = new EntityWrapper<YonggongbumenEntity>(); ew.allEq(MPUtil.allEQMapPre( yonggongbumen, "yonggongbumen")); return R.ok().put("data", yonggongbumenService.selectListView(ew)); } /** * 查询 */ @RequestMapping("/query") public R query(YonggongbumenEntity yonggongbumen){ EntityWrapper< YonggongbumenEntity> ew = new EntityWrapper< YonggongbumenEntity>(); ew.allEq(MPUtil.allEQMapPre( yonggongbumen, "yonggongbumen")); YonggongbumenView yonggongbumenView = yonggongbumenService.selectView(ew); return R.ok("查询用工部门成功").put("data", yonggongbumenView); } /** * 后端详情 */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") Long id){ YonggongbumenEntity yonggongbumen = yonggongbumenService.selectById(id); return R.ok().put("data", yonggongbumen); } /** * 前端详情 */ @IgnoreAuth @RequestMapping("/detail/{id}") public R detail(@PathVariable("id") Long id){ YonggongbumenEntity yonggongbumen = yonggongbumenService.selectById(id); return R.ok().put("data", yonggongbumen); } /** * 后端保存 */ @RequestMapping("/save") public R save(@RequestBody YonggongbumenEntity yonggongbumen, HttpServletRequest request){ yonggongbumen.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(yonggongbumen); YonggongbumenEntity u = yonggongbumenService.selectOne(new EntityWrapper<YonggongbumenEntity>().eq("bumenzhanghao", yonggongbumen.getBumenzhanghao())); if(u!=null) { return R.error("用户已存在"); } yonggongbumen.setId(new Date().getTime()); yonggongbumenService.insert(yonggongbumen); return R.ok(); } /** * 前端保存 */ @RequestMapping("/add") public R add(@RequestBody YonggongbumenEntity yonggongbumen, HttpServletRequest request){ yonggongbumen.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(yonggongbumen); YonggongbumenEntity u = yonggongbumenService.selectOne(new EntityWrapper<YonggongbumenEntity>().eq("bumenzhanghao", yonggongbumen.getBumenzhanghao())); if(u!=null) { return R.error("用户已存在"); } yonggongbumen.setId(new Date().getTime()); yonggongbumenService.insert(yonggongbumen); return R.ok(); } /** * 修改 */ @RequestMapping("/update") @Transactional public R update(@RequestBody YonggongbumenEntity yonggongbumen, HttpServletRequest request){ //ValidatorUtils.validateEntity(yonggongbumen); yonggongbumenService.updateById(yonggongbumen);//全部更新 return R.ok(); } /** * 删除 */ @RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ yonggongbumenService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } /** * 提醒接口 */ @RequestMapping("/remind/{columnName}/{type}") public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) { map.put("column", columnName); map.put("type", type); if(type.equals("2")) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); Date remindStartDate = null; Date remindEndDate = null; if(map.get("remindstart")!=null) { Integer remindStart = Integer.parseInt(map.get("remindstart").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart); remindStartDate = c.getTime(); map.put("remindstart", sdf.format(remindStartDate)); } if(map.get("remindend")!=null) { Integer remindEnd = Integer.parseInt(map.get("remindend").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindEnd); remindEndDate = c.getTime(); map.put("remindend", sdf.format(remindEndDate)); } } Wrapper<YonggongbumenEntity> wrapper = new EntityWrapper<YonggongbumenEntity>(); if(map.get("remindstart")!=null) { wrapper.ge(columnName, map.get("remindstart")); } if(map.get("remindend")!=null) { wrapper.le(columnName, map.get("remindend")); } int count = yonggongbumenService.selectCount(wrapper); return R.ok().put("count", count); } }

源码下载

链接:https://pan.baidu.com/s/1CDx7vu0HpEvkqxWR44N8JA
提取码:1234

http://www.jsqmd.com/news/122131/

相关文章:

  • Android 10.0 Launcher3抽屉式背景设为透明,去掉上滑时的白色背景
  • vxe-gantt 如何自定义依赖线的宽度,连接线的宽度大小
  • LangFlow是什么?为什么它正在改变大模型应用开发方式
  • 我终于找到替代手写 CRUD 的方法:XinServer
  • LangFlow创建地域偏好分析与洞察平台
  • 项目延期的策略
  • LangFlow多人协作开发模式探索
  • 开发者福音!LangFlow让复杂AI工作流设计变得简单直观
  • LangFlow实现司机绩效考核自动化
  • LangFlow开发入侵检测日志分析器
  • LangFlow构建人群细分标签工厂
  • 低门槛AI开发新选择:LangFlow可视化工作流工具全解析
  • 基于Java的国企智慧管理系统的设计与实现全方位解析:附毕设论文+源代码
  • LangFlow能否替代传统代码开发?专家视角下的利弊权衡
  • Android Framework深度解析:从面试准备到核心原理剖析
  • LangFlow开发API接口调用异常检测器
  • 2025年年终济南管道疏通推荐:最新排行深度解析及服务维度全面比较 - 十大品牌推荐
  • Android面试指南:字节跳动搜索方向研发工程师深度解析
  • LangFlow打造新功能采纳率预测工具
  • 千万不能错过!这5家外卖点单小程序供应商,选对了生意翻倍增长
  • LangFlow实现用户调研结果自动总结
  • LangFlow实现清关文件自动准备工具
  • 研究生必备:9款免费AI论文工具,查重率低于11%超靠谱!
  • 基于社交媒体的舆情分析与情感预测系统设计与实现开题报告
  • 10.14
  • 31、数据仓库与 OLAP 技术详解
  • 在SAP中设置销售合同/订单的审批是一个非常经典且关键的流程配置。这通常使用 “信贷管理” 或更通用、更强大的 “销售单据审批” 流程来实现。下面我将为您提供详细的分析、步骤和两种主要方法的比较。
  • VBUK 是销售凭证处理的核心状态管理表,它记录了每一张销售订单、交货单、退货单等凭证的整体处理进度和状态,是销售与分销(SD)模块中至关重要的控制表
  • 基于社交媒体的舆情分析与情感预测系统设计与实现任务书(3)
  • 33、分析服务与.NET 服务器集群解决方案