售票系统|基于springboot+vue+elementui实现海底世界售票系统(二)

简介: 售票系统|基于springboot+vue+elementui实现海底世界售票系统

售票系统|基于springboot+vue+elementui实现海底世界售票系统(一)https://developer.aliyun.com/article/1423356


5.6后台管理模块

5.6.1 用户管理功能

用户管理管理模块由三个功能组成,用户信息管理、订单信息管理、用户爱好管理。这三个功能包括基本的新增、修改、删除、查询。在进行这些操作的时候会统一的交给/sysUser接口进行传输到后台,再根据传输的数据决定调用哪个控制层进行操作传递,在传到服务层进行数据的改变。这些功能统一用功能抽取进行实现的。

用户信息管理使用/sysUser/userinfo,接口接收数据的在进入后调用服务层内的增删改查进行管理和操作。具体操作如图5-16所示。

图5-15 用户信息页面图

用户信息管理使用/sysUser/BillInfo,接口接收数据的在进入后调用服务层内的增删改查进行管理和操作。具体操作如图5-16所示。

图5-16 用户订单页面图

用户信息管理使用/sysUser/UserHabit,接口接收数据的在进入后调用服务层内的增删改查进行管理和操作。具体操作如图5-17所示。

图5-17 用户爱好页面图

5.6.2 权限管理功能

权限管理是由角色信息管理和资源信息管理组成,这两个功能包括基本的新增、修改、删除、查询功能。

角色信息管理功能是负责管理拥有权限的角色或者新建角色,这些角色是负责装取资源。在进行基本的事务操作后统一交到/sysRole接口中再由传输的数据下放细分在具体调用/sysRloe中相应方法接着进行对应数据处理和操作。后端负责相应前端的操作进行角色的管理。具体操作如图5-18所示。

图5-18 角色信息管理页面图

资源信息管理,是对页面资源进行管理,给角色分配不同的页面资源角色就要不同的权限去访问相应的页面。在进行资源管理的同时所进行的任何操作都将通过/sysResource接口传输到后端进行事务操作。具体进行的操作会细分到其控制层中去调用相应服务层的方法进行数据处理和后续操作。具体操作如图5-19所示。

图5-19 资源信息管理页面图

5.6.3 海底世界管理功能

海底世界管理功能是由海底世界信息管理、海底世界区域管理、海底世界品牌管理组成。这三个功能包括基本的新增、修改、删除、查询功能。这三个功能拥有各个管理功能中的基本事务逻辑。

海底世界信息管理,是对海底世界详细信息进行管理,海底世界信息管理标签查询功能方便用户更加快的找到相应想要的数据。在进行海底世界信息管理的同时所进行的任何操作都将通过/sysMovieinfo接口传输到后端进行事务操作。具体进行的操作会细分到其控制层中去调用相应服务层的方法进行数据处理和后续操作。具体操作如图5-20所示。

图5-20 海底世界详细信息管理页面图

海底世界区域管理,是对海底世界区域操作进行管理,对个各个省份还有市区有门店的地方进行管理。在进行海底世界区域管理的同时所进行的任何操作都将通过/sysMovieArea接口传输到后端进行事务操作。具体进行的操作会细分到其控制层中去调用相应服务层的方法进行数据处理和后续操作。具体操作如图5-21所示。

图5-21 海底世界区域管理页面图

海底世界品牌管理,是对海底世界品牌操作进行管理,对所有相应的海底世界品牌进行操作对新注册的海底世界品牌进行添加。在进行海底世界区域管理的同时所进行的任何操作都将通过/sysMovieCinema接口传输到后端进行事务操作。具体进行的操作会细分到其控制层中去调用相应服务层的方法进行数据处理和后续操作。具体操作如图5-22所示。

图5-22 海底世界品牌管理页面图

四,核心代码展示

