作者主页:夜未央5788

简介:Java领域优质创作者、Java项目、学习资料、技术互助

文末获取源码

项目介绍

该毕业设计使用了当前较为流行的spring boot,spring,spring mvc,mybatis,shiro框架分页处理使用了pagehelper进行操作,前台使用了模板语言thymeleaf,界面较为炫酷,适合年轻朋友。开发工具采用的是IDEA。该系统主要解决了理财中的一些问题,包含功能:权限管理,用户信息管理,理财产品管理等内容。

主要分为管理员和普通用户两种用户;
1.管理员模块主要包括:
用户信息管理:用户信息、银行卡、个人征信;
理财产品管理:零钱理财、工资理财、期限理财、基金理财、精选银行;
权限管理:用户权限、管理员权限

网贷管理:网贷审核、网贷信息;

2.普通用户模块主要包括
个人理财:零钱理财、工资理财、期限理财、基金理财、银行推荐;
金融工具:资金记录、安全网贷;
个人中心:我的理财、我的借贷、银行卡管理、账户安全;

技术选型

springboot+bootstrap+mysql8.0

运行

项目访问路径:

http://localhost:8080/

管理员登录: admin  123456

普通用户登录: lisi  123456

运行截图

相关代码

银行卡控制器

@Controller
public class BankCardController {@AutowiredBankCardService bankCardService;/*** 跳转到银行卡管理界面(用户)** @param model* @param session* @return*/@GetMapping("/user/personal/toBankCard.html")public String toBankCard(Model model, HttpSession session) {User loginUser = (User) session.getAttribute("loginUser");List<Bankcard> list = bankCardService.selectBankCardByUserId(loginUser.getId());model.addAttribute("bankCardList", list);model.addAttribute("pageTopBarInfo", "银行卡管理界面");model.addAttribute("activeUrl1", "personalActive");model.addAttribute("activeUrl2", "bankCardActive");return "/user/personal/bankcard";}/*** 新增银行卡** @param bankcard* @param session* @return*/@PostMapping("/user/addBankCard")@ResponseBodypublic Msg addBankCard(Bankcard bankcard, HttpSession session) {//System.out.println(bankcard.getCardbank());User loginUser = (User) session.getAttribute("loginUser");bankcard.setUserid(loginUser.getId());Integer result = bankCardService.insertBankCard(bankcard);if (result == 1) {return Msg.success();}return Msg.fail();}/*** 修改银行卡时回显银行卡信息** @param id* @return*/@GetMapping("/user/getBankCardById/{id}")@ResponseBodypublic Msg getBankCardById(@PathVariable("id") Integer id) {Bankcard bankcard = bankCardService.selectBankCardById(id);return Msg.success().add("bankcard", bankcard);}/*** 修改银行卡信息** @param id* @param bankcard* @return*/@PutMapping("/user/updateBankCard/{update-id}")@ResponseBodypublic Msg updateBankCard(@PathVariable("update-id") Integer id, Bankcard bankcard) {bankcard.setId(id);Integer result = bankCardService.updateBankCard(bankcard);if (result == 1) {return Msg.success();}return Msg.fail();}/*** 删除银行卡** @param id* @return*/@DeleteMapping("/user/deleteBankCard/{id}")@ResponseBodypublic Msg deleteBankCard(@PathVariable("id") Integer id) {Integer result = bankCardService.deleteBankCardById(id);if (result == 1) {return Msg.success();}return Msg.fail();}/*** 跳转到银行卡管理界面(管理员)* @param pageNum* @param pageSize* @param model* @param session* @return*/@GetMapping("/admin/userinfo/toBankCard.html")public String toBankCard1(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,@RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize,Model model, HttpSession session) {PageHelper.startPage(pageNum, pageSize);List<Bankcard> list = bankCardService.selectAllBankCard();PageInfo<Bankcard> pageInfo = new PageInfo<Bankcard>(list, 5);model.addAttribute("bankcardPageInfo",pageInfo);model.addAttribute("bankcardList",list);model.addAttribute("pageTopBarInfo", "银行卡管理界面");model.addAttribute("activeUrl1", "userInfoActive");model.addAttribute("activeUrl2", "bankcardActive");return "/admin/userinfo/bankcard";}
}

银行控制器

@Controller
public class BankController {@AutowiredBankService bankService;/*** 跳转用户银行推荐界面* @param model* @return*/@RequestMapping("/user/finance/toBank.html")public String toBank(Model model){List<Bank> list = bankService.selectAllBank();model.addAttribute("bankList",list);model.addAttribute("pageTopBarInfo","银行推荐界面");model.addAttribute("activeUrl1","financeActive");model.addAttribute("activeUrl2","bankActive");return "user/finance/bank";}/*** 跳转到推荐银行管理界面(管理员)* @param pageNum* @param pageSize* @param model* @param session* @return*/@GetMapping("/admin/finance/toBank.html")public String toBank(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,@RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize,Model model, HttpSession session) {PageHelper.startPage(pageNum, pageSize);List<Bank> list = bankService.selectAllBank();PageInfo<Bank> pageInfo = new PageInfo<Bank>(list, 5);model.addAttribute("finacnePageInfo",pageInfo);model.addAttribute("financeList",list);model.addAttribute("activeUrl1", "financeActive");model.addAttribute("activeUrl2", "bankctive");model.addAttribute("pageTopBarInfo", "推荐银行管理界面");return "/admin/finance/bank";}/*** 新增推荐银行** @return*/@PostMapping("/admin/addBank")@ResponseBodypublic Msg addBank(Bank bank){Integer result = bankService.insertBank(bank);if (result==1){return Msg.success();}return Msg.fail();}/*** 更新时回显信息* @param id* @return*/@GetMapping("/admin/getBankInfoById/{id}")@ResponseBodypublic Msg getBankInfoById(@PathVariable("id") Integer id){Bank bank = bankService.selectBankById(id);return Msg.success().add("bank",bank);}/*** 更新* @param id** @return*/@PutMapping("/admin/updateBank/{id}")@ResponseBodypublic Msg updateBank(@PathVariable("id") Integer id,Bank bank){bank.setId(id);Integer result = bankService.updateBank(bank);if (result==1){return Msg.success();}return Msg.fail();}/*** 删除* @param id* @return*/@DeleteMapping("/admin/deleteBankById/{id}")@ResponseBodypublic Msg deleteBankById(@PathVariable("id") Integer id){Integer result = bankService.deleteBankById(id);if (result==1){return Msg.success();}return Msg.fail();}
}

零钱修改

@Controller
public class ChangeMoneyController {@AutowiredChangeMoneyService changeMoneyService;@AutowiredUserChangeMoneyService userChangeMoneyService;@AutowiredFlowOfFundsService flowOfFundsService;/*** 跳转到零钱理财界面(用户)* @param model* @return*/@RequestMapping("/user/finance/toChangeMoney.html")public String toChangemoney(Model model){List<ChangeMoney> list = changeMoneyService.selectAllChangeMoney();model.addAttribute("changeMoneyList",list);model.addAttribute("pageTopBarInfo","零钱理财界面");model.addAttribute("activeUrl1","financeActive");model.addAttribute("activeUrl2","changeMoneyActive");return "/user/finance/changemoney";}/*** 买入工资理财产品* @param changeMoneyId* @param userId* @return*/@PostMapping("/user/buyChangeMoney")@ResponseBodypublic Msg buyChangeMoney(@RequestParam("changeMoneyId")Integer changeMoneyId,@RequestParam("userId") Integer userId ){ChangeMoney cm = changeMoneyService.selectChangeMoneyById(changeMoneyId);UserChangeMoney ucm = new UserChangeMoney();ucm.setUserid(userId);ucm.setChangeid(changeMoneyId);ucm.setStarttime(new Date());ucm.setAveryield(cm.getAnnualincome());ucm.setProfit(cm.getAnnualincome().multiply(cm.getInvesmoney()));ucm.setStatus(1);Integer result = userChangeMoneyService.insertUserChangeMoney(ucm);if (result==1){FlowOfFunds fof = new FlowOfFunds();fof.setUserid(userId);fof.setFlowmoney(cm.getInvesmoney());fof.setType(1);fof.setSource(cm.getName());fof.setCreatetime(new Date());fof.setFunddesc("无");flowOfFundsService.insertFlowOfFunds(fof);return Msg.success();}else {return Msg.fail();}}/*** 跳转到零钱理财管理界面(管理员)* @param pageNum* @param pageSize* @param model* @param session* @return*/@GetMapping("/admin/finance/toChangeMoney.html")public String toUserInfo(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,@RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize,Model model, HttpSession session) {PageHelper.startPage(pageNum, pageSize);List<ChangeMoney> list = changeMoneyService.selectAllChangeMoney();PageInfo<ChangeMoney> pageInfo = new PageInfo<ChangeMoney>(list, 5);model.addAttribute("finacnePageInfo",pageInfo);model.addAttribute("financeList",list);model.addAttribute("activeUrl1", "financeActive");model.addAttribute("activeUrl2", "changemoneyActive");model.addAttribute("pageTopBarInfo", "零钱理财管理界面");return "/admin/finance/changemoney";}/*** 新增零钱理财产品* @param changeMoney* @return*/@PostMapping("/admin/addChangeMoney")@ResponseBodypublic Msg addChangeMoney(ChangeMoney changeMoney){Integer result = changeMoneyService.insertChangeMoney(changeMoney);if (result==1){return Msg.success();}return Msg.fail();}/*** 更新时回显信息* @param id* @return*/@GetMapping("/admin/getChangeMoneyInfoById/{id}")@ResponseBodypublic Msg getChangeMoneyInfoById(@PathVariable("id") Integer id){ChangeMoney changeMoney = changeMoneyService.selectChangeMoneyById(id);return Msg.success().add("changeMoney",changeMoney);}/*** 更新* @param id* @param changeMoney* @return*/@PutMapping("/admin/updateChangeMoney/{id}")@ResponseBodypublic Msg updateChangeMoney(@PathVariable("id") Integer id,ChangeMoney changeMoney){changeMoney.setId(id);Integer result = changeMoneyService.updateChangeMoney(changeMoney);if (result==1){return Msg.success();}return Msg.fail();}/*** 删除* @param id* @return*/@DeleteMapping("/admin/deleteChangeMoneyById/{id}")@ResponseBodypublic Msg deleteChangeMoneyById(@PathVariable("id") Integer id){Integer result = changeMoneyService.deleteChangeMoneyById(id);if (result==1){return Msg.success();}return Msg.fail();}
}

贷款控制器

@Controller
public class LoanController {@AutowiredLoanService loanService;@AutowiredInfoService infoService;/*** 跳转到网贷申请界面** @param model* @return*/@RequestMapping("/user/tools/toApplyLoan.html")public String toApplyLoan(Model model) {model.addAttribute("pageTopBarInfo", "网贷申请界面");model.addAttribute("activeUrl1", "toolsActive");model.addAttribute("activeUrl2", "applyLoanActive");return "/user/tools/applyloan";}/*** 跳转到我的借贷界面** @param model* @return*/@RequestMapping("/user/personal/toMyLoan.html")public String toMyLoan(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,@RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize,Model model, HttpSession session) {User loginUser = (User) session.getAttribute("loginUser");PageHelper.startPage(pageNum, pageSize);List<Loan> list = loanService.selectLoanByLoanId(loginUser.getId());PageInfo<Loan> pageInfo = new PageInfo<Loan>(list, 5);model.addAttribute("myLoansPageInfo", pageInfo);model.addAttribute("loansList", list);model.addAttribute("pageTopBarInfo", "我的借贷界面");model.addAttribute("activeUrl1", "personalActive");model.addAttribute("activeUrl2", "myLoanActive");return "/user/personal/myloan";}/*** 新增网贷申请** @param amout* @param term* @param rate* @param session* @return*/@PostMapping("/user/applyLoan")@ResponseBodypublic Msg applyLoan(@RequestParam("amout") BigDecimal amout,@RequestParam("term") Integer term,@RequestParam("rate") BigDecimal rate, HttpSession session) {User loginUser = (User) session.getAttribute("loginUser");Loan loan = new Loan();loan.setLoanid(loginUser.getId());loan.setLoantime(new Date());loan.setAmount(amout);loan.setTerm(term);loan.setRate(rate);loan.setApplystatus(0);loan.setLoanstatus(0);Integer result = loanService.insertLoan(loan);if (result == 1) {return Msg.success();}return Msg.fail();}/*** 还款** @param id* @return*/@PutMapping("/user/repayment/{id}")@ResponseBodypublic Msg repayment(@PathVariable("id") Integer id) {Loan loan = loanService.selectLoanById(id);loan.setLoanstatus(2);Integer result = loanService.updateLoan(loan);if (result == 1) {return Msg.success();}return Msg.fail();}/*** 跳转到网贷审核(管理员)** @param pageNum* @param pageSize* @param model* @param session* @return*/@GetMapping("/admin/loan/toLoanexam.html")public String toLoanexam(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,@RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize,Model model, HttpSession session) {// 引入PageHelper插件,在查询之前调用startPage方法,传入页码以及每页大小PageHelper.startPage(pageNum, pageSize);List<Loan> list = loanService.selectAllLoanByApplyStatusAsc();// 使用PageInfo包装查询后的结果,并交给页面处理// PageInfo封装了详细的分页信息,包括我们查询出来的数据,还可以传入连续显示的页数(5)PageInfo<Loan> pageInfo = new PageInfo<Loan>(list, 5);model.addAttribute("loanPageInfo", pageInfo);model.addAttribute("loanList", list);model.addAttribute("activeUrl1", "loanActive");model.addAttribute("activeUrl2", "loanexamActive");model.addAttribute("pageTopBarInfo", "网贷审核界面");return "admin/loan/loanexam";}/*** 审核通过** @param id* @return*/@PutMapping("/loan/passApplyStatus/{id}")@ResponseBodypublic Msg passApplyStatus(@PathVariable("id") Integer id, HttpSession session) {Admin admin = (Admin) session.getAttribute("loginAdmin");Loan loan = loanService.selectLoanById(id);loan.setExamineid(admin.getId());loan.setApplystatus(2);Integer result = loanService.updateLoan(loan);if (result == 1) {Info info = new Info();info.setSendid(admin.getId());info.setReceiveid(loan.getLoanid());info.setCreatetime(new Date());info.setTitle("网贷审核通过");info.setInfodesc("用户" + loan.getUser().getUsername() + "的" + loan.getAmount() + "元网贷申请审核通过!审核人为:" + admin.getUsername());info.setStatus(0);infoService.insertInfo(info);return Msg.success();}return Msg.fail();}/*** 审核不通过** @param id* @return*/@PutMapping("/loan/notPassApplyStatus/{id}")@ResponseBodypublic Msg notPassApplyStatus(@PathVariable("id") Integer id, HttpSession session) {Admin admin = (Admin) session.getAttribute("loginAdmin");Loan loan = loanService.selectLoanById(id);loan.setExamineid(admin.getId());loan.setApplystatus(1);Integer result = loanService.updateLoan(loan);if (result == 1) {Info info = new Info();info.setSendid(admin.getId());info.setReceiveid(loan.getUser().getId());info.setCreatetime(new Date());info.setTitle("网贷审核未通过");info.setInfodesc("用户" + loan.getUser().getUsername() + "的" + loan.getAmount() + "元网贷申请审核未通过!审核人为:" + admin.getUsername());info.setStatus(0);infoService.insertInfo(info);return Msg.success();}return Msg.fail();}/*** 跳转到网贷信息界面(管理员)** @param pageNum* @param pageSize* @param model* @param session* @return*/@GetMapping("/admin/loan/toLoaninfo.html")public String toLoaninfo(@RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,@RequestParam(value = "pageSize", defaultValue = "5") Integer pageSize,Model model, HttpSession session) {// 引入PageHelper插件,在查询之前调用startPage方法,传入页码以及每页大小PageHelper.startPage(pageNum, pageSize);List<Loan> list = loanService.selectAllExamedLoan();// 使用PageInfo包装查询后的结果,并交给页面处理// PageInfo封装了详细的分页信息,包括我们查询出来的数据,还可以传入连续显示的页数(5)PageInfo<Loan> pageInfo = new PageInfo<Loan>(list, 5);model.addAttribute("loanPageInfo", pageInfo);model.addAttribute("loanList", list);model.addAttribute("activeUrl1", "loanActive");model.addAttribute("activeUrl2", "loaninfoActive");model.addAttribute("pageTopBarInfo", "网贷信息界面");return "admin/loan/loaninfo";}@PutMapping("/loan/remindPay/{id}")@ResponseBodypublic Msg remindPay(@PathVariable("id") Integer id, HttpSession session) {Admin admin = (Admin) session.getAttribute("loginAdmin");Loan loan = loanService.selectLoanById(id);Info info = new Info();info.setSendid(admin.getId());info.setReceiveid(loan.getUser().getId());info.setCreatetime(new Date());info.setTitle("还款通知");info.setInfodesc("用户" + loan.getUser().getUsername() + "申请的" + loan.getAmount() + "元网贷该还款了!该提醒发送人为:" + admin.getUsername());info.setStatus(0);Integer result = infoService.insertInfo(info);if (result == 1) {return Msg.success();}return Msg.fail();}
}

如果也想学习本系统,下面领取。回复:013springboot

Java项目:springboot个人理财系统相关推荐

