Java程序员周末时间搞锭银行信息管理系统毕业设计(java springboot mybatis mysql vue elementui)等实现

  时间:2022-05-11 14:43:05  阅读量:18  评论数:0  作者:

Java程序员周末时间搞锭银行信息管理系统毕业设计(java springboot mybatis mysql vue elementui)等实现主要介绍的是博主介绍:✌公司项目主程、全网粉丝10W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,CSDN博客之星TOP100、掘金/华为云/阿里云/Info。

 博主介绍公司项目主程、全网粉丝10W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,CSDN博客之星TOP100、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业设计

公众号:java李杨勇 简历模板、学习资料、面试题库等都给你💪

🍅文末获取源码联系🍅

🍅CSDN官方推荐10W+JAVA技术人文章发布打卡社区🍅

前言介绍:

         在社会快速发展的影响下,银行继续发展,大大增加了存取款和贷款的数量、多样性、质量等等的要求,使小型银行的管理和运营比过去十年更加困难。依照这一现实为基础,设计一个快捷而又方便的小型银行管理系统是一项十分重要并且有价值的事情。对于传统的在银行管理制模型来说,银行管理系统具有许多不可比拟的优势,首先是快速更新订单信息,其次是大量信息的管理,最后是高度安全,以及使用简单等特性,这使得小型银行管理系统的管理和运营非常方便。现代社会的网络和信息技术不断提高,人们的生活水平达到一个新的水平。发展小型银行管理系统正是我们所需要的。这篇文章研究了相关管理系统的开发和实现,从需求分析、总体设计到具体实现,最终完成了整个银行管理系统,从而方便了用户和提高了银行的管理水平。

系统设计:

主要实现

首页、个人中心、通知公告管理、用户管理、员工管理、网点信息管理、账户信息管理、账户存款管理、账户取款管理、账户转账管理、在线咨询管理、销户信息管理、贷款产品管理、贷款信息管理、还款信息管理、离职申请管理、系统管理等功能,其具有简单的接口,方便的应用,强大的互动,完全基于互联网的特点。 

整个系统是由多个功能模块组合而成的,要将所有的功能模块都一一列举出来,然后进行逐个的功能设计,使得每一个模块都有相对应的功能设计,然后进行系统整体的设计。

系统结构图

主要用到以下技术:

Eclipse

本系统使用的是Eclipse, Eclipse是一个集成开发环境,可以用于Java或者移动应用等方面的程序开发。它有许多强大功能如:编译、调试、test和发布等。同时支持一些其他语言如:HTML脚本,SQL,SPRING BOOT,CSS样式,Spring,Hibernate,Javascript等。

 MySQL

MMySQL数据库是较为出名的关系形数据库,它使用大量的二维表来进行存储数据而不是把数据封装存储早同一个“仓库”中,十分有利于提高速度和数据应用的灵活性。

中小企业网站开发商的首选数据库一般也是MySQL。SQL语言是它的标准语言。由于该数据库在体积、速度和运营成本方面的优势,特别是开放源代码的技术特点,因此深受开发者的喜爱。

Spring Boot框架

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转(IOC)特性,IOC旨在方便项目维护和测试,它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期,容器可以通过扫描XML文件或类上特定Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程(AOP)框架,SpringAOP框架基于代理模式,同时运行时可配置;AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性,虽无法与AspectJ框架相比,但通过与AspectJ的集成,也可以满足基本需求。Spring框架下的事务管理、远程访问等功能均可以通过使用SpringAOP技术实现。Spring的事务管理框架为Java平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在Java平台的任何环境中工作。

功能截图:

 登录模块:

用户前台管理:

系统首页:在系统首页可以查看首页、网点信息、贷款产品、银行资讯、个人中心、后台管理等内容进行详细操作

网点信息:在网点信息页面中可以查看网点名称、网点介绍、网点图片、电话、地址等内容进行评论或收藏操作

贷款产品:在贷款产品页面中可以查看产品编号、产品名称、图片、标签、额度范围、月利率、贷款期限、发布日期、产品介绍等内容进行申请贷款、评论或收藏操作

个人中心: 在个人中心页面通过填写用户名、密码、姓名、图片、性别、联系电话、身份证等内容,进行信息更新操作,还可以根据需要对我的收藏进行详细操作

用户后台管理:

管理员登录进入小型银行管理系统可以查看首页、个人中心、通知公告管理、用户管理、员工管理、网点信息管理、账户信息管理、账户存款管理、账户取款管理、账户转账管理、在线咨询管理、销户信息管理、贷款产品管理、贷款信息管理、还款信息管理、离职申请管理、系统管理等功能进行详细操作

通知公告管理:在通知公告管理页面中可以查看索引、公告标题、图片、发布日期等内容,进行详情,修改或删除等操作

用户信息管理:在网点信息管理页面中可以对索引、网点名称、图片、网点介绍、电话、地址等内容,进行详情、修改、查看评论或删除等操作

