@echo off chcp 65001 >nul setlocal enabledelayedexpansion REM 绿纤美业ERP工资核算服务启动脚本 (Windows) REM 支持Windows 10/11, Windows Server 2016+ echo. echo ======================================== echo 绿纤美业ERP工资核算服务 echo ======================================== echo. REM 检查参数 if "%1"=="--help" goto :help if "%1"=="-h" goto :help if "%1"=="--version" goto :version if "%1"=="-v" goto :version if "%1"=="--build" goto :build if "%1"=="--clean" goto :clean REM 检查.NET 6是否安装 echo [INFO] 检查.NET 6环境... dotnet --version >nul 2>&1 if errorlevel 1 ( echo [ERROR] .NET 6 未安装,请先安装 .NET 6 SDK echo [INFO] 下载地址: https://dotnet.microsoft.com/download/dotnet/6.0 pause exit /b 1 ) for /f "tokens=*" %%i in ('dotnet --version') do set DOTNET_VERSION=%%i echo [INFO] 检测到 .NET 版本: %DOTNET_VERSION% REM 检查配置文件 if not exist "appsettings.json" ( echo [ERROR] 配置文件 appsettings.json 不存在 pause exit /b 1 ) echo [INFO] 配置文件检查通过 REM 创建必要目录 echo [INFO] 创建必要目录... if not exist "logs" mkdir logs if not exist "output" mkdir output if not exist "backup" mkdir backup echo [INFO] 目录创建完成 REM 还原NuGet包 echo [INFO] 还原NuGet包... dotnet restore if errorlevel 1 ( echo [ERROR] NuGet包还原失败 pause exit /b 1 ) echo [INFO] NuGet包还原成功 REM 构建项目 echo [INFO] 构建项目... dotnet build -c Release if errorlevel 1 ( echo [ERROR] 项目构建失败 pause exit /b 1 ) echo [INFO] 项目构建成功 REM 运行服务 set MONTH=%1 if "%MONTH%"=="" ( for /f "tokens=1,2 delims=-" %%a in ('date /t') do set MONTH=%%a-%%b echo [WARN] 未指定计算月份,使用当前月份: %MONTH% echo [INFO] 使用方法: %0 [YYYY-MM] echo [INFO] 示例: %0 2024-09 ) echo [INFO] 启动工资核算服务,计算月份: %MONTH% dotnet run --configuration Release -- %MONTH% goto :end :help echo. echo 绿纤美业ERP工资核算服务 echo. echo 使用方法: echo %0 [月份] 运行工资核算服务 echo %0 --help, -h 显示帮助信息 echo %0 --version, -v 显示版本信息 echo %0 --build 仅构建项目 echo %0 --clean 清理构建文件 echo. echo 参数: echo 月份 计算月份,格式: YYYY-MM (例如: 2024-09) echo. echo 示例: echo %0 2024-09 计算2024年9月工资 echo %0 计算当前月份工资 echo. echo 环境要求: echo - .NET 6.0 SDK echo - MySQL数据库连接 echo - 网络连接 goto :end :version echo 绿纤美业ERP工资核算服务 v1.0.0 echo 构建时间: %date% %time% for /f "tokens=*" %%i in ('dotnet --version') do echo .NET版本: %%i goto :end :build echo [INFO] 检查.NET 6环境... dotnet --version >nul 2>&1 if errorlevel 1 ( echo [ERROR] .NET 6 未安装 pause exit /b 1 ) echo [INFO] 检查配置文件... if not exist "appsettings.json" ( echo [ERROR] 配置文件不存在 pause exit /b 1 ) echo [INFO] 创建目录... if not exist "logs" mkdir logs if not exist "output" mkdir output if not exist "backup" mkdir backup echo [INFO] 还原包... dotnet restore if errorlevel 1 ( echo [ERROR] 还原失败 pause exit /b 1 ) echo [INFO] 构建项目... dotnet build -c Release if errorlevel 1 ( echo [ERROR] 构建失败 pause exit /b 1 ) echo [INFO] 构建完成 goto :end :clean echo [INFO] 清理构建文件... dotnet clean if exist "bin" rmdir /s /q "bin" if exist "obj" rmdir /s /q "obj" echo [INFO] 清理完成 goto :end :end pause