文末获取源码
开发语言:Java
使用框架:spring boot
前端技术:JavaScript、Vue 、css3
开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code
数据库:MySQL 5.7/8.0
数据库管理工具:phpstudy/Navicat
JDK版本:jdk1.8
Maven:apache-maven 3.8.1-bin
目录
一、前言介绍
二、系统设计规则
三、管理员功能模块
3.1系统登录模块
3.2系统首页模块
3.3用户管理模块
3.4接种预约管理模块
3.5接种信息管理模块
3.6疫苗信息管理模块
3.7用户留言管理模块
四、用户后台功能模块
4.1用户注册管理模块
4.2个人中心管理模块
4.3接种预约管理模块
4.4接种信息管理模块
五、部分核心代码
5.1疫苗信息的关键代码
5.2疫苗预约关键代码
5.3疫苗接种管理的关键代码
5.4用户登录的关键代码
5.5用户注册关键代码
一、前言介绍
采用Java技术,从数据库中获取数据、向数据库中写入数据,实现系统直接对数据库进行各种操作,在网页中加入动态内容,从而实现小区疫苗接种管理所需要的各种基本功能。
小区疫苗接种管理,主要的模块包括查看首页、用户管理、接种预约、公告栏、接种信息、疫苗信息、系统维护、用户留言、报表统计等功能。系统中管理员主要是为了安全有效地存储和管理各类信息,还可以对系统进行管理与更新维护等操作,并且对后台有相应的操作权限。
要想实现小区疫苗接种管理的各项功能,需要后台数据库的大力支持。管理员验证注册信息,收集的用户信息,并由此分析得出的关联信息等大量的数据都由数据库管理系统管理。本文中数据库服务器端采用了Mysql作为后台数据库,使Web与数据库紧密联系起来。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
本系统的开发使获取小区疫苗接种管理信息能够更加方便快捷,同时也使小区疫苗接种管理管理信息变的更加系统化、有序化。系统界面较友好,易于操作。
二、系统设计规则
本小区疫苗接种管理采用Java技术,Mysql数据库开发,充分保证了系统稳定性、完整性。
小区疫苗接种管理的设计与实现的设计思想如下:
1、操作简单方便、系统界面安全良好:简单明了的页面布局,方便查询小区疫苗接种管理管理的相关信息。
2、即时可见:对小区疫苗接种管理信息的处理将立马在对应地点可以查询到,从而实现“即时发布、即时见效”的系统功能。
3、功能的完善性:可以管理首页、个人中心、用户管理、接种预约、公告栏、接种信息、疫苗信息、系统维护、用户留言、报表统计管理、系统管理模块的修改和维护操作。
三、管理员功能模块
3.1系统登录模块
管理员登录,管理员通过输入用户,密码,角色等信息进行系统登录
3.2系统首页模块
3.3用户管理模块
在用户管理页面可以查看等索引、用户账号、密码、用户姓名、性别、年龄、联系电话、电子邮箱、身份证号、家庭住址、个人照片等信息,并可根据需要进行修改或删除等操作
3.4接种预约管理模块
在接种预约页面可以查看索引、疫苗名称、生产厂家、适应人群、禁忌、预约时间、可预约人数等信息,并可根据需要进行修改或删除等操作
3.5接种信息管理模块
在接种信息页面可以查看索引、用户名、姓名、联系方式、疫苗名称、预约时间、等信息,并可根据需要进行修改或删除等操作
3.6疫苗信息管理模块
在疫苗信息页面可以查看索引、疫苗编号、疫苗名称、疫苗作用、生产厂家等信息,并可根据需要进行修改或删除等操作
3.7用户留言管理模块
在用户留言页面可以查看索引、用户名、姓名、联系方式、日期、留言内容等信息,并可根据需要进行修改或删除等操作
四、用户后台功能模块
4.1用户注册管理模块
在用户注册页面通过填写用户账号、密码、用户姓名、年龄、联系电话、电子邮箱、身份证号、等信息完成用户注册
4.2个人中心管理模块
在个人中心页面通过填写用户账号、用户姓名、性别、年龄、联系电话、电子邮箱、身份证号、个人照片等信息进行修改
4.3接种预约管理模块
在接种记录管理页面可以查看索引、疫苗名称、生产厂家、适应人群、禁忌、预约时间、可预约人数等信息
4.4接种信息管理模块
在接种信息管理页面可以查看索引、用户名、姓名、联系方式、疫苗名称、预约时间等信息
五、部分核心代码
5.1疫苗信息的关键代码
@PostMapping("/add")
@Transactional
public Map<String, Object> add(HttpServletRequest request) throws IOException {
service.insert(service.readBody(request.getReader()));
return success(1);
}
@Transactional
public Map<String, Object> addMap(Map<String,Object> map){
service.insert(map);
return success(1);
}
5.2疫苗预约关键代码
@RequestMapping("/get_list")
public Map<String, Object> getList(HttpServletRequest request) {
Map<String, Object> map = service.selectToPage(service.readQuery(request), service.readConfig(request));
return success(map);
}
5.3疫苗接种管理的关键代码
@RequestMapping(value = {"/avg_group", "/avg"})
public Map<String, Object> avg(HttpServletRequest request) {
Query count = service.avg(service.readQuery(request), service.readConfig(request));
return success(count.getResultList());
}
5.4用户登录的关键代码
/**
* 登录
* @param data
* @param httpServletRequest
* @return
*/
@PostMapping("login")
public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {
log.info("[执行登录接口]");
String username = data.get("username");
String email = data.get("email");
String phone = data.get("phone");
String password = data.get("password");
List resultList = null;
Map<String, String> map = new HashMap<>();
if(username != null && "".equals(username) == false){
map.put("username", username);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(email != null && "".equals(email) == false){
map.put("email", email);
resultList = service.select(map, new HashMap<>()).getResultList();
}
else if(phone != null && "".equals(phone) == false){
map.put("phone", phone);
resultList = service.select(map, new HashMap<>()).getResultList();
}else{
return error(30000, "账号或密码不能为空");
}
if (resultList == null || password == null) {
return error(30000, "账号或密码不能为空");
}
//判断是否有这个用户
if (resultList.size()<=0){
return error(30000,"用户不存在");
}
5.5用户注册关键代码
/**
* 注册
* @param user
* @return
*/
@PostMapping("register")
public Map<String, Object> signUp(@RequestBody User user) {
// 查询用户
Map<String, String> query = new HashMap<>();
query.put("username",user.getUsername());
List list = service.select(query, new HashMap<>()).getResultList();
if (list.size()>0){
return error(30000, "用户已存在");
}
user.setUserId(null);
user.setPassword(service.encryption(user.getPassword()));
service.save(user);
return success(1);
}
/**
* 用户ID:[0,8388607]用户获取其他与用户相关的数据
*/
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "user_id")
private Integer userId;
/**
* 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)
*/
@Basic
@Column(name = "state")
private Integer state;
/**
* 所在用户组:[0,32767]决定用户身份和权限
*/
@Basic
@Column(name = "user_group")
private String userGroup;
/**
* 上次登录时间:
*/
@Basic
@Column(name = "login_time")
private Timestamp loginTime;
/**
* 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时
*/
@Basic
@Column(name = "phone")
private String phone;
/**
* 手机认证:[0,1](0未认证|1审核中|2已认证)
*/
@Basic
@Column(name = "phone_state")
private Integer phoneState;
/**
* 用户名:[0,16]用户登录时所用的账户名称
*/
@Basic
@Column(name = "username")
private String username;
/**
* 昵称:[0,16]
*/
@Basic
@Column(name = "nickname")
private String nickname;
/**
* 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成
*/
@Basic
@Column(name = "password")
private String password;
/**
* 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时
*/
@Basic
@Column(name = "email")
private String email;
/**
* 邮箱认证:[0,1](0未认证|1审核中|2已认证)
*/
@Basic
@Column(name = "email_state")
private Integer emailState;
/**
* 头像地址:[0,255]
*/
@Basic
@Column(name = "avatar")
private String avatar;
/**
* 创建时间:
*/
@Basic
@Column(name = "create_time")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Timestamp createTime;
@Basic
@Transient
private String code;
}