yumoqing b6ff13734c feat(crm): 集成商机管理模块并更新构建脚本
- 添加商机管理模块到集成CRM应用
- 更新构建脚本以包含商机管理模块
- 生成完整的数据库模式文件 integrated_crm_app_schema.sql
- 更新模块初始化逻辑
2026-04-16 14:32:41 +08:00

107 lines
3.1 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 集成CRM应用构建脚本
set -e
APP_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
MODULES_DIR="$HOME/repos"
echo "🚀 构建集成CRM应用在: $APP_DIR"
# 创建必要的目录
mkdir -p "$APP_DIR/wwwroot/styles"
mkdir -p "$APP_DIR/wwwroot/scripts"
# 步骤1: 验证所有必需模块是否存在
REQUIRED_MODULES=(
"appbase"
"rbac"
"customer_management"
"opportunity_management"
"contract_management"
"accounting"
"workflow_approval"
"unified_dashboard"
)
echo "🔍 验证必需模块..."
for module in "${REQUIRED_MODULES[@]}"; do
if [ ! -d "$MODULES_DIR/$module" ]; then
echo "❌ 错误: 模块 $module 不存在!"
exit 1
fi
echo "✅ 模块 $module 已找到"
done
# 步骤2: 运行各模块的构建脚本(如果存在)
echo "🔨 构建各个模块..."
for module in "${REQUIRED_MODULES[@]}"; do
if [ -f "$MODULES_DIR/$module/build.sh" ]; then
echo "执行 $module 构建脚本..."
cd "$MODULES_DIR/$module" && ./build.sh
fi
done
# 步骤3: 复制所有模块的wwwroot内容到主应用
echo "📁 复制模块资源..."
for module in "${REQUIRED_MODULES[@]}"; do
if [ -d "$MODULES_DIR/$module/wwwroot" ]; then
echo "复制 $module 资源..."
cp -r "$MODULES_DIR/$module/wwwroot/"* "$APP_DIR/wwwroot/" 2>/dev/null || true
fi
done
# 步骤4: 生成数据库DDL脚本
echo "📊 生成数据库模式..."
DDL_FILES=()
for module in "${REQUIRED_MODULES[@]}"; do
if [ -f "$MODULES_DIR/$module/mysql.ddl.sql" ] && [ -s "$MODULES_DIR/$module/mysql.ddl.sql" ]; then
DDL_FILES+=("$MODULES_DIR/$module/mysql.ddl.sql")
fi
done
if [ ${#DDL_FILES[@]} -gt 0 ]; then
echo "合并数据库DDL脚本..."
{
echo "-- 集成CRM应用数据库模式"
echo "-- 生成时间: $(date)"
echo ""
for ddl_file in "${DDL_FILES[@]}"; do
echo "-- 来源: $(basename "$ddl_file")"
cat "$ddl_file"
echo ""
done
} > "$APP_DIR/integrated_crm_app_schema.sql"
echo "✅ 数据库模式已生成: integrated_crm_app_schema.sql"
else
echo "⚠️ 警告: 未找到任何DDL文件"
fi
# 步骤5: 创建符号链接如果使用AhServer
echo "🔗 创建符号链接..."
if command -v ahserver &> /dev/null; then
echo "AhServer可用创建符号链接..."
# 这里会根据实际部署环境创建适当的链接
fi
# 步骤6: 验证集成
echo "🧪 验证模块加载..."
cd "$APP_DIR" && python3 -c "
import sys
sys.path.insert(0, '.')
from integrated_crm_app.init import initialize_crm_application
try:
modules = initialize_crm_application()
print('✅ 所有模块加载成功!')
except Exception as e:
print(f'❌ 模块加载失败: {e}')
sys.exit(1)
"
echo ""
echo "🎉 集成CRM应用构建完成"
echo ""
echo "📋 下一步操作:"
echo "1. 执行数据库脚本: mysql -u user -p database < integrated_crm_app_schema.sql"
echo "2. 启动应用服务器: ahserver --port 8080 --root wwwroot/"
echo "3. 访问登录页面: http://localhost:8080/main/login.ui"
echo ""