feat(broadcast): finish multi-role insight experience

This commit is contained in:
2026-07-25 15:18:58 +08:00
parent 7990db6883
commit 230dfb4dfc
20 changed files with 552 additions and 81 deletions
+4
View File
@@ -609,9 +609,13 @@ contains backend/script/sql/update/aihr_20260715_candidate_interview_review_mysq
contains scripts/tests/aihr-schema-migrations.test.sh "AIHR legacy schema migrations are idempotent"
contains backend/script/sql/update/aihr_20260724_direct_feedback_mysql8.sql "aihr_direct_feedback"
contains backend/script/sql/update/aihr_20260724_broadcast_attachment_mysql8.sql "aihr_broadcast_attachment"
contains backend/script/sql/update/aihr_20260725_broadcast_multi_role_insight_mysql8.sql "insights_json"
contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/direct/AihrDirectController.java '"/api/aihr/direct"'
contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/broadcast/AihrBroadcastController.java '"/attachments"'
contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/broadcast/AihrBroadcastInsightService.java "role-perspective-v1"
contains mobile-uni/src/pages/user/direct/index.vue "选择直达对象"
contains mobile-uni/src/pages/user/broadcast/detail.vue "多岗位解读"
contains frontend/src/views/content/broadcast.vue "多岗位解读"
contains frontend/src/views/content/direct.vue "直通车处理台"
contains backend/ruoyi-modules/ruoyi-aihr/src/main/java/org/dromara/aihr/service/AihrOrgSyncService.java "hireDate"
contains frontend/src/api/aihr/practice.ts '/api/train/practice/scenarios/${id}/enabled'
+11 -5
View File
@@ -686,7 +686,7 @@ SELECT CONCAT(
(SELECT COUNT(*) FROM information_schema.columns
WHERE table_schema = DATABASE()
AND table_name = 'aihr_broadcast_attachment'
AND column_name IN ('tenant_id','message_id','oss_id','file_name','file_size','content_type','status','extracted_text','summary','error_message','uploaded_by')),
AND column_name IN ('tenant_id','message_id','oss_id','file_name','file_size','content_type','status','extracted_text','summary','insight_status','insights_json','insight_version','error_message','uploaded_by')),
'|',
(SELECT COUNT(*) FROM information_schema.columns
WHERE table_schema = DATABASE()
@@ -697,14 +697,20 @@ SELECT CONCAT(
FROM information_schema.statistics
WHERE table_schema = DATABASE()
AND table_name = 'aihr_broadcast_message'
AND index_name = 'idx_aihr_broadcast_message_attachment'), '')
AND index_name = 'idx_aihr_broadcast_message_attachment'), ''),
'|',
COALESCE((SELECT GROUP_CONCAT(column_name ORDER BY seq_in_index)
FROM information_schema.statistics
WHERE table_schema = DATABASE()
AND table_name = 'aihr_broadcast_attachment'
AND index_name = 'idx_aihr_broadcast_attachment_insight_queue'), '')
);
SQL
REMOTE
)" || fail "remote broadcast-attachment schema check failed: $remote_ssh:$remote_db"
[[ "$broadcast_attachment_contract" = "11|1|tenant_id,attachment_id" ]] \
|| fail "remote broadcast-attachment contract invalid: expected 11 attachment columns and indexed message attachment_id; got ${broadcast_attachment_contract:-missing}"
[[ "$broadcast_attachment_contract" = "14|1|tenant_id,attachment_id|insight_status,status,update_time" ]] \
|| fail "remote broadcast-attachment contract invalid: expected 14 attachment columns, indexed message attachment_id, and insight queue index; got ${broadcast_attachment_contract:-missing}"
local missing_work_assistant_columns
missing_work_assistant_columns="$(ssh -o BatchMode=yes -o ConnectTimeout=10 "$remote_ssh" bash -s -- "$remote_db" <<'REMOTE'
set -euo pipefail
@@ -747,7 +753,7 @@ REMOTE
echo "remote_broadcast_target_recipient_uniqueness=3/3 $remote_ssh:$remote_db"
echo "remote_direct_feedback_contract=11/11 $remote_ssh:$remote_db"
echo "remote_direct_feedback_roles=5/5 $remote_ssh:$remote_db"
echo "remote_broadcast_attachment_contract=12/12 $remote_ssh:$remote_db"
echo "remote_broadcast_attachment_contract=15/15 $remote_ssh:$remote_db"
echo "remote_broadcast_question_context=1/1 $remote_ssh:$remote_db"
echo "remote_work_assistant_columns=8/8 $remote_ssh:$remote_db"
echo "remote_personal_oss_configuration=true $remote_ssh:$remote_db"
+1
View File
@@ -42,6 +42,7 @@ docker exec -i wygj-mysql mysql -uroot -proot --default-character-set=utf8mb4 ry
docker exec -i wygj-mysql mysql -uroot -proot --default-character-set=utf8mb4 ry-vue < "$ROOT_DIR/backend/script/sql/update/aihr_20260724_agent_orchestration_mysql8.sql"
docker exec -i wygj-mysql mysql -uroot -proot --default-character-set=utf8mb4 ry-vue < "$ROOT_DIR/backend/script/sql/update/aihr_20260724_direct_feedback_mysql8.sql"
docker exec -i wygj-mysql mysql -uroot -proot --default-character-set=utf8mb4 ry-vue < "$ROOT_DIR/backend/script/sql/update/aihr_20260724_broadcast_attachment_mysql8.sql"
docker exec -i wygj-mysql mysql -uroot -proot --default-character-set=utf8mb4 ry-vue < "$ROOT_DIR/backend/script/sql/update/aihr_20260725_broadcast_multi_role_insight_mysql8.sql"
docker exec wygj-mysql mysql -uroot -proot --default-character-set=utf8mb4 ry-vue \
-e "select count(*) as tables_count from information_schema.tables where table_schema = 'ry-vue';"