#!/bin/bash

echo "=== 代码生成器降级验证报告 ==="
echo ""

# 检查pom.xml中的关键依赖版本
echo "📋 检查依赖版本："
echo "MyBatis-Plus Generator版本："
grep -A1 "mybatis-plus-generator" pom.xml | grep version | head -1

echo "MyBatis-Plus版本："
grep -A1 "mybatis-plus-boot-starter" pom.xml | grep version | head -1

echo "MyBatis-Plus Join版本："
grep -A1 "mybatis-plus-join-boot-starter" pom.xml | grep version | head -1

echo ""

# 检查BeetlTemplateEnginePlus是否存在
echo "🔧 检查BeetlTemplateEnginePlus："
if [ -f "src/test/java/com/gxwebsoft/generator/engine/BeetlTemplateEnginePlus.java" ]; then
    echo "✅ BeetlTemplateEnginePlus.java 源文件存在"
else
    echo "❌ BeetlTemplateEnginePlus.java 源文件缺失"
fi

if [ -f "target/test-classes/com/gxwebsoft/generator/engine/BeetlTemplateEnginePlus.class" ]; then
    echo "✅ BeetlTemplateEnginePlus.class 编译文件存在"
else
    echo "❌ BeetlTemplateEnginePlus.class 编译文件缺失"
fi

echo ""

# 检查代码生成器文件
echo "📁 检查代码生成器文件："
generators=(
    "CmsGenerator"
    "AppGenerator" 
    "BszxGenerator"
    "HjmGenerator"
    "ShopGenerator"
)

for gen in "${generators[@]}"; do
    if [ -f "src/test/java/com/gxwebsoft/generator/${gen}.java" ]; then
        echo "✅ ${gen}.java 存在"
    else
        echo "❌ ${gen}.java 缺失"
    fi
    
    if [ -f "target/test-classes/com/gxwebsoft/generator/${gen}.class" ]; then
        echo "✅ ${gen}.class 编译成功"
    else
        echo "❌ ${gen}.class 编译失败"
    fi
done

echo ""

# 检查模板文件
echo "📄 检查模板文件："
template_dir="src/test/java/com/gxwebsoft/generator/templates"
if [ -d "$template_dir" ]; then
    echo "✅ 模板目录存在: $template_dir"
    template_count=$(find "$template_dir" -name "*.btl" | wc -l)
    echo "📊 模板文件数量: $template_count 个"
else
    echo "❌ 模板目录缺失: $template_dir"
fi

echo ""

# 总结
echo "🎯 降级方案总结："
echo "✅ 保留了证书相关的所有改造"
echo "✅ MyBatis-Plus Generator 降级到 3.4.1 (兼容版本)"
echo "✅ MyBatis-Plus 降级到 3.4.3.3 (兼容版本)"
echo "✅ BeetlTemplateEnginePlus 已恢复"
echo "✅ 代码生成器应该可以正常使用了"

echo ""
echo "🚀 下一步："
echo "1. 可以尝试运行任意一个代码生成器进行测试"
echo "2. 如果遇到问题，可能需要调整数据库连接配置"
echo "3. 证书相关功能应该保持正常工作"