package com.gouyan.web.controller.system;
import com.gouyan.common.response.ResponseResult;
import com.gouyan.system.domin.SysRole;
import com.gouyan.system.service.impl.SysRoleServiceImpl;
import com.gouyan.web.controller.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
public class SysRoleController extends BaseController {
    @Autowired
    SysRoleServiceImpl sysRoleService;
    @GetMapping("/sysRole")
    public ResponseResult findAll(){
        startPage();
        List<SysRole> data = sysRoleService.findAll();
        return getResult(data);
    }
    @GetMapping("/sysRole/{id}")
    public ResponseResult findById(@PathVariable Long id){
        return getResult(sysRoleService.findById(id));
    }
    @PostMapping("/sysRole")
    public ResponseResult add(@Validated @RequestBody SysRole sysRole){
        return getResult(sysRoleService.add(sysRole));
    }
    @PutMapping("/sysRole")
    public ResponseResult update(@Validated @RequestBody SysRole sysRole){
        return getResult(sysRoleService.update(sysRole));
    }
    @DeleteMapping("/sysRole/{ids}")
    public ResponseResult delete(@PathVariable Long[] ids){
        return getResult(sysRoleService.delete(ids));
    }
    /**
     * 给指定 id 的角色分配权限,包括增加或者删除权限
     * @param roleId
     * @param keys
     * @return
     */
    @PostMapping("/sysRole/{roleId}")
    public ResponseResult allotRight(@PathVariable Long roleId, @RequestBody Long[] keys){
        return getResult(sysRoleService.allotRight(roleId, keys));
    }
}
package com.gouyan.web.controller.system;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.gouyan.common.response.ResponseResult;
import com.gouyan.common.utils.StringUtil;
import com.gouyan.system.domin.LoginUser;
import com.gouyan.system.domin.SysUser;
import com.gouyan.system.domin.vo.SysUserVo;
import com.gouyan.system.service.impl.SysUserServiceImpl;
import com.gouyan.web.controller.BaseController;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.IncorrectCredentialsException;
import org.apache.shiro.authc.UnknownAccountException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * @author
 * @create 2022-11-22 21:52
 */
@RestController
public class SysUserController extends BaseController {
    @Autowired
    private SysUserServiceImpl sysUserService;
    @GetMapping("/sysUser")
    public ResponseResult findAll(SysUser sysUser){
        startPage();
        List<SysUser> data = sysUserService.findAll(sysUser);
        return getResult(data);
    }
    @GetMapping("/sysUser/{id}")
    public ResponseResult findById(@PathVariable Long id){
        return getResult(sysUserService.findById(id));
    }
    /**
     * 添加用户请求,注册也在这里
     * @param sysUser
     * @return
     */
    @PostMapping("/sysUser")
    public ResponseResult add(@Validated @RequestBody SysUser sysUser){
        return getResult(sysUserService.add(sysUser));
    }
    @PutMapping("/sysUser")
    public ResponseResult update(@Validated @RequestBody SysUser sysUser){
        return getResult(sysUserService.update(sysUser));
    }
    @DeleteMapping("/sysUser/{ids}")
    public ResponseResult delete(@PathVariable Long[] ids){
        return getResult(sysUserService.delete(ids));
    }
    //用户登录
    @RequestMapping("/sysUser/login")
    public ResponseResult login(@RequestBody SysUserVo sysUserVo){
        return getResult(sysUserService.login(sysUserVo));
    }
}
package com.gouyan.web.controller.system;
import com.gouyan.common.response.ResponseResult;
import com.gouyan.system.domin.SysUserHobby;
import com.gouyan.system.service.impl.SysUserHobbyServiceImpl;
import com.gouyan.web.controller.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
 * @Author:  
 * @Create: 2022-11-20 10:54
 */
@RestController
public class SysUserHobbyController extends BaseController {
    @Autowired
    SysUserHobbyServiceImpl sysUserHobbyService;
    @GetMapping("/sysUserHobby")
    public ResponseResult findAll(){
        startPage();
        List<SysUserHobby> data = sysUserHobbyService.findAll();
        return getResult(data);
    }
    @GetMapping("/sysUserHobby/{id}")
    public ResponseResult findById(@PathVariable Long id){
        return getResult(sysUserHobbyService.findById(id));
    }
    @PostMapping("/sysUserHobby")
    public ResponseResult add(@Validated @RequestBody SysUserHobby sysUserHobby){
        return getResult(sysUserHobbyService.add(sysUserHobby));
    }
    @PutMapping("/sysUserHobby")
    public ResponseResult update(@Validated @RequestBody SysUserHobby sysUserHobby){
        return getResult(sysUserHobbyService.update(sysUserHobby));
    }
    @DeleteMapping("/sysUserHobby/{ids}")
    public ResponseResult delete(@PathVariable Long[] ids){
        return getResult(sysUserHobbyService.delete(ids));
    }
}

