基于Springboot2+Vue2+uniapp的单商家在线点餐外卖小程序

在线点餐外卖小程序-单商家

演示视频

https://www.bilibili.com/video/BV1CB2LBvEdn/

角色

用户、商家

技术

后端:Spring Boot (Java)

数据库:MySQL

前端:UniApp (用于跨平台小程序开发)

核心功能

本系统是一个单商家在线点餐外卖小程序,旨在为用户提供便捷的商品浏览、在线点餐、订单支付、地址管理和商品评价等功能。同时,系统为商家/管理员提供了一套完整的后台管理功能,包括商品、订单、用户、广告和文章内容的管理,实现高效的线上运营。

功能介绍

用户

  1. 商品浏览与搜索:用户可以浏览商品分类,查看商品详情,并通过关键词搜索商品。
  2. 购物车管理:用户可以将商品加入购物车,修改商品数量,或清空购物车。
  3. 订单管理与支付:用户可以提交购物车商品生成订单,完成在线支付,并实时查看订单状态(待付款、待发货、待收货、已完成等)。
  4. 收货地址管理:用户可以添加、修改、删除收货地址,并设置默认地址,方便快速下单。
  5. 商品收藏:用户可以收藏感兴趣的商品,方便下次购买。
  6. 商品评价:用户可以对已完成的订单商品进行评分和文字评价。
  7. 个人信息管理:用户可以进行登录、注册、修改昵称和头像等操作。

商家

  1. 商品管理:管理商品的上架、下架、信息修改(名称、描述、价格、库存、图片、规格等)。
  2. 分类与标签管理 :维护商品分类(sp_type)和商品标签(sp_tags),优化商品展示结构。
  3. 订单处理:查看所有用户订单,进行订单状态流转操作,如接单、发货/配送、确认完成或处理退款申请。
  4. 内容与广告管理 :管理系统首页的轮播图/广告(sp_ad)以及用户协议、售后政策等文章内容(sp_article)。
  5. 用户管理:查看注册用户信息,并可对用户账号状态进行管理(如禁用)。
  6. 数据统计:查看商品的销售量、库存、浏览量等运营数据。

数据字典

广告表 (sp_ad)

字段名 类型 备注
id int(0) 主键ID
img varchar(255) 广告图片
href varchar(255) 广告链接
tsort varchar(255) 排序
cts varchar(255) 创建时间/时间戳
type varchar(255) 广告类型
msg varchar(255) 广告信息

收货地址表 (sp_address)

字段名 类型 备注
id int(0) 主键ID
aname varchar(255) 收货人姓名
cts varchar(255) 创建时间/时间戳
is_def varchar(255) 是否默认 (0否, 1是)
phone varchar(255) 手机号
a_add varchar(255) 收货地址
uid int(0) 用户ID

文章内容表 (sp_article)

字段名 类型 备注
id int(0) 主键ID
cts varchar(255) 创建时间/时间戳
title varchar(255) 文章标题
context longtext 评价内容/文章内容

购物车表 (sp_carts)

字段名 类型 备注
id int(0) 主键ID
gid int(0) 商品ID
uid int(0) 用户ID
num int(0) 数量
cts varchar(255) 创建时间/时间戳
ginfo varchar(255) 商品信息快照
gprice double 商品单价
total_price double 总价

收藏表 (sp_collect)

字段名 类型 备注
id int(0) 主键ID
uid int(0) 用户ID
gid int(0) 商品ID
cts varchar(255) 创建时间/时间戳

评价表 (sp_evaluation)

字段名 类型 备注
id int(0) 主键ID
oid int(0) 订单ID
uid int(0) 用户ID
evel int(0) 评分/评价等级
context varchar(255) 评价内容/文章内容
cts varchar(255) 创建时间/时间戳
gid int(0) 商品ID

商品表 (sp_goods)

