系统使用技术:SSM整合
前端技术:h-ui,js,css等
开发工具:eclipse
数据库:mysql5.7
项目介绍:
该系统为原创的项目,创作于2020年12月,包含详细数据库设计。基于SSM整合,数据层为MyBatis,mysql数据库,具有完整的业务逻辑。适合于毕业设计、课程设计、数据库大作业等。
数据库设计:
功能详情:
登陆注册 带验证码 管理员: 个人信息管理(姓名,年龄,性别,密码) 用户信息管理:增删改查 公告推荐:增删改查(推荐最近的理财,股票基金信息) 用户: 支出收入管理:支出与收入的增删改查(收支时间 金额 类别) 理财管理:理财情况的增删改查(如股票 基金 存款) 预算管理:对未来资金支出管理,并在当天进行提醒 统计报表:日收支统计 月收支统计 日收支折线图 月收支折线图 月收支饼状图 月收支对比图 公告信息:接收公告以及推荐信息
部分功能展示:
下面我们来看看部分相关功能。
系统登录:
用户-首页
登录成功后进入首页
用户-理财管理
查看理财信息
用户-收支管理
查看个人的收入与支出信息
用户-预算管理
关于预算的查看
用户-日收支折线图
查看日收支信息
用户-月收支折线图
用户-月收支饼状图
用户-月收支折线图
管理员-首页
登录成功后进入首页
管理员-用户管理
对用户操作
管理员-推荐管理
对推荐信息操作
管理员-公告管理
对公告操作
管理员-修改信息
修改个人信息或者密码
部分代码:
/* * @description:用户登录 * @author: mty */ @RequestMapping("/login") public ModelAndView login(HttpServletRequest reuqest, Model model) throws Exception{ ModelAndView mv = new ModelAndView(); mv.setViewName("common/index"); return mv; } /* * @description:登录校验 * @author: mty */ @RequestMapping("/userSubmit/{username}/{password}/{type}/{code}") @ResponseBody public String studentSubmit(@PathVariable("code") String code,@PathVariable("username") String username,@PathVariable("password") String password,@PathVariable("type") String type,HttpServletRequest request) throws Exception{ HttpSession session = request.getSession(); ModelAndView modelAndView = new ModelAndView(); try{ String verifyCode = (String) session.getAttribute("verifyCode"); if(!verifyCode.equals(code)){ request.setAttribute("msg", "验证码错误,请重试!"); return "204"; } if("01".equals(type)){ List<User> list = userService.queryByOne(username,password); if(list.size()==0) { request.setAttribute("msg", "对不起,用户或密码错误,请重试!"); return "201"; }else { if(list.size()!=1){ request.setAttribute("msg", "数据库错误,请重试!"); return "202"; }else{ User user = list.get(0); session.setAttribute("username", user.getUsername()); session.setAttribute("type", "01"); session.setAttribute("id", user.getId()); return "index1"; } } }else{ List<Admin> list = adminService.queryByOne(username,password); if(list.size()==0) { request.setAttribute("msg", "对不起,用户或密码错误,请重试!"); return "201"; }else { if(list.size()!=1){ request.setAttribute("msg", "数据库错误,请重试!"); return "202"; }else{ Admin admin = list.get(0); session.setAttribute("username", admin.getUsername()); session.setAttribute("type", "02"); session.setAttribute("id", admin.getId()); modelAndView.setViewName("index2"); return "index2"; } } } }catch(Exception e){ e.printStackTrace(); return "202"; } } /* * @description:登录 * @author: mty */ @RequestMapping("/goLogin/{data}") public ModelAndView goLogin(@PathVariable("data") String data, HttpServletRequest reuqest, Model model) throws Exception{ ModelAndView mv = new ModelAndView(); mv.setViewName(data); return mv; } /* * @description:获取消息定时任务,每天9点执行 * @author: mty */ @Scheduled(cron = "0 0 9 * * ?") public void sendMsg(){ List<Budget> result = budgetService.queryCurrData(); try{ for(int i = 0;i<result.size();i++){ User u = userService.queryById(result.get(i).getUserId()); if(u!=null){ if(!isMail(u.getEmail())){ System.out.print("邮箱格式错误,请修改个人信息!"); } //邮件主题 String emailTitle = "预算到期提醒"; //邮件内容 String emailContent = "你好:"+u.getUsername()+",你有"+result.get(i).getMoney()+"条预算已到期,请尽快登录系统处理!"; //发送邮件 SendmailUtil.sendEmail(u.getEmail(), emailTitle, emailContent); } } }catch(Exception e){ e.printStackTrace(); System.out.print("系统错误!"); } }
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,比较适合毕业设计和课程设计的相关应用。
好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~