Graduation project HTML gym information management system

Background of the project

With the rapid development of science and technology, all walks of life are striving to integrate with modern advanced technology and improve their own advantages through scientific and technological means; of course, the gym information management system cannot be excluded. As network technology continues to mature, it has led to the development of gyms. The information management system has completely changed the traditional management methods in the past, not only making service management easier, but also improving the flexibility of management. This personalized platform pays special attention to the mutual cooperation of interaction coordination and management, which stimulates the creativity and initiative of managers, which is very beneficial to the gym information management system.
The database used in this system is Mysql, which is developed using the SSM framework. The operating environment uses the Tomcat server. ECLIPSE
is the development platform of this system. During the design process, the system code was fully guaranteed to have good readability, practicality, easy scalability, versatility, easy later maintenance, easy operation, and simple page.
Keywords: gym information management system Mysql database SSM framework

feature design

Function module diagram
Admin use case

After logging in, the administrator can perform homepage, personal center, user management, coach management, membership card management, membership purchase management, course type management, course information management, course purchase management, venue information management, venue reservation management, and system management.
Insert image description here

User use cases

After registering and logging in, users can conduct homepage, personal center, membership purchase management, course purchase management, and venue reservation management.
Insert image description here

System structure diagram

Insert image description here
Insert image description here

Function screenshot

user module

The user clicks to enter the system operation interface, and can access the homepage, personal center, purchase membership management, course purchase management, venue reservation management and other functional modules. Purchase membership management: through the list, you can
obtain the number, name, card type, price, validity time, User name, name, mobile phone, whether to pay and other information and details, delete operation
Insert image description here
venue reservation management: through the list, you can obtain the gym name, work number, hourly price, number of people, reservation content, reservation time, user name, name, mobile phone, whether Payment, review reply, review status and other information, perform detailed and delete operations
Insert image description here

Administrator function module

After the administrator successfully logs in, he will enter the system operation interface and can manage the homepage, personal center, user management, coach management, membership card management, membership purchase management, course type management, course information management, course purchase management, venue information management, and venue reservation. Management, system management and other functional modules perform corresponding operations.
User management: User name, name, gender, avatar, age, ID card, mobile phone and other contents can be obtained through the list, and modification or deletion operations can be performed. Membership card
Insert image description here
Insert image description here
management: Number, name, picture, card type, price, etc. can be obtained through the list. Validity time and other information can be detailed, deleted or modified.
Insert image description here
Purchase membership management: through the list, you can obtain information such as number, name, card type, price, valid time, user name, name, mobile phone, whether to pay or not, and perform detailed, modified or deleted information. Operation
Insert image description here
Course type management: Through the list, you can obtain information such as course type, modify or delete the operation.
Insert image description here
Course information management: Through the list, the administrator can obtain the course name, course type, pictures, course videos, class duration, employee number, release time, and coach. Name and other information can be used for details, modification or deletion.
Insert image description here
Venue information management: the administrator can obtain the gym name, venue pictures, opening hours, employee number, coach name, hourly price, number of people, location, whether there is a swimming pool, and whether it is a chain through the list and other information, perform operations such as details, modification or deletion.
Insert image description here
Venue reservation management: the administrator can obtain the gym name, work number, hourly price, number of people, reservation content, reservation time, user name, name, mobile phone, payment or not, and review reply through the list. , review status and other information to perform details, modification or deletion operations
Insert image description here

Coaching function module

The coach clicks to enter the system operation interface, and can access the home page, personal center, course information management, course purchase management, venue information management, venue reservation management and other functional modules. Course information management: through the list, you can obtain the course name, course type, pictures
, Course video, class duration, employee ID, release time, coach name and other information and perform detailed, modified, and deletion operations.
Insert image description hereVenue information management: through the list, you can obtain the gym name, venue pictures, opening hours, employee ID, coach name, hourly price, Information about the number of people, location, whether there is a swimming pool, whether it is a chain, etc., can be viewed in detail.
Insert image description here
Venue reservation management: Through the list, you can obtain the gym name, employee number, hourly price, number of people, reservation content, reservation time, user name, name, mobile phone, whether Payment, review reply, review status, review and other information, perform detailed and delete operations
Insert image description here

Front page function module

Gym information management system, you can view the homepage, membership card, course information, venue information, personal center, backend management and other content on the system homepage. User
Insert image description hereregistration, user login, you can fill in the user name, password, name, age, ID card on the registration page. , mobile phone and other details to register and log in to
Insert image description here
Insert image description here
the personal center. On the personal center page, fill in the user name, password, name, gender, avatar, age, ID card, mobile phone and other information to update the information. Log out and check the number on the membership card page
. , name, card type, price, validity time and other information for purchase operations.
Insert image description here
Insert image description here

Related code

Database configuration

# Tomcat
server:
    tomcat:
        uri-encoding: UTF-8
    port: 8080
    servlet:
        context-path: /springbootg4y26

spring:
    datasource:
        driverClassName: com.mysql.jdbc.Driver
        url: jdbc:mysql://127.0.0.1:3306/springbootg4y26?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8
        username: root
        password: 123456

#        driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver
#        url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=springbootg4y26
#        username: sa
#        password: 123456

    servlet:
      multipart:
        max-file-size: 10MB
        max-request-size: 10MB
    resources:
      static-locations: classpath:static/,file:static/

#mybatis
mybatis-plus:
  mapper-locations: classpath*:mapper/*.xml
  #实体扫描,多个package用逗号或者分号分隔
  typeAliasesPackage: com.entity
  global-config:
    #主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
    id-type: 1
    #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
    field-strategy: 2
    #驼峰下划线转换
    db-column-underline: true
    #刷新mapper 调试神器
    refresh-mapper: true
    #逻辑删除配置
    logic-delete-value: -1
    logic-not-delete-value: 0
    #自定义SQL注入器
    sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjector
  configuration:
    map-underscore-to-camel-case: true
    cache-enabled: false
    call-setters-on-nulls: true
    #springboot 项目mybatis plus 设置 jdbcTypeForNull (oracle数据库需配置JdbcType.NULL, 默认是Other)
    jdbc-type-for-null: 'null' 

Controller



    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();
        }
    }



Business layer (Service)



    package com.service;
    
    import java.util.List;
    import java.util.Map;
    
    import org.apache.ibatis.annotations.Param;
    
    import com.baomidou.mybatisplus.mapper.Wrapper;
    import com.baomidou.mybatisplus.service.IService;
    import com.entity.UserEntity;
    import com.utils.PageUtils;



    /**
     * 系统用户
     */
    public interface UserService extends IService<UserEntity> {
    
    
     	PageUtils queryPage(Map<String, Object> params);
        
       	List<UserEntity> selectListView(Wrapper<UserEntity> wrapper);
       	
       	PageUtils queryPage(Map<String, Object> params,Wrapper<UserEntity> wrapper);
    	   	
    }



Data access layer (Dao)

package com.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;
import com.entity.UserEntity;

/**
 * 用户
 */
public interface UserDao extends BaseMapper<UserEntity> {
    
    
	
	List<UserEntity> selectListView(@Param("ew") Wrapper<UserEntity> wrapper);

	List<UserEntity> selectListView(Pagination page,@Param("ew") Wrapper<UserEntity> wrapper);
	
}

Project acquisition:

https://gitee.com/sinonfin/L-javaWebSha/tree/master

Guess you like

Origin blog.csdn.net/WEB_DC/article/details/133486251