一、导语
本文将介绍一个基于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.登陆、注册、重置密码模块
-
登录:登录可以使用手机号或用户名进行登录
-
注册的时候会判断账号是否以及存在,用户名是否已存在。
会判断手机号及邮箱的格式,但不会判断邮箱是否已使用过。
发送短信验证时也会对手机号进行查重,验证码五分钟内有效。
-
重置密码时会验证手机号格式,判断是否存在该用户, 短信验证码五分钟有效。
2.商品模块
- 发布商品
- 修改商品
- 商品详情界面
- 首页界面
- 商品列表界面
- 商品搜索界面
3.评论模块
- 查看商品下所有评论及回复
- 评论回复以及对应删除操作
4.个人中心
- 修改个人信息
- 修改密码
- 分页展示个人各类商品信息 已审核:1,待审核:3,违规:0,已完成:4
- 个人对商品的操作 删除:2 已完成:4
- 更换手机号
5.收藏模块
- 商品详情界面:收藏商品or取消收藏
- 收藏列表界面取消收藏
- 分页查看用户所有收藏内容
- 查看商品收藏状态
6.售出记录模块
- 用户设置商品为售出状态时存入售出记录
- 用户分页查看所有的售出记录
- 用户删除售出记录
7.聊天模块
1.可以进行在线聊天
8.公告模块
- 发布公告
- 默认展示最新发布的前三条公告
- 公告详情的展示
- 修改公告及删除公告
- 删除公告
9.后台操作功能
- 管理员登录
- 查看用户列表
- 给予用户封号
- 管理员审核商品
- 管理员分页展示各类商品信息 全部,已审核:1,待审核:3,违规:0 完成:4
- 管理员对商品的操作 违规:0 通过审核:1
10.网站公告
- 管理员发布网站公告
- 管理员本人修改或删除公告
- 查看网站公告
11.通知模块
- 评论回复、商品审核、私信发送通知
- 设置为管理员或用户发送通知
12.支付模块
- 提供支付宝沙箱支付,发货,确认收货等操作
七、数据库表结构
八、程序截图
1.登录界面
2.商城首页
3.商品详情
4.个人中心
5.后台界面
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