基于python的网上银行综合管理系统

🍅 作者主页:Selina .a

🍅 简介:Java领域优质创作者🏆、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行交流合作。

主要内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。

🍅文末获取源码联系🍅  

目录

课题的提出

数据库设计

系统功能设计

关键代码

 专栏推荐

推荐项目

源码获取


课题的提出

随着世界经济信息化、全球网络化的到来推动信息线上管理的飞速发展,为网上银行综合管理行业的改革起到关键作用。若想达到安全快捷的目的,就需要拥有信息化的组织和管理模式,建立一套合理、畅通、高效的网上银行综合管理系统当前的网上银行综合管理存在工作效率低下,人员和资源调配不充分的问题,基于信息化的网上银行综合管理系统目前还没有完善的系统机制。

在此基础上,结合现有网上银行综合管理体系的特点,运用新技术,构建了以Django为基础的网上银行综合管理信息化管理体系。首先,以需求为依据,对目前传统的网上银行综合管理基础业务进行了较为详尽的和分析根据需求分析结果进行了系统的设计,并将其划分为管理员和用户两种角色主要功能包括首页,个人中心,用户管理,银行账户管理,存款信息管理,取款信息管理,转账信息管理,挂失信息管理等使用目前市场主流的技术Django框架构建,使用Python开发语言MySQL数据库对系统进行高内聚低耦合的设计,最终完成了网上银行综合管理系统实现

系统为当前传统网上银行综合管理提供了一个高效、便捷、信息化的解决方案有效管控了网上银行综合管理的各个环节,这为后期系统的优化提供了新的方向。


数据库设计

数据库的主要作用是储存和管理整个系统的数据。数据库中的数据在保证一定的独立性和安全性的前提下,也要有某种程度的共享,在一定条件范围内可以共享某些数据。必须保证数据库中每张表里存储的数据是安全的,如果没有经过身份认证,就无法查阅及使用。在进行数据库设计时,应根据具体情况,进行有针对性的数据库开发和设计。下面列举主要数据库表结构

表4-1:挂失信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

zhanghumingcheng

varchar

200

账户名称

guashishijian

datetime

挂失时间

guashiyuanyin

longtext

4294967295

挂失原因

zhanghao

varchar

200

账号

xingming

varchar

200

姓名

sfsh

varchar

200

是否审核

待审核

shhf

longtext

4294967295

审核回复

表4-2:存款信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

zhanghumingcheng

varchar

200

账户名称

jine

float

金额

cunkuanshijian

datetime

存款时间

zhanghao

varchar

200

账号

xingming

varchar

200

姓名

sfsh

varchar

200

是否审核

待审核

shhf

longtext

4294967295

审核回复

ispay

varchar

200

是否支付

未支付

表4-3:配置文件

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

name

varchar

100

配置参数名称

value

varchar

100

配置参数值

表4-4:转账信息

字段名称

类型

长度

字段说明

主键

默认值

id

bigint

主键

主键

addtime

timestamp

创建时间

CURRENT_TIMESTAMP

zhanghumingcheng

varchar

200

账户名称

jine

float

金额

zhuanzhangzhanghu

varchar

200

转账账户

zhuanzhangshijian

datetime

转账时间

zhanghao

varchar

200

账号

xingming

varchar

200

姓名

sfsh

varchar

200

是否审核

待审核

shhf

longtext

4294967295

审核回复

ispay

varchar

200

是否支付

未支付


系统功能设计

系统注册:系统注册页面的输入栏中输入用户注册信息进行注册操作,系统注册页面如图5-1所示:

 系统登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,进入操作系统进行操作,如图5-2所示。

 管理员进入主页面,主要功能包括对首页,个人中心,用户管理,银行账户管理,存款信息管理,取款信息管理,转账信息管理,挂失信息管理等进行操作,管理员主页面如图5-3所示

 管理员点击用户管理在用户页面输入账号,姓名和选择是否通过进行查询、新增或删除用户列表,并根据需要对用户详细信息进行详情、修改或删除操作,图5-4所示

管理员点击银行账户管理。进入银行账户页面输入账户名称,姓名和选择是否通过进行查询、新增或删除银行账户列表,并根据需要对银行账户详细信息进行详情,修改或删除操作,图5-5所示 

 管理员点击存款信息管理。在存款信息页面输入账户名称,姓名和选择是否通过进行查询或删除存款信息列表,并根据需要对存款详细信息进行详情或删除操作,图5-6所示

 管理员点击取款信息管理。在取款信息页面输入账户名称,姓名和选择是否通过进行查询或删除取款信息列表,并根据需要对取款详细信息进行详情或删除操作,图5-7所示

 管理员点击转账信息管理。在转账信息页面输入账户名称,姓名和选择是否通过进行查询或删除转账信息列表,并根据需要对转账详细信息进行详情或删除操作,图5-8所示

 管理员点击挂失信息管理。在挂失信息页面输入账户名称,姓名和选择是否通过进行查询或删除挂失信息列表,并根据需要对挂失详细信息进行详情或删除操作,图5-9所示

 用户进入系统可以对首页,个人中心,银行账户管理,存款信息管理,取款信息管理,转账信息管理,挂失信息管理等功能进行操作,用户页面如图5-10所示

 用户点击银行账户管理。进入银行账户页面输入账户名称,姓名和选择是否通过进行查询银行账户列表,并根据需要对银行账户详细信息进行详情,存款,取款或结账操作,图5-11所示

 用户点击存款信息管理。在存款信息页面输入账户名称,姓名和选择是否通过进行查询存款信息列表,并根据需要对存款详细信息进行详情操作,图5-12所示

 用户点击转账信息管理。在转账信息页面输入账户名称,姓名和选择是否通过进行查询转账信息列表,并根据需要对转账详细信息进行详情操作,图5-13所示

 用户点击挂失信息管理。在挂失信息页面输入账户名称,姓名和选择是否通过进行查询、新增或删除挂失信息列表,并根据需要对挂失详细信息进行详情、修改或删除操作,图5-14所示

 


关键代码


package com.controller;


import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
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.ResponseBody;
import org.springframework.web.bind.annotation.RestController;

import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private TokenService tokenService;

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
		if(user==null || !user.getPassword().equals(password)) {
			return R.error("账号或密码不正确");
		}
		String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
		return R.ok().put("token", token);
	}
	
	/**
	 * 注册
	 */
	@IgnoreAuth
	@PostMapping(value = "/register")
	public R register(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

	/**
	 * 退出
	 */
	@GetMapping(value = "logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
    	user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
	
	/**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
    	PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/list")
    public R list( UserEntity user){
       	EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
    		return R.error("用户已存在");
    	}
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));
    	if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {
    		return R.error("用户名已存在。");
    	}
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

 专栏推荐

Spring Boot+Vue+CSS+JavaScript+HTML等技术项目专栏推荐

项目汇总专栏推荐


推荐项目

基于Node.js+Vue+MySQL的小型企业工资管理系统

基于SSM+Android+MySQL的校园考研论坛 

基于Spring Boot+Android+MySQL的记录生活管理系统 

基于微信小程序的农业电商服务管理系统 

基于微信小程序的智慧物流小程序的设计与实现 


源码获取

 大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值