news 2026/4/16 15:22:17

[免费]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/4/15 11:29:37

LangFlow创建地域偏好分析与洞察平台

LangFlow构建地域偏好分析与洞察平台 在消费行为日益碎片化、市场响应节奏不断加快的今天&#xff0c;企业对“快速理解区域用户偏好”的能力提出了前所未有的要求。传统的市场调研周期动辄数周&#xff0c;而社交媒体热点可能几天就已过气。如何在小时级甚至分钟级内生成有数据…

作者头像 李华
网站建设 2026/4/13 0:34:48

智能硬件产品系统技术报告

智能硬件产品系统技术报告本报告针对智能硬件产品系统&#xff08;如物联网设备、嵌入式系统等&#xff09;&#xff0c;通过收集行业案例&#xff0c;总结技术路线、行业难点、痛点和需求&#xff0c;提供应用案例与示例代码&#xff0c;形成综合解决方案。报告结构清晰&#…

作者头像 李华
网站建设 2026/4/15 17:56:02

千万不能错过!这5家外卖点单小程序供应商,选对了生意翻倍增长

千万不能错过&#xff01;这5家外卖点单小程序供应商&#xff0c;选对了生意翻倍增长在当今数字化时代&#xff0c;外卖点单小程序已经成为餐饮业不可或缺的一部分。选择一个合适的小程序供应商&#xff0c;不仅可以提升用户体验&#xff0c;还能有效促进业务增长。本文将为您推…

作者头像 李华
网站建设 2026/4/5 5:41:20

LangFlow + GPU算力服务 大模型应用开发黄金组合

LangFlow GPU算力服务&#xff1a;大模型应用开发黄金组合 在今天&#xff0c;一个产品经理或业务分析师也能动手搭建智能客服原型的时代&#xff0c;AI应用的开发方式正在被彻底重构。过去&#xff0c;构建一个基于大语言模型&#xff08;LLM&#xff09;的对话系统&#xff…

作者头像 李华
网站建设 2026/4/15 13:15:24

LangFlow开发定价策略影响预测模型

LangFlow开发定价策略影响预测模型 在企业决策日益依赖数据智能的今天&#xff0c;如何快速评估一项商业策略的潜在影响&#xff0c;成为产品、市场与管理层共同关注的核心问题。以“调整产品价格”为例&#xff0c;这样一个看似简单的动作&#xff0c;实则牵涉销量波动、客户心…

作者头像 李华
网站建设 2026/4/15 13:17:44

GitHub 上星星数量前 10 的 AI CRM 开源项目

原文链接&#xff1a;https://www.nocobase.com/cn/blog/top-10-open-source-ai-crm-projects-with-the-most-github-stars 导语 你们现在用的 CRM 是什么&#xff1f; 对很多团队来说&#xff0c;答案大概率是 SaaS 类型的 CRM&#xff0c;比如 Salesforce 这类成熟产品。它…

作者头像 李华