员工信息管理

员工档案管理

网点信息管理

用户存款管理:在账户信息管理页面中可以对索引、用户名、姓名、联系电话、身份证、卡号、密码、金额、开卡日期等内容进行详情、存款、取款、转账、修改或删除等操作

用户取款管理

用户转账管理:在账户转账管理页面中可以对索引、用户名、姓名、联系电话、身份证、卡号、金额、对方卡号、开户名、转账说明、转账日期、员工工号、员工姓名等内容,进行详情、修改或删除等操作

贷款产品管理:在贷款产品管理页面中可以对索引、产品编号、产品名称、封面图、标签、额度范围、月利率、贷款期限、发布日期等内容,进行详情、修改、查看评论或删除等操作

还款信息管理:在还款信息管理页面中可以对索引、产品编号、产品名称、金额、备注、还款日期、用户名、姓名、联系电话、身份证、审核回复、审核状态、审核等内容,进行详情、修改或删除等操作

员工离职管理

系统设置管理: 

代码实现:


/**
 * 用户
 * 后端接口
 * @author 
 * @email 
 * @date 2022-04-08 18:18:08
 */
@RestController
@RequestMapping("/yonghu")
public class YonghuController {
    @Autowired
    private YonghuService yonghuService;
    
	@Autowired
	private TokenService tokenService;
	
	/**
	 * 登录
	 */
	@IgnoreAuth
	@RequestMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", username));
		if(user==null || !user.getMima().equals(password)) {
			return R.error("账号或密码不正确");
		}
		
