- 添加商机管理模块到集成CRM应用 - 更新构建脚本以包含商机管理模块 - 生成完整的数据库模式文件 integrated_crm_app_schema.sql - 更新模块初始化逻辑
107 lines
3.1 KiB
Bash
Executable File
107 lines
3.1 KiB
Bash
Executable File
#!/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 "" |