java在线医院管理系统

1、背景

java在线医院管理系统

2、技术栈

本系统基于SpringBoot的在线医院管理系统,使用的技术如下:
(1)项目整体采用SpringBoot+MyBatis整合框架。
(2)前端页面采用html页面技术,配合themealf完成页面的处理显示。
(3)前后端的交互采用Ajax技术。
(4)数据库采用MySQL数据库。

3、功能概述

有挂号收费、门诊管理、药房管理、收费管理、体检管理、个人中心等。

就诊卡提供了手动和读卡两种方式录入,其中IC读卡器使用的是"德卡D3",SDK使用的是德卡官网提供的

用户注册,验证邮件的邮箱考虑到安全问题,暂不提供授权码,如有需求可使用自己邮箱,开启POP3/SMTP服务后,配置到项目里。

4、功能效果截图

4.1首页管理

4.2 挂号收费

4.2 门诊管理

 4.3 药房管理

 4.3体检管理

 

 4.4用户中心

5、视频效果演示

具体演示视频可以参考:

java在线医院管理系统_哔哩哔哩_bilibili

6、相关代码设计实现

6.1 登录相关代码

/**
 * 登录验证
 *
 * @param reqVO
 * @return
 */
@Override
public BaseResponse<String> doLogin(UserLoginReqVO reqVO) {

	String email = reqVO.getEmail();
	String password = reqVO.getPassword();

	UserEntity user = iUserRepository.findByEmail(email);

	if (StringUtils.isEmpty(user)) {

		return BaseResponse.error(HisConstants.USER.USER_NOT_EXIST);
	}

	//登录验证
	UsernamePasswordToken token = new UsernamePasswordToken(email, password);
	Subject subject = SecurityUtils.getSubject();
	try {
		subject.login(token);
	} catch (AuthenticationException e) {
		return BaseResponse.error(HisConstants.USER.PASSWORD_ERROR);
	}
	//验证邮箱激活状态
	if (user.getEmailStatus().equals(0)) {
		return BaseResponse.error(HisConstants.USER.EMAIL_STATUS_INACTIVE);
	}
	//验证角色审核状态
	List<UserRoleEntity> userRoleList = iUserRoleRepository.findByUId(user.getId());

	//审核通过角色个数
	long passStatusCount = userRoleList.stream()
			.filter(userRole -> userRole.getRoleStatus().equals(1)).count();

	if (passStatusCount == 0) {
		//未审核角色个数
		long unAuditStatusCount = userRoleList.stream()
				.filter(userRole -> userRole.getRoleStatus().equals(0)).count();

		if (unAuditStatusCount >= 1) {
			return BaseResponse.error(HisConstants.USER.ROLE_STATUS_NOTAUDIT);
		}
		//审核未通过
		else {
			return BaseResponse.error(HisConstants.USER.ROLE_STATUS_NOTPASS);
		}
	}

	//保存用户登录信息
	asyncTask.saveLoginInfor(reqVO.getIp(), reqVO.getBroswer(), email);

	return BaseResponse.success(HisConstants.USER.SUCCESS);
}

6.2 后台添加账户

/**
 * 后台添加账户
 *
 * @param reqVO
 * @return
 */
