基于SpringBoot+Mybatis+Thymeleaf商品信息管理系统

github地址:github.com/zaiyunduan1…,如果对你有帮助,欢迎Star

主要用到的技术:

  1. 使用maven进行项目构建
  2. 使用Springboot+Mybatis搭建整个系统
  3. 使用Thymeleaf模板技术实现页面静态化
  4. 使用框架Bootstrap、JQuery开发前端界面
  5. 使用MySQL和MongoDB分别存储数据和图片

主要分为四个模块:

  • 用户管理模块
  • 仪表盘管理模块
  • 商品管理模块
  • 订单管理模块

(1)用户管理模块 :用户登录、注册、密码找回(通过邮箱方式)、用户信息修改、密码修改

(2)仪表盘管理模块 :展示当前月收入及其环比(环比=(当前月收入 - 上个月收入)/ 当前月收入)、当前月订单数及其环比、网站访问量、当前月退单数及其环比,还有以条形图的形式(使用jquery插件)展示最近30天每天的收入和订单数

(3)商品管理模块 :商品增删改查、商品图片导入(存储在MongoDB)、导出商品报表、商品分类增删改查、库存查改,库存不足和积货提醒、商品回收和恢复。

(4)订单管理模块 :订单查询查看、订单退款管理(查看和审批)、发货管理、物流公司管理、快递跟踪(调用快递100接口)

问题:如何启动本系统?

  • 修改配置文件里面的邮箱账号密码
  • 启动MongoDB和MySQL

直接启动Application应用即可,适合初学者,开箱即用!

预览效果

附加-数据库设计

