124 lines
4.4 KiB
Bash
124 lines
4.4 KiB
Bash
|
|
#!/bin/bash
|
|||
|
|
# ============================================
|
|||
|
|
# Tailchat Sales 销售模块验证脚本
|
|||
|
|
# ============================================
|
|||
|
|
set -e
|
|||
|
|
|
|||
|
|
echo "🔍 [验证] Tailchat Sales 模块状态检查"
|
|||
|
|
echo "================================"
|
|||
|
|
|
|||
|
|
# ==================== 1. 检查 Docker 服务 ====================
|
|||
|
|
echo ""
|
|||
|
|
echo "1️⃣ 检查 Docker 服务状态..."
|
|||
|
|
if docker ps &>/dev/null; then
|
|||
|
|
if docker ps | grep -q "tailchat"; then
|
|||
|
|
echo "✅ Tailchat 服务运行中"
|
|||
|
|
docker ps | grep "tailchat" | awk '{print $1, $2}'
|
|||
|
|
else
|
|||
|
|
echo "⚠️ Tailchat 服务未运行"
|
|||
|
|
echo "启动命令: cd /Users/sion/Desktop/projects/tailchat-sales && docker-compose up -d"
|
|||
|
|
fi
|
|||
|
|
else
|
|||
|
|
echo "❌ Docker 未运行"
|
|||
|
|
exit 1
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# ==================== 2. 检查 MongoDB 连接 ====================
|
|||
|
|
echo ""
|
|||
|
|
echo "2️⃣ 检查 MongoDB 连接..."
|
|||
|
|
MONGO_CONTAINER=$(docker ps | grep mongo | awk '{print $1}' | head -1)
|
|||
|
|
if [ -n "$MONGO_CONTAINER" ]; then
|
|||
|
|
echo "✅ MongoDB 容器运行中: $MONGO_CONTAINER"
|
|||
|
|
|
|||
|
|
# 检查 sales_invites 表
|
|||
|
|
if docker exec $MONGO_CONTAINER mongo tailchat --eval "db.sales_invites.count()" 2>/dev/null | grep -q "[0-9]"; then
|
|||
|
|
COUNT=$(docker exec $MONGO_CONTAINER mongo tailchat --eval "db.sales_invites.count()" 2>/dev/null | tail -1)
|
|||
|
|
echo "✅ sales_invites 表存在,记录数: $COUNT"
|
|||
|
|
else
|
|||
|
|
echo "⚠️ sales_invites 表不存在或为空"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 检查 sales_stats 表
|
|||
|
|
if docker exec $MONGO_CONTAINER mongo tailchat --eval "db.sales_stats.count()" 2>/dev/null | grep -q "[0-9]"; then
|
|||
|
|
COUNT=$(docker exec $MONGO_CONTAINER mongo tailchat --eval "db.sales_stats.count()" 2>/dev/null | tail -1)
|
|||
|
|
echo "✅ sales_stats 表存在,记录数: $COUNT"
|
|||
|
|
else
|
|||
|
|
echo "⚠️ sales_stats 表不存在或为空"
|
|||
|
|
fi
|
|||
|
|
else
|
|||
|
|
echo "❌ MongoDB 容器未运行"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# ==================== 3. 检查 Redis 连接 ====================
|
|||
|
|
echo ""
|
|||
|
|
echo "3️⃣ 检查 Redis 连接..."
|
|||
|
|
REDIS_CONTAINER=$(docker ps | grep redis | awk '{print $1}' | head -1)
|
|||
|
|
if [ -n "$REDIS_CONTAINER" ]; then
|
|||
|
|
echo "✅ Redis 容器运行中: $REDIS_CONTAINER"
|
|||
|
|
|
|||
|
|
# 测试 Redis 连接
|
|||
|
|
if docker exec $REDIS_CONTAINER redis-cli ping 2>/dev/null | grep -q "PONG"; then
|
|||
|
|
echo "✅ Redis 连接正常"
|
|||
|
|
else
|
|||
|
|
echo "❌ Redis 连接失败"
|
|||
|
|
fi
|
|||
|
|
else
|
|||
|
|
echo "❌ Redis 容器未运行"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# ==================== 4. 检查销售模块 API ====================
|
|||
|
|
echo ""
|
|||
|
|
echo "4️⃣ 检查销售模块 API..."
|
|||
|
|
TAILCHAT_URL="http://localhost:11000"
|
|||
|
|
|
|||
|
|
# 检查服务健康状态
|
|||
|
|
if curl -s "$TAILCHAT_URL/health" | grep -q "ok"; then
|
|||
|
|
echo "✅ Tailchat 服务健康"
|
|||
|
|
else
|
|||
|
|
echo "⚠️ Tailchat 服务未响应: $TAILCHAT_URL"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 测试邀请 API (需要 token)
|
|||
|
|
# echo "测试邀请 API: POST $TAILCHAT_URL/api/plugin/com.msgbyte.saleschat/invite/create"
|
|||
|
|
|
|||
|
|
# ==================== 5. 检查用户表关联 ====================
|
|||
|
|
echo ""
|
|||
|
|
echo "5️⃣ 检查用户表关联..."
|
|||
|
|
if [ -n "$MONGO_CONTAINER" ]; then
|
|||
|
|
# 检查 Tailchat 用户表
|
|||
|
|
USER_COUNT=$(docker exec $MONGO_CONTAINER mongo tailchat --eval "db.users.count()" 2>/dev/null | tail -1)
|
|||
|
|
if [[ "$USER_COUNT" =~ ^[0-9]+$ ]]; then
|
|||
|
|
echo "✅ Tailchat 用户表存在,用户数: $USER_COUNT"
|
|||
|
|
else
|
|||
|
|
echo "⚠️ Tailchat 用户表不存在或为空"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# 检查 sales_invites 是否引用了有效用户
|
|||
|
|
if docker exec $MONGO_CONTAINER mongo tailchat --eval "db.sales_invites.findOne()" 2>/dev/null | grep -q "salesId"; then
|
|||
|
|
echo "✅ sales_invites 表有数据且包含 salesId 字段"
|
|||
|
|
else
|
|||
|
|
echo "⚠️ sales_invites 表无数据或缺少 salesId 字段"
|
|||
|
|
fi
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
# ==================== 6. 检查插件加载状态 ====================
|
|||
|
|
echo ""
|
|||
|
|
echo "6️⃣ 检查插件加载状态..."
|
|||
|
|
PLUGIN_DIR="/Users/sion/Desktop/projects/tailchat-sales/server/plugins/com.msgbyte.saleschat"
|
|||
|
|
if [ -d "$PLUGIN_DIR" ]; then
|
|||
|
|
echo "✅ 销售插件目录存在"
|
|||
|
|
echo " 路径: $PLUGIN_DIR"
|
|||
|
|
|
|||
|
|
# 检查关键文件
|
|||
|
|
[ -f "$PLUGIN_DIR/services/index.ts" ] && echo " ✅ services/index.ts"
|
|||
|
|
[ -f "$PLUGIN_DIR/services/invite.service.ts" ] && echo " ✅ invite.service.ts"
|
|||
|
|
[ -f "$PLUGIN_DIR/services/stats.service.ts" ] && echo " ✅ stats.service.ts"
|
|||
|
|
[ -f "$PLUGIN_DIR/services/admin.service.ts" ] && echo " ✅ admin.service.ts"
|
|||
|
|
else
|
|||
|
|
echo "❌ 销售插件目录不存在"
|
|||
|
|
fi
|
|||
|
|
|
|||
|
|
echo ""
|
|||
|
|
echo "================================"
|
|||
|
|
echo "🏁 验证完成"
|