修复中介库
This commit is contained in:
@@ -115,7 +115,7 @@ CREATE TABLE IF NOT EXISTS `ccdi_intermediary_enterprise_relation` (
|
||||
UNIQUE KEY `uk_intermediary_enterprise` (`intermediary_biz_id`, `social_credit_code`),
|
||||
KEY `idx_intermediary_biz_id` (`intermediary_biz_id`),
|
||||
KEY `idx_social_credit_code` (`social_credit_code`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='中介关联机构关系表';
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='中介关联机构关系表';
|
||||
```
|
||||
|
||||
- [ ] **Step 3: 编写 `person_sub_type` 固定值脚本**
|
||||
@@ -529,6 +529,20 @@ mvn -pl ccdi-info-collection -am -DskipTests compile
|
||||
bin/mysql_utf8_exec.sh sql/migration/2026-04-17-create-intermediary-enterprise-relation.sql
|
||||
```
|
||||
|
||||
## 执行结果
|
||||
|
||||
- 实际测试命令:`mvn -pl ccdi-info-collection -am -Dsurefire.failIfNoSpecifiedTests=false -Dtest=CcdiIntermediaryServiceImplTest,CcdiIntermediaryMapperTest,CcdiIntermediaryControllerTest test`
|
||||
- 测试结果:`BUILD SUCCESS`,共执行 8 个测试,`Failures: 0, Errors: 0, Skipped: 0`
|
||||
- 实际编译命令:`mvn -pl ccdi-info-collection -am -DskipTests compile`
|
||||
- 编译结果:`BUILD SUCCESS`
|
||||
- 实际数据库变更命令:`bin/mysql_utf8_exec.sh sql/migration/2026-04-17-create-intermediary-enterprise-relation.sql`
|
||||
- 数据库变更结果:`ccdi_intermediary_enterprise_relation` 已创建成功
|
||||
- 实际全库排序规则修复命令:`bin/mysql_utf8_exec.sh sql/migration/2026-04-17-unify-all-table-collation-to-utf8mb4-general-ci.sql`
|
||||
- 排序规则修复结果:业务表、系统表的表级与字符字段级排序规则已统一为 `utf8mb4_general_ci`
|
||||
- 实际运行验证:
|
||||
- 重新打包命令:`mvn -pl ruoyi-admin -am -DskipTests package`
|
||||
- 接口验证:`POST /login/test` 获取 token 后,`GET /ccdi/intermediary/list?pageNum=1&pageSize=10` 返回 `code=200`,联合查询不再出现 `Illegal mix of collations`
|
||||
|
||||
## 完成标准
|
||||
|
||||
- `ccdi_intermediary_enterprise_relation` 表与唯一约束创建完成
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
# Docker 环境项目打标卡住后端实施记录
|
||||
|
||||
## 背景
|
||||
|
||||
- 现象:Docker 部署后的后端中,项目打标任务会长时间停留在“打标中”。
|
||||
- 样本项目:`90337`
|
||||
- 排查目标:确认任务卡住的真实根因,并按最短路径修复。
|
||||
|
||||
## 已定位问题
|
||||
|
||||
### 1. 打标规则 SQL 在 MySQL 8 / Docker 环境触发排序规则冲突
|
||||
|
||||
- 规则:`LARGE_PURCHASE_TRANSACTION`
|
||||
- 异常:`Illegal mix of collations (utf8mb4_0900_ai_ci) and (utf8mb4_general_ci)`
|
||||
- 影响:任务在规则执行阶段直接失败。
|
||||
|
||||
### 2. 失败落库时错误信息过长,导致任务状态无法更新
|
||||
|
||||
- 表:`ccdi_bank_tag_task`
|
||||
- 字段:`error_message`
|
||||
- 异常:`Data too long for column 'error_message'`
|
||||
- 影响:
|
||||
- 任务本应更新为 `FAILED`,但更新再次失败
|
||||
- 项目状态没有从 `打标中` 回退
|
||||
- 前端看到的就是“打标一直卡住”
|
||||
|
||||
## 本次改动范围
|
||||
|
||||
- `ccdi-project/src/main/resources/mapper/ccdi/project/CcdiBankTagAnalysisMapper.xml`
|
||||
- 为 `LARGE_PURCHASE_TRANSACTION` 相关 join 显式补齐统一排序规则。
|
||||
- `sql/migration/2026-04-20-fix-bank-tag-task-error-message-longtext.sql`
|
||||
- 将 `ccdi_bank_tag_task` 表统一到 `utf8mb4_general_ci`,并把 `error_message` 调整为 `LONGTEXT`。
|
||||
- `ccdi-project/src/main/java/com/ruoyi/ccdi/project/service/impl/CcdiBankTagServiceImpl.java`
|
||||
- 调整任务失败错误信息拼装逻辑,保留完整根因,不再按 2000 截断。
|
||||
- `ccdi-project/src/test/java/com/ruoyi/ccdi/project/service/impl/CcdiBankTagServiceImplTest.java`
|
||||
- 新增错误信息裁剪测试。
|
||||
- `ccdi-project/src/test/java/com/ruoyi/ccdi/project/mapper/CcdiBankTagAnalysisMapperXmlTest.java`
|
||||
- 新增 SQL 排序规则约束测试。
|
||||
|
||||
## 验证
|
||||
|
||||
- 运行新增测试,先确认失败,再完成修复后确认通过。
|
||||
- 修复后检查项目 `90337` 的任务状态是否能正确进入失败态或完成态,不再停留在 `RUNNING`。
|
||||
|
||||
## 实际执行结果
|
||||
|
||||
- 已执行数据库脚本:
|
||||
- `sql/migration/2026-04-20-fix-bank-tag-task-error-message-longtext.sql`
|
||||
- 已重新打包并重启 Docker 后端容器。
|
||||
- 已手工复位历史卡死任务:
|
||||
- `ccdi_bank_tag_task.id = 76`
|
||||
- 已重新触发项目 `90337` 打标。
|
||||
- 最新验证结果:
|
||||
- `ccdi_bank_tag_task.id = 79`
|
||||
- `status = SUCCESS`
|
||||
- `success_rule_count = 35`
|
||||
- `hit_count = 132`
|
||||
- 项目 `90337` 状态已回到 `1 = 已完成`
|
||||
|
||||
## 结论
|
||||
|
||||
- “打标卡住”并非任务一直运行,而是:
|
||||
1. 采购相关规则 SQL 因排序规则冲突失败
|
||||
2. 失败异常写入 `ccdi_bank_tag_task.error_message` 时又因字段长度不足再次失败
|
||||
- 本次已按数据库方案改为 `LONGTEXT`,并将采购链路所有相关 join 显式统一为 `utf8mb4_general_ci`。
|
||||
@@ -459,6 +459,15 @@ source ~/.nvm/nvm.sh && nvm use 14.21.3
|
||||
npm run build:prod
|
||||
```
|
||||
|
||||
## 执行结果
|
||||
|
||||
- 实际执行命令:`cd /Users/wkc/Desktop/ccdi/ccdi/ruoyi-ui && source ~/.nvm/nvm.sh && nvm use 14.21.3 && npm run build:prod`
|
||||
- Node 版本:`v14.21.3`
|
||||
- 构建结果:`DONE Build complete. The dist directory is ready to be deployed.`
|
||||
- 备注:仅存在既有包体积告警(asset size / entrypoint size limit),无语法错误和模块解析错误
|
||||
- 补充修复:中介库首页“查看中介亲属”弹窗已改为只读模式,查看态不再允许编辑或提交
|
||||
- 补充修复:中介库首页“查看关联机构”弹窗已改为只读模式,查看态不再允许编辑或提交
|
||||
|
||||
## 完成标准
|
||||
|
||||
- 首页搜索字段调整为名称、证件号、记录类型、关联中介信息
|
||||
|
||||
Reference in New Issue
Block a user