摘 要
近年来,随着网络基础设施的不断建成,互联网成为社会发展和经济增长的推动力。中国网民总体规模持续增长:一是城乡上网差距继续缩小,二是得益于互联网适应用老化改造持续推进,老年群体加速融入网络社会。上网的总时长保持增长,上网的终端设备呈现多元化,其中包括手机、笔记本电脑、电视机和平板电脑。其中,手机仍然是上网的主要设备。受新冠疫情影响,不但引起“大萧条”以来最严重的经济衰退,而且为人们的出行带来了极大的不便。由此带来的是,即时通信、网络视频、短视频用户、在线办公、在线医疗等应用保持较快增长,人们有愈来愈多的线上需求。从现在来看,国内的个人理财比较缓慢,广大个人理财应该加紧脚步,积极投身入到实践任务当中,不断积极探索,从实践中出来,总结出自己的理论方法。与传统的工作室相比较,个人理财APP具有开发成本低、方便快捷等特点,将会得到大力发展。
个人理财APP就是针对适合移动设备方便用户访问和浏览而进行搭建的,而且还是基于PC端进行开发。个人理财APP主要是针对智能手机用户的,有尺寸小、可方便携带的优势,带来了获取信息及时、方便快捷的用户体验,也可以减少加载资源的时间,以提前进行缓存内容。在当前各行业工作都转向线上的形势之下,个人理财APP充分发挥了它的优势,利用互联网将用户、管理员和平台相互联系。在大数据背景下,产生的数据会非常繁多,后台会对产生的数据进行汇总和处理,确定其真实性和合法性。
设计技术:
- 开发语言:Java
- 数据库:MySQL
- 技术:Springboot+Mybatis
-
工具:IDEA、Maven、Navicat
主要功能:
管理员功能如下:
- 用户管理
- 银行卡查看
- 个人征信管理
- 理财产品管理
- 权限管理
- 网贷审核
- 提醒还款
普通用户功能如下:
- 注册登录
- 理财投资
- 资金记录
- 安全网贷
- 我的银行卡管理
- 我的理财
- 我的借贷
- 系统消息查看
功能截图:
登录
首页
管理员:
数据库
package com.bjpowernode.finance.controller;
import com.bjpowernode.finance.common.Msg;
import com.bjpowernode.finance.entity.Admin;
import com.bjpowernode.finance.entity.User;
import com.bjpowernode.finance.service.AdminService;
import com.bjpowernode.finance.service.UserService;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.IncorrectCredentialsException;
import org.apache.shiro.authc.UnknownAccountException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpSession;
@Controller
@RequestMapping("/login")
public class LoginController {
@Autowired
UserService userService;
@Autowired
AdminService adminService;
//public static final Map<String, HttpSession> USR_SESSION = new HashMap<>();
public static String last_login = "";
@GetMapping("/loginVerifyUsername/{username}")
@ResponseBody
public Msg loginVerifyUsername(@PathVariable("username") String username) {
User user = userService.selectUserByTerms(username, null);
if (user != null) {
return Msg.success();
}
Admin admin = adminService.selectAdminByTerms(username, null);
if (admin != null) {
return Msg.success();
}
return Msg.fail();
}
@GetMapping("/verifyLogin")
@ResponseBody
public Msg verifyLogin(@RequestParam("username") String username, @RequestParam("password") String password,
HttpSession session) {
User loginUser = userService.selectUserByTerms(username, password);
if (loginUser != null) {
//获取当前用户
Subject subject = SecurityUtils.getSubject();
//封装用户登录数据
UsernamePasswordToken token = new UsernamePasswordToken(username, password);
try {
subject.login(token);
return Msg.success().add("url", "/user/index.html");
} catch (UnknownAccountException | IncorrectCredentialsException e) {
return Msg.fail();
}
}
Admin admin = adminService.selectAdminByTerms(username, password);
if (admin != null) {
//获取当前用户
Subject subject = SecurityUtils.getSubject();
//封装用户登录数据
UsernamePasswordToken token = new UsernamePasswordToken(username, password);
try {
subject.login(token);
return Msg.success().add("url", "/admin/index.html");
} catch (UnknownAccountException | IncorrectCredentialsException e) {
//model.addAttribute("msg","密码错误");
return Msg.fail();
}
}
return Msg.fail();
}
@PostMapping("/register")
@ResponseBody
public Msg register(@RequestParam("username") String username, @RequestParam("password") String password) {
User user = new User();
user.setUsername(username);
user.setPassword(password);
user.setStatus(0);
user.setReputation("良好");
userService.insertUser(user);
return Msg.success().add("url", "/");
}
}
要加V分享源码加LW