Files
hzdyjs/用户信息同步统一身份认证/字段映射说明.md
T
2026-09-02 09:58:57 +08:00

111 lines
4.0 KiB
Markdown
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.
# 统一身份认证用户数据同步 - 字段映射说明
## 1. 概述
将校园管理系统(`hzdyjs_xg`)的组织与用户数据,定时同步到统一身份认证中间库 6 张标准表,供第三方平台拉取。
| 目标表 | 说明 | 数据源 |
|--------|------|--------|
| `GXXX_YXSDWJBSJZL` | 院系所单位 | `sys_dept` |
| `GXJG_JZGJCSJZLB` | 教职工基础 | `sys_user`(`account_type='1'`) |
| `GXJG_GRTXFSZL` | 教职工通讯 | `sys_user`(`account_type='1'`) |
| `GXXS_XSJBSJZL` | 学生基础 | `xg_student_msg` |
| `GXXS_GRTXZL` | 学生通讯 | `xg_student_msg` |
| `ZFTAL_XTGL_ERRLOG` | 同步错误日志 | 同步脚本写入 |
**不同步字段**:`zp`(照片 BLOB)按约定不处理。
---
## 2. 单位表 GXXX_YXSDWJBSJZL
| 目标字段 | 源字段 | 转换规则 |
|----------|--------|----------|
| dwh | sys_dept.dept_id | `RIGHT(CAST(dept_id AS CHAR), 10)`(雪花ID超长,取后10位) |
| dwmc | sys_dept.dept_name | 截断至60字符 |
| lsdwh | sys_dept.parent_id | parent_id=0 时 NULL,否则取后10位 |
| dwyxbs | status + del_flag | 正常且未删除='1',否则='0' |
| zhgxsj | update_time / create_time | `YYYYMMDDhhmmss` |
| scbz | del_flag | '0'→'n','1'→'y' |
---
## 3. 教职工表 GXJG_JZGJCSJZLB
| 目标字段 | 源字段 | 转换规则 |
|----------|--------|----------|
| gh | sys_user.user_name | 工号,截断至20字符 |
| dwh | sys_user.dept_id | 取后10位 |
| xm | sys_user.nick_name | 姓名 |
| xbm | sys_user.sex | 0男→'1',1女→'2',其他→'0' |
| dqztm | sys_user.status | 0正常→'11',停用→'99' |
| zhgxsj | update_time / create_time | `YYYYMMDDhhmmss` |
| scbz | del_flag | '0'→'n','1'→'y' |
---
## 4. 教职工通讯表 GXJG_GRTXFSZL
| 目标字段 | 源字段 | 转换规则 |
|----------|--------|----------|
| id | sys_user.user_name | 主键,用工号 |
| gh | sys_user.user_name | 工号 |
| yddh | sys_user.phonenumber | 手机号 |
| dzxx | sys_user.email | 邮箱 |
| zhgxsj | update_time / create_time | `YYYYMMDDhhmmss` |
| scbz | del_flag | '0'→'n','1'→'y' |
---
## 5. 学生表 GXXS_XSJBSJZL
| 目标字段 | 源字段 | 转换规则 |
|----------|--------|----------|
| xh | xg_student_msg.student_no | 学号 |
| xm | name | 姓名 |
| ywxm | name_english | 英文名 |
| cym | former_name | 曾用名 |
| xbm | gender | 0男→'1',1女→'2' |
| csrq | birth_date | `YYYYMMDD` |
| jg | native_place | 籍贯 |
| sfzjlxm | - | 固定 '1'(身份证) |
| sfzjh | id_card | 身份证号 |
| zzmmm | political_status | 政治面貌 |
| xxm | blood_type | 血型 |
| sfdszn | is_single_child | 1→'1',0→'0' |
| dwh | college_id | 学院ID |
| szbh | xg_class_msg.class_code | 关联班级表取班级代码 |
| sfzx | student_status | 1/2/3→'1'在校,其他→'0' |
| sfyby | student_status | 5毕业→'1',其他→'0' |
| zhgxsj | update_time / create_time | `YYYYMMDDhhmmss` |
| scbz | deleted | 0→'n',1→'y' |
---
## 6. 学生通讯表 GXXS_GRTXZL
| 目标字段 | 源字段 | 转换规则 |
|----------|--------|----------|
| xh | student_no | 学号 |
| yzbm | postal_code | 邮编 |
| txdz | current_address / home_address | 优先现住址 |
| yddh | phone | 手机 |
| dzxx | email | 邮箱 |
| jstxh | qq / wechat | 优先QQ |
| zhgxsj | update_time / create_time | `YYYYMMDDhhmmss` |
| scbz | deleted | 0→'n',1→'y' |
---
## 7. 注意事项
1. **单位号 dwh 长度限制**:第三方表 `dwh` 仅 10 位,而 `sys_dept.dept_id` 为雪花ID(19位),当前取后10位;若对方有编码规范需另行映射。
2. **增量同步**:基于源表 `update_time` / `create_time`,状态记录在 `.sync_state`。
3. **全量同步**:设置 `SYNC_MODE=full` 或执行 `./sync_user_to_sso.sh --full --once`。
4. **生产 Oracle**:`TARGET_DB_TYPE=oracle` 时,由 `oracle_gen_merge.py` 从 MySQL 生成 MERGE SQL,再经 `sqlplus` 写入中间库;`verify_sync.sh` 可直接校验 Oracle 表记录数。
---
**版本**: v1.1.0
**更新时间**: 2026-08-24