113 基于ssm+jsp的中医问诊系统

功能大致

该系统为用户找到医院预约挂号信息提供了更安全、更高效、更便捷的途径。本系统有三个角色:管理员、医生和用户,要求具备以下功能:

(1)用户可以浏览首页了解基于SSM框架实现的中医问诊系统信息,并进行专家医生、新闻公告、留言板、个人中心、后台管理等操作;

image-20241120195311302

(2)管理员通过后台管理员界面,实现对个人中心,用户管理,医生管理,专家医生管理,科室管理,挂号信息管理,取消挂号管理,就诊记录管理,留言板,系统管理让用户实时知道最新的基于SSM框架实现的中医问诊系统信息;

image-20241120195326513

(3)医生通过后台管理员界面,实现对个人中心,专家医生管理、挂号信息管理、取消挂号管理、就诊记录管理、咨询信息管理等功能管理;

image-20241120195339068

系统总体结构图

image-20241120195410080

技术栈

  1. 开发语言:Java
  2. 框架:ssm+jsp
  3. JDK版本:JDK1.8
  4. 服务器:tomcat9
  5. 数据库:mysql 5.7(一定要5.7版本+)
  6. 数据库工具:Navicat11
  7. 开发软件:eclipse/myeclipse/idea
  8. Maven包:Maven3.3.9
  9. 浏览器:谷歌浏览器

演示视频

进入B站观看画面更清晰基于ssm+jsp的中医问诊系统

系统部分截图

系统功能实现

当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到基于SSM框架实现的中医问诊系统的导航条。

image-20241120195614367

在用户注册页面的输入用户注册信息进行注册操作。

image-20241120195628162

在专家医生页面选择医生姓名、职称和排班时间搜索,进入专家医生页面可以查看专家医生详细信息,并进行挂号,咨询,收藏操作;

image-20241120195641580

在新闻公告页面的选择标题进行搜索,进入新闻公告页面可以查看到新闻公告详细信息。

image-20241120195657908

在个人中心页面输入个人信息可以进行更新操作,并在我的收藏页面对收藏的医院预约挂号信息进行详细操作;

image-20241120195708350

管理员模块实现

管理员登录,在登录页面正确输入用户名和密码后,进入操作系统进行操作;

image-20241120195725511

管理员进入主页面,主要功能包括对首页,个人中心,用户管理,医生管理,专家医生管理,科室管理,挂号信息管理,取消挂号管理,就诊记录管理,留言板,系统管理等进行操作。

image-20241120195742827

管理员点击专家医生管理。进入专家医生列表输入医生姓名、职称、排班时间可以查询和批量删除专家医生信息,并进行查看,修改、查看评论和删除等操作。

image-20241120195752718

管理员点击医生管理。进入医生列表输入医生工号、医生姓名、职称可以查询,添加或批量删除医生信息,并进行医生排班、查看,修改和删除等操作。

image-20241120195805921

管理员点击取消挂号管理。进入取消挂号列表输入医生姓名、用户姓名、审核状态可以查询或批量删除取消挂号信息,并进行查看,修改和删除等操作。

image-20241120195818112

医生模块实现

医生进入主页面,主要功能包括对首页,个人中心,专家医生管理、挂号信息管理、取消挂号管理、就诊记录管理、咨询信息管理等进行操作。

image-20241120195837531

用户模块实现

用户进入主页面,主要功能包括对首页,个人中心,挂号信息管理,取消挂号管理,就诊记录管理,咨询信息管理等进行操作。

image-20241120195856153

以上是部分截图,详细的请看演示视频。

源码展示

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

	/**
	 * 登录
	 */
	@IgnoreAuth
	@PostMapping(value = "/login")
	public R login(String username, String password, String captcha, HttpServletRequest request) {
		UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().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 UsersEntity user){
//    	ValidatorUtils.validateEntity(user);
    	if(userService.selectOne(new EntityWrapper<UsersEntity>().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){
    	UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().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,UsersEntity user){
        EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();
    	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( UsersEntity user){
       	EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();
      	ew.allEq(MPUtil.allEQMapPre( user, "user")); 
        return R.ok().put("data", userService.selectListView(ew));
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UsersEntity 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");
        UsersEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

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

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UsersEntity user){
//        ValidatorUtils.validateEntity(user);
    	UsersEntity u = userService.selectOne(new EntityWrapper<UsersEntity>().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();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值