# 帝可得
**Repository Path**: MarkburtOS/dkd-parent
## Basic Information
- **Project Name**: 帝可得
- **Description**: 帝可得项目是一个智能售货机项目,采用目前企业主流的SpringCloud+SpringCloudAlibaba +MyBatisPlus框架开发,包括运营管理后台、合作商后台、运营APP、用户小程序、售货机屏幕5个端。
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 9
- **Created**: 2024-09-14
- **Last Updated**: 2024-09-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
帝可得
### 一、帝可得简介
帝可得是一个基于物联网概念下的智能售货机运营管理系统
#### 技术栈
- **后端**: Spring Boot, Spring Security, MyBatis, Jwt
- **数据库**: MySQL, Redis
- **前端**: Vue3, Element-Plus
- **构建工具**: Maven, Node.js
#### 软件环境
| 组件 | 最低版本要求 | 推荐版本 |
|------------|-------------|----------|
| JDK | >= 1.8 | 11 |
| MySQL | >= 5.7.0 | 8 |
| Redis | >= 3.0 | 5 (Windows) |
| Maven | >= 3.0 | 3.6 |
| Node.js | >= 12 | 16 (支持 Vue3) |
### 二、角色与功能

一个完整的售货机系统由五端五角色组成:
1. 管理员:对基础数据(区域、点位、设备、货道、商品等)进行管理,创建工单指派运维或运营人员,查看订单,查看各种统计报表。
2. 运维人员:投放设备、撤除设备、维修设备。
3. 运营人员:补货。
4. 合作商:仅提供点位,坐收渔翁之利。
5. 消费者: 在小程序或屏幕端下单购买商品。
### 三、业务流程

整个工程中,课程里会对主要核心的业务进行实现,主要包含下面的业务流程:
(1)平台管理员:主要作用有基础数据的管理和创建工单派出员工完成维修或补货。
(2)运营人员:主要作用是处理运营工单业务(补货等操作)
(3)运维人员:主要作用是处理运维工单业务(设备维修等操作)
(4)消费者:供C端用户使用。消费者扫描售货机上的二维码可以打开此端。主要作用是完成在售货机的购物操作。
#### 平台管理员


上图中的简要流程:
①:平台管理人员登录到系统管理后台系统
②:创建区域数据
③:创建区域下点位数据
④:添加运维/运营人员
⑤:创建售货机信息
⑥:设置售货机点位信息
⑦:创建运维投放工单,由运维人员开始投放设备(安装设备)
⑧:设置售卖的商品信息
⑨:创建运营补货工单,由运营人员开始投放商品信息
#### 运维人员

上图中的简要流程:
①:运维人员通过App登录运营系统
②:在App对派送过来的工单进行处理
③:接受工单后在指定的投放点安装售货机
④:拒绝工单该运维人员的工单结束
#### 运营人员

上图中的简要流程:
①:运营人员通过App登录运营系统
②:在App对派送过来的工单进行处理
③:接受工单后在指定的售货机的商品进行补货
④:拒绝工单该运维人员的工单结束
#### 消费者

上图中的简要流程:
方式一:
①:用户通过售货机二维码进行购买商品
②:扫码后在手机端微信小程序选择商品
③:支付成功后在售货机取货
方式二:
①:用户在售货机上选择商品
②:在选择商品后扫码支付商品的二维码
③:支付成功后在售货机取货
#### 库表设计

一个区域可以有多个点位
一个点位可以有多个售货机
一个售货机有多个货道
多个货道可以放置同一样商品
一个商品类型下有多个商品
一个售货机类型下有多个售货机
一个合作商有多个点位
合作商和区域之间没有关系,因为合作商拥有的多个点位可以分布在不同的区域
每个区域下有多个运维和运营人员,他们来负责这个区域下的设备的运维和运营