Files
xiaoqu_mcp_service/xiaoqu-agent-service/deploy/test-up.sh
T
xiaoqu 1e42323697
xiaoqu-agent-service CI / test (push) Canceled after 0s
feat(mcp): 新增代理/物业详情工具(含发票信息)+ 本机测试环境脚本
- agent.detail.query / property.detail.query:主体详情 + invoice_info
  全量抬头列表(默认条优先),行权限复用列表过滤语义
- 新增 InvoiceQueries 共享发票查询助手;InvoiceInfo 实体/Mapper
  按线上库 codegen 生成(m0 白名单加 invoice_info)
- Properyt.customerId 补 @TableField("customerId"):库中驼峰列名,
  否则映射到不存在的 customer_id(prod 曾报 Unknown column)
- seed-dev.sql 补两个详情工具的 scope 绑定;PermissionServiceTest
  补详情行权限断言(合并远端 district 测试冲突)
- 新增 deploy/test-up.sh:本机测试环境一键脚本(构建→重启→刷新
  scope 绑定→自检);.env.example 修正引导变量名 APP_ 前缀误写
2026-09-09 11:41:35 +08:00

64 lines
2.3 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/usr/bin/env bash
# 本机即测试环境:一键 构建 → 重启 → 刷新 scope 工具绑定 → 自检
# 用法:
# ./deploy/test-up.sh # 全量(含 Maven 构建,约 7 分钟)
# ./deploy/test-up.sh --skip-build # 跳过构建,直接重启+刷新绑定
# 首次运行会自动生成 deploy/.env.dev(含随机 admin 初始密码,注意看输出)
set -euo pipefail
APP_HOME="$(cd "$(dirname "$0")/.." && pwd)"
DEPLOY="$APP_HOME/deploy/deploy.sh"
ENV_FILE="$APP_HOME/deploy/.env.dev"
SEED_SQL="$APP_HOME/sql/seed-dev.sql"
MYSQL="${MYSQL_BIN:-mysql}"
# dev svc 库(与 application-dev.yml 保持一致)
SVC_DB_HOST=192.168.1.181
SVC_DB_USER=root
SVC_DB_PASSWORD=kaixinjiuhao
SVC_DB_NAME=xiaoqu_agent_svc_d
# 1. 首启引导配置(不存在才生成;admin 仅首次启动且 admin_user 为空时建号)
if [ ! -f "$ENV_FILE" ]; then
ADMIN_PWD="Dev@$(openssl rand -hex 6)"
cat > "$ENV_FILE" <<EOF
# dev 环境变量(本机使用,已 gitignore)
ADMIN_BOOTSTRAP_ACCOUNT=admin
ADMIN_BOOTSTRAP_PASSWORD=$ADMIN_PWD
ADMIN_BOOTSTRAP_NAME=系统管理员
SVC_FLYWAY_BASELINE_ON_MIGRATE=false
EOF
echo "[INIT] 已生成 $ENV_FILE"
echo "[INIT] admin 初始密码: $ADMIN_PWD (仅首次启动建号生效,请记录)"
fi
# 2. 构建
if [ "${1:-}" = "--skip-build" ]; then
echo "[SKIP] 跳过构建"
else
"$DEPLOY" build
fi
# 3. 重启(deploy.sh 内含 /mcp 健康检查)
"$DEPLOY" restart
# 4. 刷新 scope-工具绑定(tool 表已由启动时 ToolSyncService 同步;seed 幂等)
"$MYSQL" -h "$SVC_DB_HOST" -u"$SVC_DB_USER" -p"$SVC_DB_PASSWORD" "$SVC_DB_NAME" \
--default-character-set=utf8mb4 < "$SEED_SQL" > /dev/null
echo "[OK] scope 工具绑定已刷新(operation)"
# 5. 自检:后台登录接口存活(不验密码对错,只验服务可登录)
code=$(curl -s --noproxy '*' -o /dev/null -w "%{http_code}" -m 10 -X POST \
http://127.0.0.1:8088/api/admin/auth/login \
-H 'Content-Type: application/json' \
-d '{"account":"__selfcheck__","password":"__selfcheck__"}')
if [ "$code" = "401" ] || [ "$code" = "200" ]; then
echo "[OK] 登录接口存活 (HTTP $code)"
else
echo "[WARN] 登录接口异常 (HTTP $code),请查看: $DEPLOY log" >&2
fi
echo
echo "本机测试环境就绪: http://localhost:8088/ (admin 账号见 deploy/.env.dev)"
echo "日常命令: $DEPLOY {start|stop|restart|status|log}"