首页 > 编程语言 >Java基于微信小程序的无人值守自习室预约选座 系统 uniapp

Java基于微信小程序的无人值守自习室预约选座 系统 uniapp

时间:2024-08-07 23:27:17浏览次数:13  
标签:uniapp return public Java user userService import 自习室

文末获取资源,收藏关注不迷路

文章目录

前言

背景

自习室系统,对于新起的这种服务系统来说,深受学生们的喜爱。由于无人值守自习室系统的实施,在目前是比较少的,以往对自习室的预定来说,一般都是到现场登记或电话预约,这时往往会出现等待时间久或者位置已经被预定完的情况。因此,一套好的无人值守自习室管理软件,不但能大大降低工作人员的劳动强度,还能提高工作人员的管理效率、节省人力物力。无人值守自习室管理系统是计算机技术和网络迅速发展的一个高校办公应用解决方案。无人值守自习室管理系统将Internet网络技术与现代管理观念相融合,针对信息技术的特点对自习室系统进行规划和重构,对自习室信息流进行优化及合理配置,生成动态的、安全的、专有的数字化信息源,将办公体系全面自动化、流程化、数字化,并以此为桥梁,横向连接了管理员和用户,纵向实现一体化的无人值守自习室服务体系,从而更明确,更有效地开展高校的自习室服务工作。

功能

本文讲述了无人值守自习室系统的设计与实现。结合电子商务的特点,分析了无人值守自习室系统的现状,给出了无人值守自习室系统实现的设计方案。
本论文主要完成不同用户的权限划分,不同用户具有不同权限的操作功能,用户可以实现对个人信息的查看及修改,还能查看自习室,对自习室进行收藏、评论、预定等操作;在WEB服务端,管理员可以对用户信息进行管理,还能对类型信息、自习室信息、系统公告、轮播图、在线客服、订单信息等进行相应的操作。网站界面进行了人性化的设计,操作简单具有一定的使用价值。本文主要从该网站的设计思想、功能的架构,运用的技术、数据库的设计、具体的实现等方面来进行论述。在详细设计部分主要论述了系统功能设计和数据库的设计。在本文的最后对网站的调试结果进行了说明和总结。

意义

本课题的提出意在开发一个管理无人值守自习室系统平台,它的出发点必须是实用,操作简单,界面友好,让对自习室座位预定需求的人群共享同一个信息渠道,实现在无人值守自习室系统上,可以自由查看自习室,预定自己喜欢的座位,并进行支付。近年来,随着网络平台和电子媒体越来越深入的合作,用户获得资讯的速度越来越快。用户只需要在手机上登录无人值守自习室系统,通过注册、登录后,即可查看到高校所有的自习室,根据自己的喜欢去预定自习室座位,预定成功后可以直接在系统上就可以进行支付,还能输入自习室的位置,进行导航,非常的方便。大大的节省了用户的时间,也节约了自习室管理管理者的人力和物力。

主要使用技术

环境需要
1.运行环境:最好是java jdk 1.8,这是目前最稳定的JDK也是被使用最多的JDK版本。
2.IDE环境:IDEA,Eclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat7/Tomcat8/Tomcat9版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈
后端:Spring+SpringMVC+Mybatis+Springboot
前端:vue+CSS+JavaScript+jQuery+elementui

使用说明
使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
将项目中applicationContext.xml配置文件中的数据库配置改为自己的配置,然后运行;
运行成功后,在浏览器中输入:http://localhost:8080/项目名

研究内容

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

核心代码


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.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
	
	@Autowired
	private UserService userService;
	
	@Autowired
	private 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);
    	UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().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();
    }
}

文章目录

