后台面板

This commit is contained in:
2025-06-09 12:34:52 +08:00
parent 89bade9232
commit 19c82817ba
375 changed files with 20628 additions and 11903 deletions

View File

@@ -1,64 +1,21 @@
# 设置输出编码为UTF-8
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
$OutputEncoding = [System.Text.Encoding]::UTF8
[Console]::InputEncoding = [System.Text.Encoding]::UTF8
# 启用详细输出和错误处理
$ErrorActionPreference = "Stop"
$VerbosePreference = "Continue"
# 检查并创建必要的目录
if (-not (Test-Path "./model")) {
Write-Output "Creating model directory..."
New-Item -ItemType Directory -Path "./model" | Out-Null
}
if (-not (Test-Path "../../app/user/model")) {
Write-Output "Creating target directory..."
New-Item -ItemType Directory -Path "../../app/user/model" -Force | Out-Null
}
# 将表名转换为驼峰命名法的函数
function ConvertToCamelCase {
param (
[string]$tableName
)
try {
# 将表名按_分割并将每个部分首字母大写
$parts = $tableName -split '_'
$camelCase = ""
foreach ($part in $parts) {
if ($part.Length -gt 0) {
$camelCase += $part.Substring(0, 1).ToUpper() + $part.Substring(1).ToLower()
}
}
return $camelCase
}
catch {
Write-Output "Error in ConvertToCamelCase for table: $tableName"
Write-Output $_.Exception.Message
return $tableName # 出错时返回原表名
}
}
# 数据库连接信息
$DB_URL = "qnc:5vg67b3UNHu8@tcp(127.0.0.1:21001)/qnc"
# 数据库连接信息 - 修改了URL格式
$DB_URL = "qnc:5vg67b3UNHu8@(127.0.0.1:21001)/qnc"
$OUTPUT_DIR = "./model"
$TEMPLATE_DIR = "../template"
$TARGET_DIR = "../../app/user/model"
# 表名列表 - 每个元素后必须有逗号分隔
# 表名列表
$tables = @(
# "agent",
# "agent_active_stat",
# "agent_audit",
# "agent_real_name"
# "agent_closure",
# "agent_commission",
# "agent_commission_deduction",
# "agent_link",
# "agent_membership_config",
# "agent_membership_recharge_order",
# "agent_membership_recharge_order"
# "agent_membership_user_config",
# "agent_order",
# "agent_platform_deduction",
@@ -66,74 +23,39 @@ $tables = @(
# "agent_rewards",
# "agent_wallet",
# "agent_withdrawal",
# "agent_real_name"
# "feature",
# "global_notifications",
# "global_notifications"
# "order",
# "order_refund"
# "product",
# "product_feature",
# "query",
# "user",
# "user_auth",
# "example",
# "query_cleanup_log"
# "query_cleanup_detail"
# "query_cleanup_config"
# "user"
# "user_auth"
# "example"
"authorization"
# "authorization_face"
"authorization_face"
# "admin_user"
# "admin_user_role"
# "admin_api",
# "admin_menu"
# "admin_role",
# "admin_role_api",
# "admin_role_menu",
# "admin_dict_data"
# "admin_dict_type"
# "admin_promotion_link"
# "admin_promotion_link_stats_total"
# "admin_promotion_link_stats_history"
# "admin_promotion_order"
)
# 为每个表生成模型
foreach ($table in $tables) {
try {
Write-Output "========================================="
Write-Output "Processing table: $table"
# 生成模型
Write-Output "Generating model..."
$command = "goctl model mysql datasource -url=`"$DB_URL`" -table=`"$table`" -dir=`"$OUTPUT_DIR`" --home=`"$TEMPLATE_DIR`" -cache=true --style=goZero"
Write-Output "Running command: $command"
Invoke-Expression $command
# 将表名转换为驼峰命名法
$camelCaseName = ConvertToCamelCase -tableName $table
Write-Output "Table name converted to: $camelCaseName"
# 定义源文件和目标文件路径
$sourceModelFile = "$OUTPUT_DIR/${camelCaseName}Model.go"
$sourceModelGenFile = "$OUTPUT_DIR/${camelCaseName}Model_gen.go"
$targetModelFile = "$TARGET_DIR/${camelCaseName}Model.go"
$targetModelGenFile = "$TARGET_DIR/${camelCaseName}Model_gen.go"
Write-Output "Source files:"
Write-Output " - $sourceModelFile"
Write-Output " - $sourceModelGenFile"
Write-Output "Target files:"
Write-Output " - $targetModelFile"
Write-Output " - $targetModelGenFile"
# 检查源文件是否存在
if (-not (Test-Path $sourceModelFile)) {
Write-Output "WARNING: Source file not found: $sourceModelFile"
}
if (-not (Test-Path $sourceModelGenFile)) {
Write-Output "WARNING: Source file not found: $sourceModelGenFile"
}
# 移动文件
if (Test-Path $sourceModelFile) {
Write-Output "Moving $sourceModelFile to $targetModelFile"
Move-Item -Path $sourceModelFile -Destination $targetModelFile -Force
}
if (Test-Path $sourceModelGenFile) {
Write-Output "Moving $sourceModelGenFile to $targetModelGenFile"
Move-Item -Path $sourceModelGenFile -Destination $targetModelGenFile -Force
}
Write-Output "Processing completed for table: $table"
}
catch {
Write-Output "ERROR processing table: $table"
Write-Output $_.Exception.Message
Write-Output $_.ScriptStackTrace
}
goctl model mysql datasource -url="qnc:5vg67b3UNHu8@tcp(127.0.0.1:21001)/qnc" -table="$table" -dir="./model" --home="../template" -cache=true --style=goZero
}
Write-Output "========================================="
Write-Output "Script execution completed."