末尾获取源码
开发语言:Java
Java开发工具:JDK1.8
后端框架:SSM
前端:Vue
数据库:MySQL5.7和Navicat管理工具结合
服务器:Tomcat8.5
开发软件:IDEA / Eclipse
是否Maven项目:是


目录

一、项目简介

二、系统功能

三、系统项目截图

3.1小程序端

3.2后台管理

四、核心代码

4.1登录相关

4.2文件上传

4.3封装


一、项目简介

现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本微信小程序医院挂号预约系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此微信小程序医院挂号预约系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的MySQL数据库进行程序开发。微信小程序医院挂号预约系统有管理员,用户两个角色。管理员功能有个人中心,用户管理,医生信息管理,医院信息管理,科室信息管理,预约信息管理,预约取消管理,留言板,系统管理。微信小程序用户可以注册登录,查看医院信息,查看医生信息,查看公告资讯,在科室信息里面进行预约,也可以取消预约。微信小程序医院挂号预约系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。


二、系统功能

基于微信小程序的医院挂号预约系统主要包括两大功能模块,即用户功能模块和管理员功能模块、用户模块。

(1)管理员模块:系统中的核心用户是管理员,管理员登录后,通过管理员来管理后台系统。主要功能有:用户管理,医生信息管理,医院信息管理,科室信息管理,预约信息管理,预约取消管理,留言板,系统管理

(2)用户:查看医院信息,查看医生信息,查看公告资讯,在科室信息里面进行预约,也可以取消预约。


三、系统项目截图

3.1小程序端

如图5.4显示的就是小程序首页页面,用户可以看到公告资讯信息以及下面的导航栏。

如图5.4显示的就是科室预约页面,用户点击科室信息可以进行预约操作。

如图5.4显示的就是我的页面,我的里面可以查看订单和收藏,点击小齿轮还可以退出当前用户。

3.2后台管理

如图5.1显示的就是用户管理页面,此页面提供给管理员的功能有:对用户信息进行查询,添加,删除以及批量删除操作。

如图5.2显示的就是医院管理页面,管理员可以对医院信息进行添加,修改,删除,查询操作。

如图5.3显示的就是医生管理页面,管理员可以对医生信息进行添加,修改,删除,查询操作。

如图5.4显示的就是公告资讯管理页面,管理员可以对公告资讯进行添加修改删除查询操作。

如图5.4显示的就是科室信息管理页面,教师可以对科室信息进行添加修改删除查询操作。

如图5.4显示的就是预约信息页面,管理员可以查看和审核用户预约信息。


四、核心代码

4.1登录相关