1系统概述 1
1.1 研究背景 1
1.2研究目的 1
1.3系统设计思想 1
2相关技术 3
2.1 MYSQL数据库 3
2.2 B/S结构 3
2.3 Spring Boot框架简介 4
2.4 VUE框架 4
3系统分析 5
3.1可行性分析 5
3.1.1技术可行性 5
3.1.2经济可行性 5
3.1.3操作可行性 5
3.2系统性能分析 6
3.2.1 系统安全性 6
3.2.2 数据完整性 6
3.3系统界面分析 6
3.4系统流程和逻辑 8
4系统概要设计 9
4.1概述 9
4.2系统结构 10
4.3.数据库设计 11
4.3.1数据库实体 11
4.3.2数据库设计表 13
5系统详细实现 17
5.1 管理员模块的实现 17
5.2用户模块的实现 19
6系统测试 21
6.1概念和意义 21
6.2特性 22
6.3重要性 22
6.4测试方法 23
6.5 功能测试 23
6.6可用性测试 24
6.7性能测试 24
6.8测试分析 24
6.9测试结果分析 25
结论 25
致谢语 26
参考文献 26

标签:uniapp,return,public,Java,user,userService,import,自习室
From: https://blog.csdn.net/z459382737/article/details/141003455

相关文章

  • Java数据结构 | 二叉树基础及基本操作
    二叉树一、树型结构1.1树的概念1.2关于树的一些常用概念(很重要!!!)1.3树的表示形式1.4树的应用二、二叉树2.1二叉树的概念2.2两种特殊的二叉树2.3二叉树的性质2.4二叉树的存储2.5二叉树的基本操作2.5.1代码说明2.5.2二叉树的遍历2.5.3二叉树的基本操作1、获取树......
  • Java可变参数
    目录1.可变参数基本概念基本语法快速入门案例 2.注意事项和使用细节​编辑  3.可变参数练习1.可变参数基本概念  同名同功能但参数不同的封装成一个方法。 基本语法 快速入门案例  上面的这三个方法,功能相同,参数数目不同,可以使用可变参数优化代......
  • Java的网络编程?
    Java的网络编程涉及使用Java的API来创建和管理网络应用程序,例如客户端和服务器之间的通信。Java提供了一系列的类和接口来支持网络编程,主要包括java.net包中的功能。网络编程通常包括以下几个方面:Java网络编程的基本概念协议:TCP/IP(传输控制协议/网际协议):一种面向......
  • 阻塞队列(java)
    阻塞队列(BlockingQueue)是一个线程安全的队列,支持阻塞的插入和移除操作。它常用于生产者-消费者问题等多线程环境中。以下是一个简单的Java实现,展示了如何使用 BlockingQueue 来实现一个基本的阻塞队列示例importjava.util.concurrent.ArrayBlockingQueue;importjava.......
  • uniapp-实现轮播图效果深度总结【建议收藏】
       ......
  • Java跨平台原理
    Java跨平台的原理主要基于以下几个关键点:Java虚拟机(JVM)Java虚拟机是Java跨平台的核心技术。它是一个软件程序,可以在不同的操作系统上运行Java程序,并把Java程序翻译成可执行代码。JVM是一个虚构出来的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现。不同平台上的JVM......
  • 基于java+ssm+vue的自驾游拼团微信小程序
    ......
  • 【Java】NIO-从入门到精通-Netty先修课-全网最全-综合案例分析
    XiaoYongCai2024/8/6一:AboutByteBuffer1.ByteBuffer用法在JavaNIO中,Buffer是一个用于存储特定基本类型数据的容器,ByteBuffer是最常用的Buffer类型,用于存储字节序列。以下是ByteBuffer的读写操作分析:A.Buffer的基本属性capacity:缓冲区的容量,即可以存储的最大数......
  • java
    类变量方法区、永久代、元空间的区别方法区,是《JVM规范》定义的,所有虚拟机必须有的。PermGenspace则是HotSpot虚拟机基于《JVM规范》对方法区的一个落地实现。针对HotSpot虚拟机,JDK7及之前,PermGenspace就是方法区。JDK8及之后,PermGenspace被移......
  • java反射机制
    反射的原理Java反射机制概述JavaReflection(1)Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于ReflectionAPI取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。(2)加载完类之后,在堆内存的方法区中就产生了一个Class类型的对象(一个类只有一个Cl......