/*
这是一个关于护士管理的后端控制器(Controller)。以下是每个部分的简单解释:
### 控制器概述
该控制器名为`HushiController`,用于处理与护士相关的HTTP请求。
### 方法解释
1. **登录(login)**
* 功能:实现护士登录功能。
* 输入参数:用户名、密码、验证码和HTTP请求。
* 逻辑:查询数据库中的护士信息,验证用户名和密码是否匹配,如果匹配则生成并返回token。
2. **注册(register)**
* 功能:实现护士账号注册功能。
* 输入参数:通过HTTP请求体传入的护士实体对象。
* 逻辑:查询数据库中是否已存在该护士账号,如果不存在则插入新账号并返回成功响应。
3. **退出(logout)**
* 功能:实现用户退出登录功能。
* 逻辑:使HTTP会话无效。
4. **获取当前用户信息(getCurrUser)**
* 功能:获取当前会话中的用户信息。
* 逻辑:从HTTP会话中获取用户ID,查询数据库中的用户信息并返回。
5. **密码重置(resetPass)**
* 功能:重置护士的密码。
* 输入参数:用户名和HTTP请求。
* 逻辑:查询数据库中的护士信息,如果找到则将密码重置为默认密码并更新到数据库。
6. **列表及相关接口**
* `page`、`list`、`lists`和`query`等方法都是用于获取护士列表的接口,其中可能包含分页、查询等参数。这些方法会查询数据库中的护士信息并返回。
7. **保存(save/add)**
* 功能:保存新的护士信息到数据库。
* 输入参数:通过HTTP请求体传入的护士实体对象。
* 逻辑:检查数据库中是否已存在该护士账号,如果不存在则插入新账号。
8. **更新(update)**
* 功能:更新已存在的护士信息。
* 输入参数:通过HTTP请求体传入的护士实体对象。
* 逻辑:更新数据库中的护士信息。
9. **删除(delete)**
* 功能:删除指定的护士账号。
* 输入参数:通过HTTP请求体传入的要删除的护士ID数组。
* 逻辑:删除数据库中指定的护士账号。
10. **提醒接口(remindCount)**
* 功能:根据提醒条件查询符合条件的护士数量。
* 输入参数:提醒的列名、提醒类型、开始时间、结束时间等。
* 逻辑:根据输入的提醒条件查询数据库,返回符合条件的护士数量。
### 其他说明
* 该控制器使用了Spring框架的注解,如`@RestController`、`@RequestMapping`等,以实现HTTP请求的路由和处理。
* 使用`HushiService`进行数据库操作,该服务层可能使用了MyBatis Plus等ORM框架。
* 使用`R`类作为响应结果的封装,方便前后端数据交互。
*/
package com.controller;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
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.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;
import com.entity.HushiEntity;
import com.entity.view.HushiView;
import com.service.HushiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
/**
* 护士
* 后端接口
* @author
* @email
* @date 2021-04-15 15:10:23
*/
@RestController
@RequestMapping("/hushi")
public class HushiController {
@Autowired
private HushiService hushiService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
HushiEntity user = hushiService.selectOne(new EntityWrapper<HushiEntity>().eq("hushigonghao", username));
if(user==null || !user.getMima().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(), username,"hushi", "护士" );
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@RequestMapping("/register")
public R register(@RequestBody HushiEntity hushi){
HushiEntity user = hushiService.selectOne(new EntityWrapper<HushiEntity>().eq("hushigonghao", hushi.getHushigonghao()));
if(user!=null) {
return R.error("注册用户已存在");
}
Long uId = new Date().getTime();
hushi.setId(uId);
hushiService.insert(hushi);
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");
HushiEntity user = hushiService.selectById(id);
return R.ok().put("data", user);
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
HushiEntity user = hushiService.selectOne(new EntityWrapper<HushiEntity>().eq("hushigonghao", username));
if(user==null) {
return R.error("账号不存在");
}
user.setMima("123456");
hushiService.updateById(user);
return R.ok("密码已重置为:123456");
}
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,HushiEntity hushi,
HttpServletRequest request){
EntityWrapper<HushiEntity> ew = new EntityWrapper<HushiEntity>();
PageUtils page = hushiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, hushi), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,HushiEntity hushi, HttpServletRequest request){
EntityWrapper<HushiEntity> ew = new EntityWrapper<HushiEntity>();
PageUtils page = hushiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, hushi), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( HushiEntity hushi){
EntityWrapper<HushiEntity> ew = new EntityWrapper<HushiEntity>();
ew.allEq(MPUtil.allEQMapPre( hushi, "hushi"));
return R.ok().put("data", hushiService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(HushiEntity hushi){
EntityWrapper< HushiEntity> ew = new EntityWrapper< HushiEntity>();
ew.allEq(MPUtil.allEQMapPre( hushi, "hushi"));
HushiView hushiView = hushiService.selectView(ew);
return R.ok("查询护士成功").put("data", hushiView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
HushiEntity hushi = hu
没有合适的资源?快使用搜索试试~ 我知道了~
(源码)基于Spring Boot框架的医院管理系统.zip

共829个文件
svg:162个
js:153个
java:130个

1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 148 浏览量
2025-06-07
06:35:22
上传
评论
收藏 17.49MB ZIP 举报
温馨提示
# 基于Spring Boot框架的医院管理系统 ## 项目简介 本项目是一个基于Spring Boot框架的医院管理系统后端服务,使用MyBatis Plus作为ORM框架,通过RESTful API提供对医院各类资源的管理和查询功能。系统涵盖病人信息、病床、病床类别、护士、科室、药房、药方、药品类别、医院公告等多个模块,同时提供通用接口、文件上传下载以及登录注册等功能。 ## 项目的主要特性和功能 1. 核心业务模块 病人信息管理可进行病人信息的增删改查,提供前后端列表查询、分页查询、详情查看、保存、更新、删除功能,还有提醒接口,能按指定日期范围或数字类型筛选获取需提醒的记录数。 病床管理实现病床信息的CRUD操作,包括前后端列表、分页、详情、保存、更新、删除,以及根据特定条件统计病床数量的提醒接口。 病床类别管理与病床管理类似,提供病床类别信息的全面管理功能及提醒接口。
资源推荐
资源详情
资源评论






























收起资源包目录





































































































共 829 条
- 1
- 2
- 3
- 4
- 5
- 6
- 9
资源评论


Java咖啡师
- 粉丝: 1703
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 慕课时代教育信息化与在线课程建设的分析.docx
- 提高中职计算机课堂教学效率方法探究.docx
- 应用课题实践与项目开发训练特色课程中的软件工程实验教学.docx
- 大学设计改变物流在宝鲨旗电子商务中对策.doc
- (源码)基于PHP的文件管理器.zip
- 基于教育大数据的学、教、需反馈机制探索与实践.docx
- 计算机组装与维护课程教学大纲.doc
- 基于大数据分析的高校计算机教学探讨.docx
- EPS-reservoir软件技术介绍.doc
- 河北曹妃甸MWCIGS项目管理.doc
- 软件维保服务解决方案2018.docx
- 数据结构课网站的设计与实现毕业论文.doc
- 计算机应用中的网络安全防范策略研究.docx
- 基于单片机的温度控制系统方案设计书大学本科方案设计书.doc
- 基于单片机系统的交通灯方案设计书.doc
- 物流中心的仓储与配送自动化管理.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
