feat(aihr): align BRD scenarios and SOP seed content
This commit is contained in:
@@ -497,7 +497,7 @@ contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service
|
||||
contains frontend/src/api/aihr/practice.ts "/api/train/practice/start"
|
||||
contains frontend/src/api/aihr/practice.ts "/api/aihr/prompt-templates"
|
||||
contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/controller/AihrPracticeController.java "/api/train/practice"
|
||||
contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/controller/AihrPracticeController.java "practiceSeedService.turn(request, currentAppUsername())"
|
||||
contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/controller/AihrPracticeController.java "practiceSeedService.turn(request, currentAppUsername(), currentAppUserId())"
|
||||
contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/controller/AihrPracticeController.java "practiceSeedService.finish(request, currentAppUsername())"
|
||||
contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrPracticeSeedService.java "训练会话不存在或无权访问"
|
||||
contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrPracticeSeedService.java "finished_time IS NOT NULL"
|
||||
@@ -529,6 +529,10 @@ contains mobile-uni/src/pages/user/learning/index.vue "mistakeFilters"
|
||||
contains mobile-uni/src/pages/user/profile/index.vue "AI训练综合分仅作训练参考"
|
||||
contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrPracticeSeedService.java "aihr_practice_session"
|
||||
contains backend/script/sql/aihr_practice_mysql8.sql "aihr_practice_scenario"
|
||||
contains backend/script/sql/update/aihr_20260714_practice_brd_scenarios_mysql8.sql "service-promotion-needs"
|
||||
contains backend/script/sql/update/aihr_20260714_practice_brd_scenarios_mysql8.sql "daily-service-followup"
|
||||
contains backend/script/sql/update/aihr_20260714_brd_sop_seed_mysql8.sql "sop_service_promotion_v1"
|
||||
contains backend/script/sql/update/aihr_20260714_brd_sop_seed_mysql8.sql "sop_daily_service_v1"
|
||||
contains backend/script/sql/aihr_practice_mysql8.sql "aihr_prompt_template"
|
||||
contains backend/script/sql/aihr_practice_mysql8.sql "summary_card"
|
||||
contains frontend/src/views/train/practice.vue "训练前预习卡"
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if ! command -v docker >/dev/null || ! docker ps --format '{{.Names}}' | grep -qx 'wygj-mysql'; then
|
||||
echo "SKIP: AIHR BRD SOP migration test requires wygj-mysql"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||
MYSQL_CONTAINER="wygj-mysql"
|
||||
DB="wygj_aihr_brd_sop_test_$$"
|
||||
|
||||
mysql() {
|
||||
docker exec -i "$MYSQL_CONTAINER" mysql -uroot -proot --default-character-set=utf8mb4 "$@"
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
mysql -e "DROP DATABASE IF EXISTS \`$DB\`;" >/dev/null 2>&1 || true
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
mysql -e "CREATE DATABASE \`$DB\` CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;"
|
||||
mysql "$DB" < "$ROOT_DIR/backend/script/sql/aihr_knowledge_mysql8.sql"
|
||||
mysql "$DB" < "$ROOT_DIR/backend/script/sql/update/aihr_20260714_brd_sop_seed_mysql8.sql"
|
||||
mysql "$DB" < "$ROOT_DIR/backend/script/sql/update/aihr_20260714_brd_sop_seed_mysql8.sql"
|
||||
|
||||
counts="$(mysql "$DB" -N -B -e "
|
||||
SELECT
|
||||
(SELECT COUNT(*) FROM aihr_knowledge_attach WHERE type='sop' AND status=2),
|
||||
(SELECT COUNT(*) FROM aihr_knowledge_fragment WHERE doc_id IN ('sop_service_promotion_v1', 'sop_daily_service_v1'));
|
||||
")"
|
||||
test "$counts" = $'5\t6'
|
||||
|
||||
echo "PASS: AIHR BRD SOP migration is idempotent"
|
||||
@@ -0,0 +1,35 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
if ! command -v docker >/dev/null || ! docker ps --format '{{.Names}}' | grep -qx 'wygj-mysql'; then
|
||||
echo "SKIP: AIHR BRD scenario migration test requires wygj-mysql"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||
MYSQL_CONTAINER="wygj-mysql"
|
||||
DB="wygj_aihr_brd_scenario_test_$$"
|
||||
|
||||
mysql() {
|
||||
docker exec -i "$MYSQL_CONTAINER" mysql -uroot -proot --default-character-set=utf8mb4 "$@"
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
mysql -e "DROP DATABASE IF EXISTS \`$DB\`;" >/dev/null 2>&1 || true
|
||||
}
|
||||
trap cleanup EXIT
|
||||
|
||||
mysql -e "CREATE DATABASE \`$DB\` CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci;"
|
||||
mysql "$DB" < "$ROOT_DIR/backend/script/sql/aihr_practice_mysql8.sql"
|
||||
mysql "$DB" < "$ROOT_DIR/backend/script/sql/update/aihr_20260714_practice_brd_scenarios_mysql8.sql"
|
||||
mysql "$DB" < "$ROOT_DIR/backend/script/sql/update/aihr_20260714_practice_brd_scenarios_mysql8.sql"
|
||||
|
||||
counts="$(mysql "$DB" -N -B -e "
|
||||
SELECT
|
||||
(SELECT COUNT(*) FROM aihr_practice_scenario WHERE scenario_code IN ('service-promotion-needs', 'daily-service-followup')),
|
||||
(SELECT COUNT(*) FROM aihr_practice_rubric WHERE scenario_code IN ('service-promotion-needs', 'daily-service-followup')),
|
||||
(SELECT COUNT(*) FROM aihr_practice_rubric_dimension WHERE rubric_code IN ('rubric-service-promotion-needs', 'rubric-daily-service-followup'));
|
||||
")"
|
||||
test "$counts" = $'2\t2\t10'
|
||||
|
||||
echo "PASS: AIHR BRD practice scenarios migration is idempotent"
|
||||
Reference in New Issue
Block a user