@Override
public BaseResponse<String> saveUserAndSendEmailTemp(UserRegisterReqVO reqVO) {
	String email = reqVO.getEmail();
	String roleName = reqVO.getRoleName();

	//验证角色
	RoleEntity role = iRoleRespository.findByDescription(roleName);
	if (role == null) {
		return BaseResponse.error("您选择的角色不存在,请重试!");
	}

	UserEntity checkUser = iUserRepository.findByEmail(email);

	if (checkUser != null) {

		return BaseResponse.error(HisConstants.USER.ACCOUNT_EXIST);
	}

	UserEntity userEntity = new UserEntity();

	userEntity.setEmail(email);
	userEntity.setUsername(reqVO.getUsername());
	userEntity.setPlainPassword(reqVO.getPassword());
	//生成盐和加盐密码
	String salt = MD5Util.md5Encrypt32Lower(reqVO.getEmail());
	String password = new SimpleHash("MD5", reqVO.getPassword(), salt, 1024).toHex(); // 使用SimpleHash类对原始密码进行加密

	userEntity.setPassword(password);
	userEntity.setSalt(salt);
	//生成激活码
	String validateCode = MD5Util.md5Encrypt32Upper(reqVO.getEmail());
	userEntity.setValidateCode(validateCode);
	userEntity.setEmailStatus(0);

	try {
		iUserRepository.saveAndFlush(userEntity);
		//保存角色
		UserEntity user = iUserRepository.findByEmail(email);
		String uId = user.getId();

		UserRoleEntity userRole = new UserRoleEntity();
		userRole.setuId(uId);
		userRole.setRoleId(role.getId());
		String desciption = user.getEmail() + "#" + role.getRole();
		userRole.setDescription(desciption);
		userRole.setRoleStatus(0);

		iUserRoleRepository.saveAndFlush(userRole);
		return BaseResponse.success(HisConstants.USER.SUCCESS);
	} catch (Exception e) {
		e.printStackTrace();
		return BaseResponse.error("保存用户信息发送异常!");
	}
}

7、数据库设计实现

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
 《Java web医院分诊挂号管理系统》该项目采用技术jsp、SpringMVC、spring,hibernate,tomcat服务器、mysql数据库 开发工具eclipse,项目含有源码、论文、配套开发软件、软件安装教程、项目发布教程分诊管理主要实现患者信息录入,分诊,排队等功能。    具体实现以下功能:   1 患者查询功能:为了方便医生查找患者等信息,将所有患者信息按照需要进行分类。这样医生就能很方便的找到自己需要的信息。   2 添加功能:管理员可以通过填写表格的形式输入患者姓名,联系电话等相关信息。系统可以自动避免重复信息。   3 修改功能:管理员可以对数据库中的信息进行修改。系统能够通过管理员给出的条件查找出所要修改的信息,对修改后的信息进行保存,并自动查找是否是重复信息。   4 删除功能:管理员可以对数据进行删除操作。系统能够通过管理员给出的条件查找出要删除的信息,并提示是否确定删除,如果确定删除,则把相关信息从数据库中删除掉。   5 管理员查询功能:管理员可以通过条件选择查询所有信息,并进行排序。 课程目标:    1、学会各类开发软件安装、项目导入以及项目发布,含项目源码,需求文档,配套软件等    2、该项目主要功能完善,主要用于简历项目经验丰富,以及毕业设计或者二次开发    3、提供项目源码,设计文档、数据库sql文件以及所有配套软件,按照教程即可轻松实现项目安装部署  本课程为素材版,需要实战版代码讲解教程的同学可以点击如下链接:java项目实战之电商系统全套(前台和后台)(java毕业设计ssm框架项目)https://edu.csdn.net/course/detail/25771java项目之oa办公管理系统(java毕业设计)https://edu.csdn.net/course/detail/23008java项目之hrm人事管理项目(java毕业设计)https://edu.csdn.net/course/detail/23007JavaWeb项目实战之点餐系统前台https://edu.csdn.net/course/detail/20543JavaWeb项目实战之点餐系统后台https://edu.csdn.net/course/detail/19572JavaWeb项目实战之宿舍管理系统https://edu.csdn.net/course/detail/26721JavaWeb项目实战之点餐系统全套(前台和后台)https://edu.csdn.net/course/detail/20610java项目实战之电子商城后台(java毕业设计SSM框架项目)https://edu.csdn.net/course/detail/25770java美妆商城项目|在线购书系统(java毕业设计项目ssm版)https://edu.csdn.net/course/detail/23989系统学习课程:JavaSE基础全套视频(环境搭建 面向对象 正则表达式 IO流 多线程 网络编程 java10https://edu.csdn.net/course/detail/26941Java Web从入门到电商项目实战挑战万元高薪(javaweb教程)https://edu.csdn.net/course/detail/25976其他素材版(毕业设计或课程设计)项目:点击老师头像进行相关课程学习

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值