字段名 类型 备注
id int(0) 主键ID
gname varchar(255) 商品名称
gdesc longtext 商品描述
tags text 商品标签
gtype int(0) 商品分类ID
sales int(0) 销量
stock int(0) 库存
gsize varchar(255) 商品规格
spec_price text 规格价格JSON
showprice double(255 展示价格
cts varchar(255) 创建时间/时间戳
putaway_ts varchar(255) 上架时间
is_putaway varchar(255) 是否上架
imgs text 商品图片列表
view_num int(0) 浏览量
evel int(0) 评分/评价等级
evaluation_num int(0) 评价数量
is_especially varchar(255) 是否特色商品
pre_price double(10 原价

消息/聊天记录表 (sp_msg)

字段名 类型 备注
id int(0) 主键ID
uid int(0) 用户ID
tuid int(0) 目标用户ID
cont varchar(255) 消息内容
cts varchar(255) 创建时间/时间戳
isread varchar(255) 是否已读
chatroom varchar(255) 聊天室ID

订单表 (sp_orders)

字段名 类型 备注
id int(0) 主键ID
orderNo varchar(255) 订单编号
gid int(0) 商品ID
uid int(0) 用户ID
ginfo varchar(255) 商品信息快照
gprice double 商品单价
cts varchar(255) 创建时间/时间戳
addressinfo varchar(255) 收货地址快照
num int(0) 数量
total_price double 总价
note varchar(255) 订单备注
is_pay varchar(255) 是否支付
pay_ts varchar(255) 支付时间
pay_method varchar(255) 支付方式
send_ts varchar(255) 发货时间
is_send varchar(255) 是否发货/配送
is_accept varchar(255) 是否收货
accept_ts varchar(255) 收货时间
evaluate_ts varchar(255) 评价时间
is_evaluate varchar(255) 是否评价
is_refund varchar(255) 是否退款
refund_ts varchar(255) 申请退款时间
refunded_ts varchar(255) 退款完成时间
is_show varchar(255) 是否显示
del_ts varchar(255) 删除时间

商品标签表 (sp_tags)

字段名 类型 备注
id int(0) 主键ID
tag_name varchar(255) 标签名称
cts varchar(255) 创建时间/时间戳
tid int(0) 标签所属分类ID

商品分类表 (sp_type)

字段名 类型 备注
id int(0) 主键ID
tname varchar(255) 分类名称
cts varchar(255) 创建时间/时间戳
tsort int(0) 排序

用户表 (sp_users)

字段名 类型 备注
id int(0) 主键ID
phone varchar(255) 手机号
upass varchar(255) 密码
nickname varchar(255) 昵称
faceimg varchar(255) 头像
role varchar(255) 用户角色
cts varchar(255) 创建时间/时间戳
sex varchar(255) 性别
state varchar(255) 用户状态
nouse_msg varchar(255) 禁用原因
nouse_date varchar(255) 禁用截止日期

部分截图





























相关推荐
FluxDB1 天前
FluxDB vs DBX vs DBeaver:GPUI、Tauri、Eclipse 三种技术栈实测
数据库·mysql
ruanno_top1 天前
倒计时该用 deadline 还是每秒减一?我把两种写法都跑了一遍
vue.js
数据库小学妹1 天前
MySQL分页结果不稳定:唯一键兜底与游标分页
数据库·mysql·dba
aiks_yuan1 天前
Spring Boot SSE 流式输出变成一次性返回怎么办:大模型打字机效果失效的 5 个原因(Spring Boot 4.1.2 实测)
spring boot
风翼靓崽1 天前
mysql数据备份/恢复
数据库·mysql
Thomas.Sir1 天前
第15课:SpringBoot连接池详解:HikariCP配置、调优、监控,4.x连接池新特性
java·spring boot
这个DBA有点耶1 天前
Merge还是Materialize?一文讲透MySQL 8.0 CTE底层的执行计划博弈与性能陷阱
数据库·mysql·架构
VimorphTech1 天前
每批开 4 个线程,为什么限制不住 TTS 的总并发?
java·spring boot·spring
Thanks_ks1 天前
MySQL 的 REPEATABLE READ 到底能不能防幻读——从快照读、当前读到 Next-Key Lock
数据库·mysql·innodb·mvcc·锁机制·事务隔离级别·间隙锁
杨凯凡1 天前
Spring Boot 缓存一致性怎么保证?@Cacheable、@CacheEvict 与事务提交时机实战
java·spring boot·spring cache·后端开发·缓存一致性