package com.controller;import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
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.ResponseBody;
import org.springframework.web.bind.annotation.RestController;import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;/*** 登录相关*/
@RequestMapping("users")
@RestController
public class UserController{@Autowiredprivate UserService userService;@Autowiredprivate TokenService tokenService;/*** 登录*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().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 UserEntity user){
//      ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().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){UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().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,UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();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( UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew));}/*** 信息*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){UserEntity 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");UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 保存*/@PostMapping("/save")public R save(@RequestBody UserEntity user){
//      ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);userService.updateById(user);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}
}

4.2文件上传

package com.controller;import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.UUID;import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.ResourceUtils;
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 org.springframework.web.multipart.MultipartFile;import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.entity.EIException;
import com.service.ConfigService;
import com.utils.R;/*** 上传文件映射表*/
@RestController
@RequestMapping("file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{@Autowiredprivate ConfigService configService;/*** 上传文件*/@RequestMapping("/upload")public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {if (file.isEmpty()) {throw new EIException("上传文件不能为空");}String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);File path = new File(ResourceUtils.getURL("classpath:static").getPath());if(!path.exists()) {path = new File("");}File upload = new File(path.getAbsolutePath(),"/upload/");if(!upload.exists()) {upload.mkdirs();}String fileName = new Date().getTime()+"."+fileExt;File dest = new File(upload.getAbsolutePath()+"/"+fileName);file.transferTo(dest);FileUtils.copyFile(dest, new File("C:\\Users\\Desktop\\jiadian\\springbootl7own\\src\\main\\resources\\static\\upload"+"/"+fileName));if(StringUtils.isNotBlank(type) && type.equals("1")) {ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));if(configEntity==null) {configEntity = new ConfigEntity();configEntity.setName("faceFile");configEntity.setValue(fileName);} else {configEntity.setValue(fileName);}configService.insertOrUpdate(configEntity);}return R.ok().put("file", fileName);}/*** 下载文件*/@IgnoreAuth@RequestMapping("/download")public ResponseEntity<byte[]> download(@RequestParam String fileName) {try {File path = new File(ResourceUtils.getURL("classpath:static").getPath());if(!path.exists()) {path = new File("");}File upload = new File(path.getAbsolutePath(),"/upload/");if(!upload.exists()) {upload.mkdirs();}File file = new File(upload.getAbsolutePath()+"/"+fileName);if(file.exists()){/*if(!fileService.canRead(file, SessionManager.getSessionUser())){getResponse().sendError(403);}*/HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);    headers.setContentDispositionFormData("attachment", fileName);    return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);}} catch (IOException e) {e.printStackTrace();}return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);}}

4.3封装

package com.utils;import java.util.HashMap;
import java.util.Map;/*** 返回数据*/
public class R extends HashMap<String, Object> {private static final long serialVersionUID = 1L;public R() {put("code", 0);}public static R error() {return error(500, "未知异常,请联系管理员");}public static R error(String msg) {return error(500, msg);}public static R error(int code, String msg) {R r = new R();r.put("code", code);r.put("msg", msg);return r;}public static R ok(String msg) {R r = new R();r.put("msg", msg);return r;}public static R ok(Map<String, Object> map) {R r = new R();r.putAll(map);return r;}public static R ok() {return new R();}public R put(String key, Object value) {super.put(key, value);return this;}
}

基于微信小程序的医院挂号预约系统相关推荐

  1. 基于微信小程序的图书馆座位预约系统的设计与实现

    1. 系统开发背景 图书馆因有良好的学习氛围.大量的学习资源吸引大家前来学习,图书馆还未开馆就有大量的同学在门口排队等待,有限的座位与日益增加的自主学习者之间形成了供不应求的现象,再加上不了解图书馆的 ...

  2. 基于微信小程序的校园体育馆预约系统.docx

    摘要 1 1 引言 1 2 系统分析 1 2.1 可行性分析 1 2.1.1技术可行性 1 2.1.2操作可行性 1 2.1.3经济可行性 2 2.2 用户需求分析 2 3 系统总体设计 2 3.1 ...

  3. 基于微信小程序新冠疫苗预约系统(微信小程序)

    基于微信小程序新冠疫苗预约系统 基于微信小程序新冠疫苗预约系统,后端是基于java编程语言,ssm框架,mysql数据库,前端是微信小程序制作:本系统分为用户和管理员两个角色,其中用户注册和登陆系统, ...

  4. 【计算机毕业设计】基于微信小程序的图书馆座位预约系统

    毕设帮助.源码交流及技术指导,见文末. 图书馆作为高校的学习宝地,有着不可替代的地位.但是在信息化时代,传统模式下的图书馆管理并不能满足用户需求.为解决图书馆学生占座问题严重.座位资源紧张的问题,设计 ...

  5. 基于微信小程序的家政服务预约系统的设计与实现

    基于微信小程序的家政预约系统,有效解决了人们网上随时预约家政服务的问题.依托于新的小程序开发环境,解决了"跨系统开发"这个难题,在一个"类操作底层"开发基于微信 ...

  6. 基于微信小程序的医院挂号系统小程序

    文末联系获取源码 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7/8.0 数据库工具:Navicat11 开发软件:eclipse/my ...

  7. php+vue基于微信小程序的在线挂号预约小程序

    网络的广泛应用给生活带来了十分的便利.所以把在线挂号管理与现在网络相结合,利用ThinkPHP5技术建设在线挂号微信小程序,实现在线挂号的信息化.则对于进一步提高在线挂号管理发展,丰富在线挂号管理经验 ...

  8. 图书馆座位预约系统管理/基于微信小程序的图书馆座位预约系统

    随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受学生的喜爱,图书馆座位预约系统被学生普遍使用,为方便学生能够可以随 ...

  9. 基于微信小程序健身房私教预约系统+后台ssm

    互联网是人类的基本需求,特别是在现代社会,个人压力增大,社会运作节奏高,随着互联网的快速发展,用户的需求也越来越高,用户也将越来越多依靠互联网而不是自己获取信息,使得各种软件程序的开发得到了应用. 近 ...

最新文章

  1. 限制TensorFlow只在CPU上运行的方法
  2. 多天线技术是LTE的重要演进方向已成为产业共识
  3. Ubuntu 出现apt-get: Package has no installation candidate问题
  4. 检查卷位图时发现损坏怎么修复_中频弯管严密性如何测试?怎么修复中频弯管?...
  5. 在项目开始前,为客户做专门的“需求变更流程”培训是必要的
  6. JZOJ__DAY 4:【普及模拟】最大值
  7. Failed to install *.apk on device *: timeout
  8. 用户线程和内核线程之间的区别
  9. linux装完windows时间长,重装Windows 10上的Linux子系统
  10. idea 切换git仓库_Idea切换git分支及合并
  11. 限免!百名 AI 大咖,20 大技术和行业论坛,邀你加入群聊
  12. @spoj - lcs2@ Longest Common Substring II
  13. 阿里面试官居然问我如何设计一个本地缓存
  14. Ant Design - Authorized
  15. 分析Chrome的瀑布流(Waterfall)
  16. 无敌破坏王2之大闹互联网观后感
  17. 举个栗子!Tableau 技巧(93):用 热图标记 地图或散点图
  18. Day134-136.尚品汇:平台属性接口、SPU、跨域问题、配置持久化、MinIO 分布式文件存储系统
  19. 脚本语言有哪些?各自有哪些优劣呢?
  20. c51单片机汇编语言指令,单片机汇编语言指令

热门文章

  1. Python冷门知识
  2. 思维导图-------java-IO流知识结构梳理
  3. Leetcode(1110)——删点成林
  4. android推箱子需求分析,推箱子需求分析.doc
  5. Excel中错误类型
  6. 计算机三级网络技术——第二章:中小型网络系统总体规划与设计
  7. 冯雪 手术机器人的应用_达芬奇手术机器人系统及其应用
  8. 鼠标上下滚动支持combobox选中
  9. 【机器学习】混淆矩阵详细介绍(代码+含义+解释)
  10. GAN学习指南(通俗易懂):从原理入门到制作生成Demo