news 2026/5/24 18:31:58

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[免费]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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/24 1:56:11

我终于找到替代手写 CRUD 的方法:XinServer

我终于找到替代手写 CRUD 的方法&#xff1a;XinServer 不知道你们有没有这种感觉&#xff0c;每次启动一个新项目&#xff0c;最烦人的不是想创意、画原型&#xff0c;而是打开 IDE&#xff0c;准备开始写那一套“增删改查”的后台代码。建数据库、设计表结构、写实体类、配 M…

作者头像 李华
网站建设 2026/5/22 19:07:28

LangFlow企业级应用场景探索:金融、医疗与教育领域实例

LangFlow企业级应用场景探索&#xff1a;金融、医疗与教育领域实例 在AI技术加速渗透专业领域的今天&#xff0c;一个现实问题摆在许多企业的面前&#xff1a;如何让大语言模型&#xff08;LLM&#xff09;真正落地到高合规、强专业性的业务流程中&#xff1f;不是写几个prompt…

作者头像 李华
网站建设 2026/5/20 12:01:39

在 SAP 中,销售发货后成本分录自动关联成本中心的配置,主要通过 “成本要素默认分配(OKB9)”+“自动记账(OBYC)”+“销售订单 / 移动类型的科目分配” 实现

在 SAP 中&#xff0c;销售发货后成本分录自动关联成本中心的配置&#xff0c;主要通过 “成本要素默认分配&#xff08;OKB9&#xff09;”“自动记账&#xff08;OBYC&#xff09;”“销售订单 / 移动类型的科目分配” 实现&#xff0c;具体逻辑和配置路径如下&#xff1a;一…

作者头像 李华
网站建设 2026/5/23 2:05:17

在 SAP SD 模块中,销售合同发货后生成的 Dr 主营业务成本 Cr 库存商品 会计分录,是由物料主数据配置、移动类型配置、科目确定配置三层逻辑共同决定的

在 SAP SD 模块中&#xff0c;销售合同发货后生成的 Dr 主营业务成本 Cr 库存商品 会计分录&#xff0c;是由物料主数据配置、移动类型配置、科目确定配置三层逻辑共同决定的&#xff0c;核心是通过移动类型触发科目确定&#xff0c;最终联动 FI 生成凭证。以下是详细的配置逻辑…

作者头像 李华
网站建设 2026/5/20 12:01:36

LangFlow镜像部署教程:快速启动本地可视化LLM开发环境

LangFlow镜像部署教程&#xff1a;快速启动本地可视化LLM开发环境 在大模型时代&#xff0c;越来越多的开发者和业务人员希望快速验证一个AI应用的想法——比如构建一个能自动回答企业文档问题的智能客服&#xff0c;或者设计一个可以根据用户输入生成营销文案的助手。但现实是…

作者头像 李华
网站建设 2026/5/21 21:11:24

37、Visual Studio .NET:全面开发解决方案解析

Visual Studio .NET:全面开发解决方案解析 1. Visual Studio .NET 概述 Visual Studio .NET 是微软推出的新一代开发产品。它的设计目标包括构建下一代互联网、快速高效地创建强大应用程序以及跨越任何平台或设备。它是唯一为 XML Web 服务从头构建的开发环境,允许应用程序…

作者头像 李华