		String token = tokenService.generateToken(user.getId(), username,"yonghu",  "用户" );
		return R.ok().put("token", token);
	}
	
	/**
     * 注册
     */
	@IgnoreAuth
    @RequestMapping("/register")
    public R register(@RequestBody YonghuEntity yonghu){
    	//ValidatorUtils.validateEntity(yonghu);
    	YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", yonghu.getYonghuming()));
		if(user!=null) {
			return R.error("注册用户已存在");
		}
		Long uId = new Date().getTime();
		yonghu.setId(uId);
        yonghuService.insert(yonghu);
        return R.ok();
    }
	
	/**
	 * 退出
	 */
	@RequestMapping("/logout")
	public R logout(HttpServletRequest request) {
		request.getSession().invalidate();
		return R.ok("退出成功");
	}
	
	/**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
    	Long id = (Long)request.getSession().getAttribute("userId");
        YonghuEntity user = yonghuService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 密码重置
     */
    @IgnoreAuth
	@RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
    	YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", username));
    	if(user==null) {
    		return R.error("账号不存在");
    	}
        user.setMima("123456");
        yonghuService.updateById(user);
        return R.ok("密码已重置为:123456");
    }


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,YonghuEntity yonghu,
		HttpServletRequest request){
        EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
		PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,YonghuEntity yonghu, HttpServletRequest request){
        EntityWrapper<YonghuEntity> ew = new EntityWrapper<YonghuEntity>();
		PageUtils page = yonghuService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, yonghu), params), params));
        return R.ok().put("data", page);
    }

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

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(YonghuEntity yonghu){
        EntityWrapper< YonghuEntity> ew = new EntityWrapper< YonghuEntity>();
 		ew.allEq(MPUtil.allEQMapPre( yonghu, "yonghu")); 
		YonghuView yonghuView =  yonghuService.selectView(ew);
		return R.ok("查询用户成功").put("data", yonghuView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        YonghuEntity yonghu = yonghuService.selectById(id);
        return R.ok().put("data", yonghu);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        YonghuEntity yonghu = yonghuService.selectById(id);
        return R.ok().put("data", yonghu);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
    	yonghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(yonghu);
    	YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", yonghu.getYonghuming()));
		if(user!=null) {
			return R.error("用户已存在");
		}
		yonghu.setId(new Date().getTime());
        yonghuService.insert(yonghu);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
    	yonghu.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(yonghu);
    	YonghuEntity user = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuming", yonghu.getYonghuming()));
		if(user!=null) {
			return R.error("用户已存在");
		}
		yonghu.setId(new Date().getTime());
        yonghuService.insert(yonghu);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody YonghuEntity yonghu, HttpServletRequest request){
        //ValidatorUtils.validateEntity(yonghu);
        yonghuService.updateById(yonghu);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        yonghuService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<YonghuEntity> wrapper = new EntityWrapper<YonghuEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = yonghuService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

/**
 * 销户信息
 * 后端接口
 * @author 
 * @email 
 * @date 2022-04-08 18:18:08
 */
@RestController
@RequestMapping("/xiaohuxinxi")
public class XiaohuxinxiController {
    @Autowired
    private XiaohuxinxiService xiaohuxinxiService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,XiaohuxinxiEntity xiaohuxinxi,
		HttpServletRequest request){
		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			xiaohuxinxi.setYonghuming((String)request.getSession().getAttribute("username"));
		}
        EntityWrapper<XiaohuxinxiEntity> ew = new EntityWrapper<XiaohuxinxiEntity>();
		PageUtils page = xiaohuxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xiaohuxinxi), params), params));

        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,XiaohuxinxiEntity xiaohuxinxi, HttpServletRequest request){
        EntityWrapper<XiaohuxinxiEntity> ew = new EntityWrapper<XiaohuxinxiEntity>();
		PageUtils page = xiaohuxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, xiaohuxinxi), params), params));
        return R.ok().put("data", page);
    }

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

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(XiaohuxinxiEntity xiaohuxinxi){
        EntityWrapper< XiaohuxinxiEntity> ew = new EntityWrapper< XiaohuxinxiEntity>();
 		ew.allEq(MPUtil.allEQMapPre( xiaohuxinxi, "xiaohuxinxi")); 
		XiaohuxinxiView xiaohuxinxiView =  xiaohuxinxiService.selectView(ew);
		return R.ok("查询销户信息成功").put("data", xiaohuxinxiView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        XiaohuxinxiEntity xiaohuxinxi = xiaohuxinxiService.selectById(id);
        return R.ok().put("data", xiaohuxinxi);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        XiaohuxinxiEntity xiaohuxinxi = xiaohuxinxiService.selectById(id);
        return R.ok().put("data", xiaohuxinxi);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody XiaohuxinxiEntity xiaohuxinxi, HttpServletRequest request){
    	xiaohuxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(xiaohuxinxi);
        xiaohuxinxiService.insert(xiaohuxinxi);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody XiaohuxinxiEntity xiaohuxinxi, HttpServletRequest request){
    	xiaohuxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(xiaohuxinxi);
        xiaohuxinxiService.insert(xiaohuxinxi);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody XiaohuxinxiEntity xiaohuxinxi, HttpServletRequest request){
        //ValidatorUtils.validateEntity(xiaohuxinxi);
        xiaohuxinxiService.updateById(xiaohuxinxi);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        xiaohuxinxiService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<XiaohuxinxiEntity> wrapper = new EntityWrapper<XiaohuxinxiEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}

		String tableName = request.getSession().getAttribute("tableName").toString();
		if(tableName.equals("yonghu")) {
			wrapper.eq("yonghuming", (String)request.getSession().getAttribute("username"));
		}

		int count = xiaohuxinxiService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

论文参考:

源码获取:

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

打卡 文章 更新 257/  365天

 精彩专栏推荐订阅下方专栏👇🏻👇🏻👇🏻👇🏻

Java项目精品实战案例《100套》

web前端期末大作业网页实战《100套》

关键词:java毕业设计 springboot项目实战 源码 论文 银行信息管理系统 vue elementUI,java,java程序员,程序,程序员,周末,时间,银行,信息,信息管理,信息管理系统,管理,管理系统,系统,毕业,毕业设计,设计,实现


相关标签/搜索

java培训java是什么javascriptjava面试题及答案2020javascript什么意思java程序员工资一般多少钱java程序员学习路线java程序员是做什么的java程序员月薪是多少java程序员需要掌握的知识程序人生的博客程序人生 - 普通病毒 VS 冠状病毒程序人生官网程序人生微信公众号程序员入门程序员培训程序员是做什么的程序员编程培训程序员工资一般多少周末愉快最简单一句话周末随心飞周末兼职周末是指哪一天周末愉快图片记录恋爱时间的app研究生报名及考试时间2020高考时间2020年放假安排时间表利用均匀水流导致的水位变化来显示时间绑定银行卡绑定银行卡的手机号不用了怎么办绑定银行卡的手机号怎么改建设银行客服电话建设银行用户和权限信息尚未同步完成信息系统项目管理师信息恢复信息流投放信息全知者信息管理与信息系统计算机信息管理信息管理与信息系统专业考研学校信息管理与信息系统考研专业方向信息管理与信息系统考研学校排名信息管理系统案例信息管理系统实验报告信息管理系统与信息系统专业信息管理系统有哪些典型的商品信息管理系统用户和组管理在哪里日志管理系统适应时代发展要求充分运用什么改进党员教育管理工作利用时间管理矩阵可以将每天所面临的事情分为数据库管理系统设备管理系统运维管理系统销售管理系统linux是什么操作系统分布式系统毕业季直播毕业寄语毕业感言毕业证毕业考试祝福语算法类毕业设计基于java的毕业设计题目java毕业设计基于stm32的毕业设计基于android的毕业设计题目网页设计进度条设计移动端网页设计ddd领域驱动设计领域驱动设计和实践多线程的实现方式实现中华民族伟大复兴的中国梦实现全体人民共同富裕的宏伟目标最终靠的是实现英语实现中国梦必须