知呼依茶 -服务平台系统方案
项目概述
*知呼依茶*是一个融合茶文化知识社区与茶室智能服务的综合性平台,旨在打造连接茶文化爱好者与优质茶室服务的桥梁。
系统架构设计
整体架构图
┌───────────────────
│ 前端展示层 │
├─────────────┬─────
│ 微信小程序 │ H5移动端 │ 管理后台 │ APP │
└─────────────┴─────
│ 网关层 │
├─────────────┬───
│ API网关 │ 负载均衡 │ 权限验证 │ 限流
│ 业务服务层 │
├─────────────┬─────
│ 用户服务 │ 内容服务 │ 订单服务 │ 支付服务 │
└─────────────┴─────
│ 数据存储层 │
├─────────────┬─────
│ MySQL │ Redis │ MongoDB │ OSS │
└─────────────┴─────
技术栈选型
层级 技术方案 说明
前端 uni-app + Vue 3 + TypeScript 一套代码多端发布,支持微信小程序、H5、APP
后端 Spring Boot 3.x + MyBatis-Plus 现代化架构
数据库 MySQL 8.0 + Redis 7.x 关系型数据存储 + 缓存
消息队列 RabbitMQ 异步任务处理
搜索 Elasticsearch 8.x 内容搜索和推荐
文件存储 阿里云OSS 图片、文件存储
部署 Docker + Jenkins + K8s 容器化部署
核心功能模块
1. 用户端功能
·茶文化社区
· 问答系统(提问、回答、点赞、收藏)
· 茶知识文章分享
· 茶友圈动态
· 专家认证与专栏
· 茶室服务
· 智能预订系统
· 茶室筛选与推荐
· 在线支付
· 订单管理
· 个人中心
· 个人资料管理
· 我的问答/收藏
· 消费记录
· 会员体系
2. 商家端功能
· 店铺管理
· 茶室信息维护
· 座位管理
· 价格策略设置
· 营业时间管理
· 经营分析
· 订单统计
· 收入分析
· 客户画像
· 热门时段分析
3. 管理后台
· 系统管理
· 用户管理
· 内容审核
· 订单监控
· 数据统计
数据库设计(核心表)
用户相关表
-- 用户表
CREATE TABLE users (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) UNIQUE,
nickname VARCHAR(100),
avatar_url VARCHAR(500),
phone VARCHAR(20),
wechat_unionid VARCHAR(100),
level TINYINT DEFAULT 1,
status TINYINT DEFAULT 1,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 用户认证表
CREATE TABLE user_auth (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id BIGINT,
identity_type VARCHAR(20), -- phone/wechat
identifier VARCHAR(100),
credential VARCHAR(200),
FOREIGN KEY (user_id) REFERENCES users(id)
内容社区表
-- 问题表
CREATE TABLE questions (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
user_id BIGINT,
title VARCHAR(200),
content TEXT,
tags JSON, -- 标签数组
view_count INT DEFAULT 0,
answer_count INT DEFAULT 0,
status TINYINT DEFAULT 1,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id)
-- 回答表
CREATE TABLE answers (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
question_id BIGINT,
user_id BIGINT,
content TEXT,
like_count INT DEFAULT 0,
collect_count INT DEFAULT 0,
is_expert BOOLEAN DEFAULT FALSE,
status TINYINT DEFAULT 1,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (question_id) REFERENCES questions(id),
FOREIGN KEY (user_id) REFERENCES users(id)
茶室服务表
-- 茶室表
CREATE TABLE tea_houses (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(100),
description TEXT,
address VARCHAR(500),
latitude DECIMAL(10, 6),
longitude DECIMAL(10, 6),
images JSON,
business_hours JSON,
contact_phone VARCHAR(20),
status TINYINT DEFAULT 1,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
-- 订单表
CREATE TABLE orders (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
order_no VARCHAR(50) UNIQUE,
user_id BIGINT,
tea_house_id BIGINT,
total_amount DECIMAL(10, 2),
status TINYINT DEFAULT 0, -- 0:待支付 1:已支付 2:已完成 3:已取消
pay_time TIMESTAMP NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES users(id),
FOREIGN KEY (tea_house_id) REFERENCES tea_houses(id)
核心业务实现
1. 问答社区核心逻辑
@Service
public class QuestionService {
@Autowired
private QuestionRepository questionRepository;
@Autowired
private RedisTemplate redisTemplate;
public Page<QuestionVO> getQuestionList(QuestionQuery query) {
// 实现问题列表查询,支持分页、标签筛选、排序
return questionRepository.findByCondition(query);
@Transactional
public Answer publishAnswer(AnswerDTO answerDTO) {
// 发布回答,更新问题回答数
Answer answer = convertToAnswer(answerDTO);
answerRepository.save(answer);
// 更新问题回答数 questionRepository.incrementAnswerCount(answerDTO.getQuestionId());
return answer;
2. 茶室预订流程
@Service
public class BookingService {
@Autowired
private TeaHouseRepository teaHouseRepository;
@Autowired
private OrderRepository orderRepository;
@Autowired
private RabbitTemplate rabbitTemplate;
@Transactional
public Order createOrder(OrderCreateDTO orderDTO) {
// 1. 验证茶室可用性
TeaHouse teaHouse = teaHouseRepository.findById(orderDTO.getTeaHouseId())
.orElseThrow(() -> new BusinessException
// 2. 创建订单
Order order = new Order();
order.setOrderNo(generateOrderNo());
order.setUserId(orderDTO.getUserId()); order.setTeaHouseId(orderDTO.getTeaHouseId()); order.setTotalAmount(calculateAmount(orderDTO));
orderRepository.save(order);
// 3. 发送延迟消息处理未支付订单 rabbitTemplate.convertAndSend("order.delay.exchange",
"order.delay", order.getId());
return order;
安全与性能优化
安全措施
· JWT token身份认证
· 接口限流防刷
· SQL注入防护
· XSS攻击防护
· 数据脱敏处理
性能优化
· Redis缓存热点数据
· CDN加速静态资源
· 数据库读写分离
· Elasticsearch全文搜索
· 图片懒加载
部署方案
开发环境
· 本地Docker开发环境
· 代码仓库:GitLab
· CI/CD:Jenkins流水线
生产环境
· 云服务器集群
· Kubernetes容器编排
· Nginx负载均衡
· 监控告警系统
项目里程碑
阶段 时间 主要目标
一期 1-2个月 基础问答社区 + 用户系统
二期 1个月 茶室预订功能
三期 1个月 商家管理系统
四期 持续迭代 优化体验、新增功能
注;需要祥细调整再优化!