DROP TABLE IF EXISTS `kuaidi100_delivery`;
CREATE TABLE `kuaidi100_delivery` (`id` int(11) NOT NULL AUTO_INCREMENT,`delivery_name` varchar(255) NOT NULL,`delivery_code` varchar(255) NOT NULL,`delivery_sort` varchar(2) NOT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=147 DEFAULT CHARSET=utf8;DROP TABLE IF EXISTS `tb_user`;
CREATE TABLE `tb_user` (`id` int(11) NOT NULL AUTO_INCREMENT,`userName` varchar(45) NOT NULL,`password` varchar(45) NOT NULL,`realName` varchar(45) DEFAULT NULL,`business` varchar(45) DEFAULT NULL,`email` varchar(45) DEFAULT NULL,`headPicture` varchar(45) DEFAULT NULL,`addDate` date DEFAULT NULL,`updateDate` date DEFAULT NULL,`state` int(11) DEFAULT '0' COMMENT '1:正常\n2:冻结\n3:删除',PRIMARY KEY (`id`),UNIQUE KEY `name_UNIQUE` (`userName`)
) ENGINE=InnoDB AUTO_INCREMENT=20 DEFAULT CHARSET=utf8;DROP TABLE IF EXISTS `tb_category`;
CREATE TABLE `tb_category` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '类目ID',`parent_id` bigint(20) DEFAULT NULL COMMENT '父类目ID=0时,代表的是一级的类目',`name` varchar(50) DEFAULT NULL COMMENT '分类名称',`status` int(1) DEFAULT '1' COMMENT '状态。可选值:1(正常),2(删除)',`sort_order` int(4) DEFAULT NULL COMMENT '排列序号,表示同级类目的展现次序,如数值相等则按名称次序排列。取值范围:大于零的整数',`is_parent` tinyint(1) DEFAULT '1' COMMENT '该类目是否为父类目,1为true,0为false',`created` datetime DEFAULT NULL COMMENT '创建时间',`updated` datetime DEFAULT NULL COMMENT '创建时间',PRIMARY KEY (`id`),KEY `parent_id` (`parent_id`,`status`) USING BTREE,KEY `sort_order` (`sort_order`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=563 DEFAULT CHARSET=utf8 COMMENT='内容分类';DROP TABLE IF EXISTS `tb_item`;
CREATE TABLE `tb_item` (`id` bigint(20) NOT NULL COMMENT '商品id,同时也是商品编号',`title` varchar(100) NOT NULL COMMENT '商品标题',`sell_point` varchar(500) DEFAULT NULL COMMENT '商品卖点',`price` bigint(20) NOT NULL COMMENT '商品价格,单位为:分',`num` int(10) NOT NULL COMMENT '库存数量',`barcode` varchar(30) DEFAULT NULL COMMENT '商品条形码',`image` varchar(500) DEFAULT NULL COMMENT '商品图片',`cid` bigint(10) NOT NULL COMMENT '所属类目,叶子类目',`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '商品状态,1-正常,2-下架,3-删除',`created` datetime NOT NULL COMMENT '创建时间',`updated` datetime NOT NULL COMMENT '更新时间',PRIMARY KEY (`id`),KEY `cid` (`cid`),KEY `status` (`status`),KEY `updated` (`updated`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品表';DROP TABLE IF EXISTS `tb_order`;
CREATE TABLE `tb_order` (`order_id` varchar(50) COLLATE utf8_bin NOT NULL DEFAULT '' COMMENT '订单id',`payment` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '实付金额。精确到2位小数;单位:元。如:200.07,表示:200元7分',`payment_type` int(2) DEFAULT NULL COMMENT '支付类型,1、在线支付,2、货到付款',`post_fee` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '邮费。精确到2位小数;单位:元。如:200.07,表示:200元7分',`status` int(10) DEFAULT NULL COMMENT '状态:1、未付款,2、已付款,3、未发货,4、已发货,5、交易成功,6、交易关闭',`create_time` datetime DEFAULT NULL COMMENT '订单创建时间',`update_time` datetime DEFAULT NULL COMMENT '订单更新时间',`payment_time` datetime DEFAULT NULL COMMENT '付款时间',`consign_time` datetime DEFAULT NULL COMMENT '发货时间',`end_time` datetime DEFAULT NULL COMMENT '交易完成时间',`close_time` datetime DEFAULT NULL COMMENT '交易关闭时间',`shipping_name` varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT '物流名称',`shipping_code` varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT '物流单号',`user_id` bigint(20) DEFAULT NULL COMMENT '用户id',`buyer_message` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT '买家留言',`buyer_nick` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '买家昵称',`buyer_rate` int(2) DEFAULT NULL COMMENT '买家是否已经评价',`refundStatus` int(2) DEFAULT NULL,`refundReason` varchar(255) COLLATE utf8_bin DEFAULT NULL,`isRefund` int(2) DEFAULT NULL,PRIMARY KEY (`order_id`),KEY `create_time` (`create_time`) USING BTREE,KEY `buyer_nick` (`buyer_nick`) USING BTREE,KEY `status` (`status`) USING BTREE,KEY `payment_type` (`payment_type`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;DROP TABLE IF EXISTS `tb_order_item`;
CREATE TABLE `tb_order_item` (`id` varchar(20) COLLATE utf8_bin NOT NULL,`item_id` varchar(50) COLLATE utf8_bin NOT NULL COMMENT '商品id',`order_id` varchar(50) COLLATE utf8_bin NOT NULL COMMENT '订单id',`num` int(10) DEFAULT NULL COMMENT '商品购买数量',`title` varchar(200) COLLATE utf8_bin DEFAULT NULL COMMENT '商品标题',`price` bigint(50) DEFAULT NULL COMMENT '商品单价',`total_fee` bigint(50) DEFAULT NULL COMMENT '商品总金额',`pic_path` varchar(200) COLLATE utf8_bin DEFAULT NULL COMMENT '商品图片地址',PRIMARY KEY (`id`),KEY `item_id` (`item_id`) USING BTREE,KEY `order_id` (`order_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;DROP TABLE IF EXISTS `tb_order_shipping`;
CREATE TABLE `tb_order_shipping` (`order_id` varchar(50) NOT NULL COMMENT '订单ID',`receiver_name` varchar(20) DEFAULT NULL COMMENT '收货人全名',`receiver_phone` varchar(20) DEFAULT NULL COMMENT '固定电话',`receiver_mobile` varchar(30) DEFAULT NULL COMMENT '移动电话',`receiver_state` varchar(10) DEFAULT NULL COMMENT '省份',`receiver_city` varchar(10) DEFAULT NULL COMMENT '城市',`receiver_district` varchar(20) DEFAULT NULL COMMENT '区/县',`receiver_address` varchar(200) DEFAULT NULL COMMENT '收货地址,如:xx路xx号',`receiver_zip` varchar(6) DEFAULT NULL COMMENT '邮政编码,如:310001',`created` datetime DEFAULT NULL,`updated` datetime DEFAULT NULL,PRIMARY KEY (`order_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;DROP TABLE IF EXISTS `tb_re_item`;
CREATE TABLE `tb_re_item` (`id` bigint(20) NOT NULL COMMENT '商品id,同时也是商品编号',`title` varchar(100) NOT NULL COMMENT '商品标题',`sell_point` varchar(500) DEFAULT NULL COMMENT '商品卖点',`price` bigint(20) NOT NULL COMMENT '商品价格,单位为:分',`num` int(10) NOT NULL COMMENT '库存数量',`barcode` varchar(30) DEFAULT NULL COMMENT '商品条形码',`image` varchar(500) DEFAULT NULL COMMENT '商品图片',`cid` bigint(10) NOT NULL COMMENT '所属类目,叶子类目',`status` tinyint(4) NOT NULL DEFAULT '1' COMMENT '商品状态,1-正常,2-下架,3-删除',`recovered` datetime NOT NULL COMMENT '回收时间',PRIMARY KEY (`id`),KEY `cid` (`cid`),KEY `status` (`status`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品回收表';
复制代码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/390320.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Mac上为自己手动编译安装一套PHP7的开发环境

首先你得去官网下载php7 beta1的版本 这里由于我是在mac上安装,所以就去下载linux相关的版本,地址也直接附上了php7 beta1windows版的官方也有发布详情猛戳:这里 解压安装包,进入源代码目录 tar -zxvf php-7.0.0beta1.tar.gz cd p…

卡特兰数 HDU2067 HDU4165 HDU1134

题目链接:https://vjudge.net/problem/HDU-2067 小兔的棋盘 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11800 Accepted Submission(s): 5952 Problem Description小兔的叔叔从外面旅游回来给她…

Python的用途是什么? Python编程语言有10多种编码用途。

👋欢迎 (👋 Welcome) Hi! Please take a moment to think about this question: 嗨! 请花一点时间考虑这个问题: How is Python applied in real-world scenarios? Python如何在实际场景中应用? If you are learnin…

Publish/Subscribe

Publish/Subscribe 我们将会投递一个消息给多个消费者,这种模式被称为“publish/subscribe” 通俗的讲,前面的是点对点队列模型,现在讲的是发布订阅模型。 Exchanges producer:一个发送消息的用户应用程序 queue:一个存…

[转]在ROS下使用zeroconf配置多机通信

原文地址:http://www.corvin.cn/635.html,转载主要方便随时查阅,如有版权要求,请及时联系。 0x00 为何需要配置ROS多机通信 众所周知ROS是分布式系统,因此可以将机器人需要处理的复杂、计算量大的任务分解在多台机器上…

python中斐波那契数列_斐波那契数列–在Python,JavaScript,C ++,Java和Swift中进行了解释...

python中斐波那契数列by Pau Pavn通过保罗帕文(PauPavn) The Fibonacci sequence is, by definition, the integer sequence in which every number after the first two is the sum of the two preceding numbers. To simplify:根据定义,斐波那契数列是整数序列&a…

1583. 统计不开心的朋友

1583. 统计不开心的朋友 给你一份 n 位朋友的亲近程度列表,其中 n 总是 偶数 。 对每位朋友 i,preferences[i] 包含一份 按亲近程度从高到低排列 的朋友列表。换句话说,排在列表前面的朋友与 i 的亲近程度比排在列表后面的朋友更高。每个列…

uva 247(floyd传递闭包)

为什么&#xff0c;逗号后面&#xff0c;还有空格........ #include <iostream> #include <cstring> #include <algorithm> #include <cstdio> #include <vector> #include <map> using namespace std; const int maxn50; int d[maxn][max…

VS Code 的常用快捷键和插件

注:文章摘自 风行天下一万号 - 博客园 vs code 的常用快捷键 1、注释&#xff1a; 单行注释&#xff1a;[ctrlk,ctrlc] 或 ctrl/取消单行注释&#xff1a;[ctrlk,ctrlu] (按下ctrl不放&#xff0c;再按k u)多行注释&#xff1a;[altshiftA]多行注释&#xff1a;/**2、移动行&a…

python包numpy_NumPy Python科学计算软件包的终极指南

python包numpyNumPy (pronounced "numb pie") is one of the most important packages to grasp when you’re starting to learn Python.NumPy(读作“麻木派”)是您开始学习Python时要掌握的最重要的软件包之一。 The package is known for a very useful data str…

NGINX原理 之 SLAB分配机制(转)

1 引言 众所周知&#xff0c;操作系统使用伙伴系统管理内存&#xff0c;不仅会造成大量的内存碎片&#xff0c;同时处理效率也较低下。SLAB是一种内存管理机制&#xff0c;其拥有较高的处理效率&#xff0c;同时也有效的避免内存碎片的产生&#xff0c;其核心思想是预分配。其按…

apk之间数据共享的方式

1、四大组件之ContentProvider大法2、shareUserId3、apk均去远端获取配置文件&#xff08;或接口&#xff09;4、AIDL&#xff08;bindService&#xff09;5、SharePreference设置为MODE_WORLD_READABLE|MODE_WORLD_WRITEABLE模式&#xff0c;由于存在安全问题&#xff0c;已被…

蓝桥杯java 基础练习 十六进制转十进制

问题描述从键盘输入一个不超过8位的正的十六进制数字符串&#xff0c;将它转换为正的十进制数后输出。注&#xff1a;十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。样例输入FFFF样例输出65535import java.math.BigInteger; import java.util.Scanner;public …

dynamic web module消失不见

2019独角兽企业重金招聘Python工程师标准>>> 方法1&#xff1a;在project Facets选项中勾选Dynamic Web Module即可 方法2&#xff1a; 我用eclipse对项目进行修改名称&#xff0c;修改成功后。项目就没有Deployment Descriptor&#xff08;如下图红色框中&#xff…

576. 出界的路径数

576. 出界的路径数 给你一个大小为 m x n 的网格和一个球。球的起始坐标为 [startRow, startColumn] 。你可以将球移到在四个方向上相邻的单元格内&#xff08;可以穿过网格边界到达网格之外&#xff09;。你 最多 可以移动 maxMove 次球。 给你五个整数 m、n、maxMove、star…

telnet命令发送邮件

下面的例子是用qq的smtp服务器。 set localecho 本地回显启用 telnet smtp.qq.com 25 220 smtp.qq.com Esmtp QQ Mail Server helo sis 250 smtp.qq.com//服务器返回250 smtp.qq.com STARTTLS 220 Ready to start TLS//服务器返回 220 准备开启TLS通讯 auth login 334 VXNlcm5h…

myelcipse和maven搭建项目

偷懒一下&#xff0c;完了补充 转载&#xff1a;https://www.cnblogs.com/jr1260/p/6438811.html https://www.cnblogs.com/yangmingyu/p/6908519.html https://www.cnblogs.com/henuyuxiang/p/6288476.html 转载于:https://www.cnblogs.com/0914lx/p/8342343.html

551. 学生出勤记录

551. 学生出勤记录 I 给你一个字符串 s 表示一个学生的出勤记录&#xff0c;其中的每个字符用来标记当天的出勤情况&#xff08;缺勤、迟到、到场&#xff09;。记录中只含下面三种字符&#xff1a; ‘A’&#xff1a;Absent&#xff0c;缺勤 ‘L’&#xff1a;Late&#xff…

JavaScript实现职责链模式

什么是职责链模式 职责链模式的定义是&#xff1a;使多个对象都有机会处理请求&#xff0c;从而避免请求的发送者和接收者之间的耦合关系&#xff0c;将这些对象连成一条链&#xff0c;并沿着这条链传递该请求&#xff0c;直到有一个对象处理它为止。举个例子&#xff1a;当你从…

Metrics介绍和Spring的集成

参考&#xff1a; http://colobu.com/2014/08/08/Metrics-and-Spring-Integration/ https://www.cnblogs.com/yangecnu/p/Using-Metrics-to-Profiling-WebService-Performance.html