五,项目总结

本系统使用Java基础语言和成熟的springboot框架和vue框架集成开发做到前后端分离,MybatisPlus和MySQL也是非常成熟的技术是开发变得更加简洁。资料文档齐全,并且系统在市场上已经有成熟的同类型系统案例。技术上可行。

相关文章
|
1月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个具有动态路由和菜单功能的前后端分离应用。首先,创建并配置 Spring Boot 项目,实现后端 API;然后,使用 Ant Design Pro Vue 创建前端项目,配置动态路由和菜单。通过具体案例,展示了如何快速搭建高效、易维护的项目框架。
108 62
|
7天前
|
JavaScript 安全 Java
java版药品不良反应智能监测系统源码,采用SpringBoot、Vue、MySQL技术开发
基于B/S架构,采用Java、SpringBoot、Vue、MySQL等技术自主研发的ADR智能监测系统,适用于三甲医院,支持二次开发。该系统能自动监测全院患者药物不良反应,通过移动端和PC端实时反馈,提升用药安全。系统涵盖规则管理、监测报告、系统管理三大模块,确保精准、高效地处理ADR事件。
|
1月前
|
XML Java 数据库连接
SpringBoot集成Flowable:打造强大的工作流管理系统
在企业级应用开发中,工作流管理是一个核心组件,它能够帮助我们定义、执行和管理业务流程。Flowable是一个开源的工作流和业务流程管理(BPM)平台,它提供了强大的工作流引擎和建模工具。结合SpringBoot,我们可以快速构建一个高效、灵活的工作流管理系统。本文将探讨如何将Flowable集成到SpringBoot应用中,并展示其强大的功能。
112 1
|
1月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,帮助开发者提高开发效率和应用的可维护性。
64 2
|
1月前
|
JavaScript Java 项目管理
Java毕设学习 基于SpringBoot + Vue 的医院管理系统 持续给大家寻找Java毕设学习项目(附源码)
基于SpringBoot + Vue的医院管理系统,涵盖医院、患者、挂号、药物、检查、病床、排班管理和数据分析等功能。开发工具为IDEA和HBuilder X,环境需配置jdk8、Node.js14、MySQL8。文末提供源码下载链接。
|
2月前
|
存储 安全 Java
打造智能合同管理系统:SpringBoot与电子签章的完美融合
【10月更文挑战第7天】 在数字化转型的浪潮中,电子合同管理系统因其高效、环保和安全的特点,正逐渐成为企业合同管理的新宠。本文将分享如何利用SpringBoot框架实现一个集电子文件签字与合同管理于一体的智能系统,探索技术如何助力合同管理的现代化。
91 4
|
2月前
|
前端开发 Java Apache
SpringBoot实现电子文件签字+合同系统!
【10月更文挑战第15天】 在现代企业运营中,合同管理和电子文件签字成为了日常活动中不可或缺的一部分。随着技术的发展,电子合同系统因其高效性、安全性和环保性,逐渐取代了传统的纸质合同。本文将详细介绍如何使用SpringBoot框架实现一个电子文件签字和合同管理系统。
94 1
|
1月前
|
JavaScript NoSQL Java
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
CC-ADMIN后台简介一个基于 Spring Boot 2.1.3 、SpringBootMybatis plus、JWT、Shiro、Redis、Vue quasar 的前后端分离的后台管理系统
39 0
|
2月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
166 1
|
3月前
|
前端开发 JavaScript Java
基于Java+Springboot+Vue开发的服装商城管理系统
基于Java+Springboot+Vue开发的服装商城管理系统(前后端分离),这是一项为大学生课程设计作业而开发的项目。该系统旨在帮助大学生学习并掌握Java编程技能,同时锻炼他们的项目设计与开发能力。通过学习基于Java的服装商城管理系统项目,大学生可以在实践中学习和提升自己的能力,为以后的职业发展打下坚实基础。
176 2
基于Java+Springboot+Vue开发的服装商城管理系统