首页 > 其他分享 >基于Springboot的在线游戏道具商城的设计与实现

基于Springboot的在线游戏道具商城的设计与实现

时间:2024-04-05 15:29:36浏览次数:33  
标签:Springboot spring boot springframework 道具 starter 模块 org 商城

一、导语

本文将介绍一个基于Spring Boot的在线游戏道具商城的设计与实现,该商城集成了多种功能模块,包括用户管理、商品管理、评论系统、个人中心、收藏模块、售出记录、聊天功能、公告管理、后台操作功能、网站公告、通知系统以及支付模块等。通过该商城,用户可以方便地购买游戏道具,进行交流和管理自己的账户信息。

二、软件架构

该商城采用的软件架构为Spring Boot作为后端框架,数据库使用MySQL进行数据存储和管理。

三、部署系统必备

为了顺利部署该系统,需要事先准备好以下必备软件和工具:

JDK 1.8版本,并配置系统环境变量。
MySQL 5.7版本。
Navicat for MySQL,用于数据库的可视化管理。
Maven,用于管理Java项目的依赖。
Lombok插件,用于简化实体类的编写。
tomcat

四、可选项

  • 阿里SMS(个人目前几乎无法申请验证码签名了)
  • 支付宝沙箱(可以申请)
  • 修改注册后完善信息中的学校信息,请在/resources/templates/user/perfectinfo.html中修改

五、其它

  • 数据库里的账号密码默认都是 123456,进行过加盐加密
  • 管理员默认入口 localhost/admin
  • 超级管理员账号密码:admin admin

六、已有功能

1.登陆、注册、重置密码模块

  1. 登录:登录可以使用手机号或用户名进行登录

  2. 注册的时候会判断账号是否以及存在,用户名是否已存在。

    会判断手机号及邮箱的格式,但不会判断邮箱是否已使用过。

    发送短信验证时也会对手机号进行查重,验证码五分钟内有效。

  3. 重置密码时会验证手机号格式,判断是否存在该用户, 短信验证码五分钟有效。

2.商品模块

  1. 发布商品
  2. 修改商品
  3. 商品详情界面
  4. 首页界面
  5. 商品列表界面
  6. 商品搜索界面

3.评论模块

  1. 查看商品下所有评论及回复
  2. 评论回复以及对应删除操作

4.个人中心

  1. 修改个人信息
  2. 修改密码
  3. 分页展示个人各类商品信息 已审核:1,待审核:3,违规:0,已完成:4
  4. 个人对商品的操作 删除:2 已完成:4
  5. 更换手机号

5.收藏模块

  1. 商品详情界面:收藏商品or取消收藏
  2. 收藏列表界面取消收藏
  3. 分页查看用户所有收藏内容
  4. 查看商品收藏状态

6.售出记录模块

  1. 用户设置商品为售出状态时存入售出记录
  2. 用户分页查看所有的售出记录
  3. 用户删除售出记录

7.聊天模块

1.可以进行在线聊天

8.公告模块

  1. 发布公告
  2. 默认展示最新发布的前三条公告
  3. 公告详情的展示
  4. 修改公告及删除公告
  5. 删除公告

9.后台操作功能

  1. 管理员登录
  2. 查看用户列表
  3. 给予用户封号
  4. 管理员审核商品
  5. 管理员分页展示各类商品信息 全部,已审核:1,待审核:3,违规:0 完成:4
  6. 管理员对商品的操作 违规:0 通过审核:1

10.网站公告

  1. 管理员发布网站公告
  2. 管理员本人修改或删除公告
  3. 查看网站公告

11.通知模块

  1. 评论回复、商品审核、私信发送通知
  2. 设置为管理员或用户发送通知

12.支付模块

  1. 提供支付宝沙箱支付,发货,确认收货等操作

七、数据库表结构

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

八、程序截图

1.登录界面

1.jpg.png

2.商城首页

2.jpg.png

3.商品详情

3.png

4.个人中心

4 _2_.png

5.后台界面

5.png

6.pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.10.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>Campus-shops</groupId>
    <artifactId>shops</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>shops</name>
    <description>Demo project for Spring Boot</description>

    <properties>
        <java.version>1.8</java.version>
        <!--切换thymeleaf版本  注意适配关系  这里使用默认即可-->
        <thymeleaf.version>3.0.9.RELEASE</thymeleaf.version>
        <!-- 布局功能的支持程序  thymeleaf3主程序  layout2以上版本 -->
        <!-- thymeleaf2   layout1-->
        <thymeleaf-layout-dialect.version>2.2.2</thymeleaf-layout-dialect.version>
    </properties>

    <dependencies>
        <!--支付宝支付-->
        <!-- https://mvnrepository.com/artifact/com.alipay.sdk/alipay-sdk-java -->
        <dependency>
            <groupId>com.alipay.sdk</groupId>
            <artifactId>alipay-sdk-java</artifactId>
            <version>4.8.10.ALL</version>
        </dependency>
        <!--支付宝支付-->
        <!--thymeleaf和shiro标签整合使用
            thymeleaf 对shiro扩展坐标 -->
        <dependency>
            <groupId>com.github.theborakompanioni</groupId>
            <artifactId>thymeleaf-extras-shiro</artifactId>
            <version>2.0.0</version>
        </dependency>
        <!--thymeleaf和shiro标签整合使用-->
        <!--shiro-->
        <!--shiro与Spring 依赖 -->
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-spring</artifactId>
            <version>1.4.0</version>
        </dependency>
        <!--shiro结束-->
        <!--阿里云短信-->
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>aliyun-java-sdk-core</artifactId>
            <version>4.0.3</version>
        </dependency>
        <dependency>
            <groupId>org.json</groupId>
            <artifactId>json</artifactId>
            <version>20160810</version>
        </dependency>
        <!-- lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
            <classifier>jdk15</classifier>
        </dependency>
        <!-- thymeleaf -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.38</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-jdbc</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.3</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.1.8</version>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <!-- mybatis-plus -->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus</artifactId>
            <version>2.1.6</version>
        </dependency>
        <!-- MyBatis-Plus模板引擎 -->
        <dependency>
            <groupId>org.apache.velocity</groupId>
            <artifactId>velocity-engine-core</artifactId>
            <version>2.1</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-websocket</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <!--热部署  每次修改代码springboot自动重启服务-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz -->
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>2.3.0</version>
        </dependency>
        <dependency>
            <groupId>com.spotify</groupId>
            <artifactId>docker-client</artifactId>
            <version>8.9.0</version>
        </dependency>
        <!-- aop -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-aop</artifactId>
        </dependency>
        <!-- jackson-datatype-hibernate5 -->
        <dependency>
            <groupId>com.fasterxml.jackson.datatype</groupId>
            <artifactId>jackson-datatype-hibernate5</artifactId>
            <version>2.9.6</version>
        </dependency>
        <!-- 时间库 -->
        <dependency>
            <groupId>joda-time</groupId>
            <artifactId>joda-time</artifactId>
            <version>2.3</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-websocket</artifactId>
        </dependency>
    </dependencies>


    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>


八、联系与交流

q:969060742 完整代码、sql

标签:Springboot,spring,boot,springframework,道具,starter,模块,org,商城
From: https://blog.csdn.net/m0_58065010/article/details/137301682

相关文章