  1. java项目任务跟踪系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署

    java项目任务跟踪系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 java项目任务跟踪系统计算机毕业设计MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: 项目架构:B ...

  2. 基于JAVA项目任务跟踪系统计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVA项目任务跟踪系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA项目任务跟踪系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语 ...

  3. springboot个人理财系统

    项目介绍 该毕业设计使用了当前较为流行的spring boot,spring,spring mvc,mybatis,shiro框架分页处理使用了pagehelper进行操作,前台使用了模板语言thym ...

  4. 本地Java项目连接Linux系统上的Redis

    本地Java项目连接Linux系统上的Redis 一.配置Redis 修改redis.conf文件 1.将bind 127.0.0.1加上注释,(#bind 127.0.0.1),允许出本机外的IP访 ...

  5. java学习笔记(9) 第9章 Java项目-房屋出租系统

    Java项目-房屋出租系统 代码打包--百度网盘链接: 9.1 房屋出租系统-需求 9.1.1 项目需求说明 9.2 房屋出租系统-界面 9.3 房屋出租系统-设计(!!) 9.4 房屋出租系统-实现 ...

  6. Java项目:化妆品商城系统(java+Springboot+ssm+mysql+jsp+maven)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统主要实现的功能有: 网上商城系统,前台+后台管理,用户注册,登录,上架展示,分组展示,搜索,收货地址管理,购物车管理,添 ...

  7. Java项目:在线考试系统(java+springboot+vue+jsp+mysql+maven)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 本系统主要实现的功能有: 学生以及老师的注册登录,在线考试,错题查询,学生管理,问题管理,错题管理,错题查询,分数查询,试卷管 ...

  8. 基于SpringBoot的Java项目-销售评价系统(附:源码 课件)

    项目背景 我国的中小型企业飞速发展,每年的产品产销量越来越大,汽车产品消费市场也越来越成熟,消费者不仅对产品质量要求越来越高,还对与产品质量关系不大的附属因素的要求也越来越高,在竞争激烈的环境下,在做 ...

  9. java项目springboot医院固定资产检修管理系统

    功能介绍 主要对主页.个人中心.员工管理.供应商管理.设备类型管理.仪器设备管理.设备采购管理.设备入库管理.设备申请管理.检修信息管理的实现. springboot是spring家族中的一个全新框架 ...

最新文章

  1. 事物(Jdbc) 例子
  2. jQuery Ajax详解
  3. ECV2020开赛!识别火焰/头盔/后厨老鼠/摔倒,30万奖金,4万张数据集,等你来战!...
  4. 完成AOP 顶层设计-AopProxy
  5. redhat6.4 安装oracle 10g error
  6. HALCON学习之旅(六)
  7. python-基础学习篇(一)
  8. sqlserver数据库修复
  9. 十位语言大师给你的英语学习建议
  10. Android开发人员不得不收集的代码(不断更新)
  11. k折交叉验证KFold()函数
  12. Spring Cloud Gateway源码系列之路由配置加载过程
  13. 访客模式 无痕模式 区别_访客设计模式示例
  14. OpenGL使用FBO与PBO上行纹理 (YUYV)
  15. MLDonkey,比aMule好的BT软件
  16. 百度ai 人脸识别 java_百度ai 接口 人脸识别
  17. Java:字符串(String)类型转成整型(int)的方法
  18. 制作影视后期视频作品 应该学习会声会影还是AE PR软件?
  19. 安卓案例:学生信息管理
  20. Altium Designer 原理图生成pcb的时候不添加room

热门文章

  1. 国家电影局发声打击盗版侵权,快手“3分钟看电影”该何去何从?
  2. 软考的计算机网络的IP地址应用
  3. C++ Linux下通过USB控制Nikon相机拍照和抓取照片
  4. 初二计算机考试会影响中考吗,初二会考不及格后果 会影响中考吗
  5. 2021-06-24Leetcode240.二维数组中的查找
  6. mysql sqlserver 拷贝_SQLServer复制搭建过程
  7. 智慧地球危害中国国家安全
  8. 神经网络框架及相关信息收集
  9. 彩虹岛虚拟机多开 登陆游戏不了,初始化gpk异常
  10. python如何创建txt_python创建txt文件