基于springboot校园缴费管理系统

博主主页猫头鹰源码

博主简介:Java领域优质创作者、优快云博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战

主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询

文末联系获取

项目介绍: 

随着社会的不断发展和教育事业的不断壮大,各种信息化技术的应用也越来越广泛,校园缴费系统作为一种信息化管理工具,也得到了越来越多学校和教育机构的重视和使用。在这个背景下,研究和开发一款完善、高效、易用的校园缴费系统具有非常重要的意义。

首先,校园缴费业务管理系统这块发展速度较慢,大部分中学、小学主要是集中在学杂费收取系统的建设,缴费业务过于单一,加上不同年级具有不同的学费标准,收取各种类型的费用,以及统计各种类型的缴费情况都需要投入大量的人力物力,随着学校规模的扩大,由此带来的问题更加突出。其次,校园缴费系统可以提高工作效率,减轻工作负担。而传统的缴费方式需要学校财务部门手动核对每一笔缴费记录,需要大量的人力物力,而校园缴费系统则可以自动完成数据的收集和核对,从而提高工作效率,减轻工作负担。此外,校园缴费系统还可以提高缴费的便捷性。同时可以实现线上支付这种缴费方式,方便学生进行缴费。

用例描述:

本系统的用例主要分为管理员用例和学生用例,其用例描述如下:

(1)注册与登录用例:学生用户可以通过注册功能创建账号并登录系统。在注册时,学生需要提供正确的学号,否则无法进行注册,符合学号格式则可以选择一个安全密码的后进行注册。学生登录时需要输入正确的学号和密码。管理员可以通过预先设置的账号登录功能进入系统管理界面,输入正确的管理员账号和密码即可进入系统管理界面。

(2)学生账号管理用例:管理员都可以对学生账号等进行操作。在添加学生账号时,管理员需要输入学生的账号资料,并为其分配账号和密码。在调整学生帐户时,管理者能够更改学生的基本资料和登录凭据。同样,学生也可以更新自己帐户的信息和更改密码。但修改密码需要确认原密码后才能修改成功,管理员则不需要。

(3)缴费管理用例:缴费管理用例包括缴费类型管理、费用管理、管理员可以添加、修改、删除缴费类型,如学费、住宿费、杂费等。对每个缴费类型,管理员可以设置费用标准。管理员可以发送费用催缴通知,提醒学生及时缴费,并可以设置费用减免数目。

(4)消息通告与催缴信息用例:学生用户可以查看系统发布的消息通告,如学校活动、通知等,同时也可以收到费用催缴通知。管理员可以发布、修改、删除消息通告,查看催缴信息。

(5)管理员管理用例:管理员可以编辑操作管理员账号,在添加管理员账号时,需要输入管理员的账号资料,也就是分配账号和密码。在修改管理员账号时,管理员可以修改登录信息。在删除管理员账号时,直接点击删除即可。

系统包含技术:

后端:springBoot、mybatis
前端:bootstrap、js、css等,html页面
开发工具:idea
数据库:mysql 5.7
JDK版本:jdk1.8

部分截图说明:

下面是登录页面

下面是首页

管理员可以进行学生管理 

管理员对费用类型管理

 管理员查看费用缴纳信息

 管理员对缴费管理

 学生查看费用

部分代码:

/**列表数据*/     @GetMapping("/list")     @ResponseBody     public PageResultVo findCost(Cost cost, Integer limit, Integer page, HttpSession session){         String type = (String)session.getAttribute("type");         if(type.equals("02")){             Student student = (Student)session.getAttribute("userInfo");             cost.setSid(student.getId().toString());         }         PageHelper.startPage(page,limit);         List<Cost> costList = costService.selectByCondition(cost);         for(int i=0;i<costList.size();i++){             Map mp = new HashMap();             mp.put("cid",costList.get(i).getCid());             mp.put("sid",costList.get(i).getSid());             List<Waiver> waivers = waiverService.queryFilter(mp);             if(waivers.size()>0){                 BigDecimal money = new BigDecimal(costList.get(i).getMoney());                 BigDecimal fee = new BigDecimal(waivers.get(0).getFee());                 costList.get(i).setFeeMoney(fee.setScale(2, BigDecimal.ROUND_HALF_UP).toString());                 BigDecimal actual = money.subtract(fee).setScale(2, BigDecimal.ROUND_HALF_UP);                 costList.get(i).setActualMoney(actual.toString());             }else{                 BigDecimal money = new BigDecimal(costList.get(i).getMoney());                 costList.get(i).setFeeMoney("无减免");                 costList.get(i).setActualMoney(money.setScale(2, BigDecimal.ROUND_HALF_UP).toString());             }         }         PageInfo<Cost> pages = new PageInfo<>(costList);         return JsonData.table(costList,pages.getTotal());     }       /**编辑详情*/     @GetMapping("/edit")     @ResponseBody     public Cost edit(Model model, String id){         return costService.selectById(id);     }       /**编辑*/     @PostMapping("/edit")     @ResponseBody     public JsonData edit(Cost cost){         int a = costService.updateById(cost);         if (a > 0) {           return JsonData.success(null,"编辑成功!");         } else {           return JsonData.fail("编辑失败");         }     }       /**删除*/     @PostMapping("/del")     @ResponseBody     public JsonData del(String id){         try{           costService.deleteById(Integer.parseInt(id));         }catch(Exception ex){           JsonData.fail("出现错误");         }         return JsonData.success(null,"删除成功");     }      /**新增*/     @PostMapping("/add")     @ResponseBody     public JsonData add(Cost cost){         cost.setStatus("01");         Date date = new Date();         cost.setCreateTime(date);         int num = costService.addByCondition(cost);         if(num > 0){           return JsonData.success(null,"添加成功");         }else {           return JsonData.fail("添加失败");         }     }

以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值