feat(admin): 添加用户管理相关文件

添加用户管理视图、API和状态管理文件
This commit is contained in:
张翔
2026-03-28 14:37:29 +08:00
commit 08ea5fbe98
1643 changed files with 255646 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
#!/bin/bash
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
LOG_DIR="$PROJECT_ROOT/test-automation/logs"
PID_FILE="$LOG_DIR/api-server.pid"
echo "[清理环境] 正在清理..."
if [ -f "$PID_FILE" ]; then
API_PID=$(cat "$PID_FILE")
if ps -p $API_PID > /dev/null 2>&1; then
echo "[清理环境] 停止API服务 (PID: $API_PID)..."
kill $API_PID
sleep 2
if ps -p $API_PID > /dev/null 2>&1; then
echo "[清理环境] 强制停止API服务..."
kill -9 $API_PID
fi
fi
rm -f "$PID_FILE"
fi
echo "[清理环境] ✓ 清理完成"
@@ -0,0 +1,44 @@
-- 测试用户数据
INSERT INTO sys_user (id, username, password, email, phone, status, created_at, updated_at)
VALUES
(1, 'admin', '$2a$10$N.zmdr9k7uOCQb376NoUnuTJ8iAt6Z5EHsM8lE9lBOsl7iAt6Z5EH', 'admin@example.com', '13800138000', 1, NOW(), NOW()),
(2, 'testuser', '$2a$10$N.zmdr9k7uOCQb376NoUnuTJ8iAt6Z5EHsM8lE9lBOsl7iAt6Z5EH', 'test@example.com', '13800138001', 1, NOW(), NOW());
-- 测试角色数据
INSERT INTO sys_role (id, role_name, role_code, description, created_at, updated_at)
VALUES
(1, '管理员', 'ADMIN', '系统管理员角色', NOW(), NOW()),
(2, '普通用户', 'USER', '普通用户角色', NOW(), NOW());
-- 测试用户角色关联
INSERT INTO sys_user_role (user_id, role_id)
VALUES
(1, 1),
(2, 2);
-- 测试菜单数据
INSERT INTO sys_menu (id, menu_name, menu_code, parent_id, path, icon, sort, status, created_at, updated_at)
VALUES
(1, '系统管理', 'SYSTEM', NULL, '/system', 'setting', 1, 1, NOW(), NOW()),
(2, '用户管理', 'USER_MANAGE', 1, '/system/user', 'user', 1, 1, NOW(), NOW()),
(3, '角色管理', 'ROLE_MANAGE', 1, '/system/role', 'team', 2, 1, NOW(), NOW());
-- 测试权限数据
INSERT INTO sys_permission (id, permission_name, permission_code, resource_type, resource_url, method, parent_id, status, created_at, updated_at)
VALUES
(1, '用户查看', 'user:view', 'menu', '/api/sys/user/*', 'GET', NULL, 1, NOW(), NOW()),
(2, '用户创建', 'user:create', 'button', '/api/sys/user', 'POST', 1, 1, NOW(), NOW()),
(3, '用户编辑', 'user:edit', 'button', '/api/sys/user/*', 'PUT', 1, 1, NOW(), NOW()),
(4, '用户删除', 'user:delete', 'button', '/api/sys/user/*', 'DELETE', 1, 1, NOW(), NOW());
-- 测试角色权限关联
INSERT INTO sys_role_permission (role_id, permission_id)
VALUES
(1, 1), (1, 2), (1, 3), (1, 4),
(2, 1);
-- 测试黄历数据
INSERT INTO almanac (id, date, lunar_date, gan_zhi, star, should_do, avoid_do, created_at, updated_at)
VALUES
(1, '2026-03-01', '丙午年正月十三', '丙午年 庚寅月 戊申日', '角木蛟', '祭祀,祈福,求嗣,斋醮,嫁娶,冠笄,出行,开市,交易,会亲友,教牛马', '动土,伐木,安葬,开生坟', NOW(), NOW()),
(2, '2026-03-02', '丙午年正月十四', '丙午年 庚寅月 己酉日', '亢金龙', '祭祀,祈福,求嗣,斋醮,嫁娶,冠笄,出行,开市,交易,会亲友,教牛马', '动土,伐木,安葬,开生坟', NOW(), NOW());
+66
View File
@@ -0,0 +1,66 @@
#!/bin/bash
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
API_DIR="$PROJECT_ROOT/everything-is-suitable-api"
REPORT_DIR="$PROJECT_ROOT/test-automation/test-reports"
TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")
CURRENT_REPORT_DIR="$REPORT_DIR/$TIMESTAMP"
mkdir -p "$CURRENT_REPORT_DIR"
log() {
echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1"
}
log "========================================="
log "API测试执行开始"
log "========================================="
log "项目根目录: $PROJECT_ROOT"
log "报告输出目录: $CURRENT_REPORT_DIR"
log "========================================="
cd "$API_DIR"
TEST_RESULT=0
log "[API测试] 开始执行API测试..."
API_TEST_LOG="$CURRENT_REPORT_DIR/api-test.log"
if mvn clean test -Dspring.profiles.active=test > "$API_TEST_LOG" 2>&1; then
log "[API测试] ✓ API测试通过"
else
log "[API测试] ✗ API测试失败"
TEST_RESULT=1
fi
log "[API测试] 复制测试报告..."
find "$API_DIR" -name "TEST-*.xml" -exec cp {} "$CURRENT_REPORT_DIR/" \; 2>/dev/null || true
find "$API_DIR" -name "surefire-reports" -type d -exec cp -r {} "$CURRENT_REPORT_DIR/" \; 2>/dev/null || true
log "[API测试] 复制JaCoCo覆盖率报告..."
find "$API_DIR" -path "*/target/site/jacoco/*" -exec cp -r {} "$CURRENT_REPORT_DIR/jacoco/" \; 2>/dev/null || true
log "[API测试] 生成Allure报告..."
find "$API_DIR" -path "*/target/allure-results/*" -exec cp -r {} "$CURRENT_REPORT_DIR/allure-results/" \; 2>/dev/null || true
if [ -d "$CURRENT_REPORT_DIR/allure-results" ]; then
allure generate "$CURRENT_REPORT_DIR/allure-results" -o "$CURRENT_REPORT_DIR/allure-report" 2>/dev/null || log "[API测试] Allure报告生成失败,但继续执行"
fi
log "[API测试] API测试完成"
log "========================================="
if [ $TEST_RESULT -eq 0 ]; then
log "✓ API测试通过"
log "退出码: 0"
exit 0
else
log "✗ API测试失败"
log "退出码: 1"
exit 1
fi
+22
View File
@@ -0,0 +1,22 @@
#!/bin/bash
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
LOG_DIR="$PROJECT_ROOT/test-automation/logs"
PID_FILE="$LOG_DIR/api-server.pid"
mkdir -p "$LOG_DIR"
echo "[启动API服务] 正在启动..."
cd "$PROJECT_ROOT/everything-is-suitable-api/everything-is-suitable-app"
export GATEWAY_PUBLIC_PATHS="/api/client/auth/register,/api/client/auth/login,/api/sys/auth/register,/api/sys/auth/login,/api/sys/auth/refresh,/api/sys/auth/logout,/sys/auth/register,/sys/auth/login,/sys/auth/refresh,/sys/auth/logout,/api/health,/api/swagger-ui,/api/swagger-ui/**,/api/v3/api-docs,/api/v3/api-docs/**,/api/webjars/swagger-ui/**,/api/webjars/**,/api/actuator/**,/api/almanac,/api/almanac/**,/actuator/**,/swagger-ui,/swagger-ui/**,/v3/api-docs,/v3/api-docs/**,/webjars/swagger-ui/**,/webjars/**,/almanac,/almanac/**"
nohup mvn spring-boot:run -Dspring-boot.run.profiles=test > "$LOG_DIR/api-server.log" 2>&1 &
API_PID=$!
echo $API_PID > "$PID_FILE"
echo "[启动API服务] 服务启动中,PID: $API_PID"
echo "[启动API服务] 日志文件: $LOG_DIR/api-server.log"
+22
View File
@@ -0,0 +1,22 @@
#!/bin/bash
MAX_WAIT=60
INTERVAL=5
HEALTH_URL="http://localhost:8080/actuator/health"
echo "[等待服务] 等待API服务就绪..."
waited=0
while [ $waited -lt $MAX_WAIT ]; do
if curl -s -f "$HEALTH_URL" > /dev/null 2>&1; then
echo "[等待服务] ✓ API服务已就绪"
exit 0
fi
echo "[等待服务] 等待中... ${waited}s/${MAX_WAIT}s"
sleep $INTERVAL
waited=$((waited + INTERVAL))
done
echo "[等待服务] ✗ API服务启动超时"
exit 1