feat(ssa): Complete T-test end-to-end testing with 9 bug fixes - Phase 1 core 85% complete. R service: missing value auto-filter. Backend: error handling, variable matching, dynamic filename. Frontend: module activation, session isolation, error propagation. Full flow verified.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
215
docs/08-项目管理/旧版本系统/服务器与数据库配置说明.md
Normal file
215
docs/08-项目管理/旧版本系统/服务器与数据库配置说明.md
Normal file
@@ -0,0 +1,215 @@
|
||||
# 旧版本系统 - 服务器与数据库配置说明
|
||||
|
||||
> 最后更新:2026-02-15
|
||||
|
||||
---
|
||||
|
||||
## 1. 服务器信息
|
||||
|
||||
| 项目 | 值 |
|
||||
|------|-----|
|
||||
| 服务器地址 | `8.154.22.149` |
|
||||
| 操作系统 | Linux (Ubuntu) |
|
||||
| 数据库类型 | MariaDB |
|
||||
| 数据库端口 | 3306 |
|
||||
|
||||
---
|
||||
|
||||
## 2. 数据库连接信息
|
||||
|
||||
| 项目 | 值 |
|
||||
|------|-----|
|
||||
| 连接地址 | `jdbc:mysql://127.0.0.1:3306/xzyx_online?characterEncoding=utf8` |
|
||||
| 数据库名 | `xzyx_online` |
|
||||
| 用户名 | `xzyx_rw` |
|
||||
| 密码 | `SKJfdwalkd` |
|
||||
|
||||
### 命令行连接方式
|
||||
|
||||
```bash
|
||||
# SSH 登录服务器
|
||||
ssh root@8.154.22.149
|
||||
|
||||
# 连接数据库
|
||||
mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. 用户表结构 (u_user_info)
|
||||
|
||||
### 核心字段
|
||||
|
||||
| 字段 | 类型 | 说明 | 后台显示名 |
|
||||
|------|------|------|-----------|
|
||||
| `id` | int(11) | 主键,自增 | - |
|
||||
| `phone` | varchar(20) | 手机号(登录账号)**必填** | 账号 |
|
||||
| `nickname` | varchar(40) | 昵称 | 昵称 |
|
||||
| `real_name` | varchar(45) | 真实姓名 | - |
|
||||
| `hospital` | varchar(255) | 固定值 "本地" | - |
|
||||
| `company` | varchar(200) | **实际的机构/医院名称** | 医院 |
|
||||
| `academy` | varchar(200) | **部门** | 部门 |
|
||||
| `user_role` | varchar(20) | 用户角色,默认 "NORMAL" | 用户角色 |
|
||||
| `user_status` | varchar(45) | 用户状态,默认 "NORMAL" | - |
|
||||
| `password` | varchar(45) | 密码(MD5加密) | - |
|
||||
| `hosptial_id` | int(11) | 医院ID,默认 0 | - |
|
||||
| `email_validate_status` | tinyint(4) | 邮箱验证状态,默认 0 | - |
|
||||
| `register_time` | int(11) | 注册时间(Unix时间戳) | - |
|
||||
|
||||
### 字段对应关系
|
||||
|
||||
| 后台显示 | 数据库字段 |
|
||||
|----------|-----------|
|
||||
| 账号 | `phone` |
|
||||
| 昵称 | `nickname` + `real_name` |
|
||||
| 用户角色:普通 | `user_role = 'NORMAL'` |
|
||||
| 医院 | `company`(注意:不是 hospital 字段) |
|
||||
| 部门 | `academy` |
|
||||
|
||||
### 默认密码
|
||||
|
||||
- 明文:`123456`
|
||||
- MD5:`E10ADC3949BA59ABBE56E057F20F883E`
|
||||
|
||||
---
|
||||
|
||||
## 4. 批量导入用户操作指南
|
||||
|
||||
### 步骤1:准备 CSV 文件
|
||||
|
||||
格式要求:
|
||||
|
||||
```csv
|
||||
手机号,姓名,医院,部门
|
||||
13800000001,张三,北京大学第三医院,骨科
|
||||
13800000002,李四,医朵云,医学部
|
||||
```
|
||||
|
||||
### 步骤2:检查重复手机号
|
||||
|
||||
```bash
|
||||
# 导出现有手机号
|
||||
mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -N -e "SELECT phone FROM u_user_info;" > /tmp/existing_phones.txt
|
||||
|
||||
# 查看现有用户数量
|
||||
mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -e "SELECT COUNT(*) FROM u_user_info;"
|
||||
```
|
||||
|
||||
### 步骤3:生成 SQL 插入语句
|
||||
|
||||
单条插入模板:
|
||||
|
||||
```sql
|
||||
INSERT INTO u_user_info (
|
||||
phone,
|
||||
nickname,
|
||||
real_name,
|
||||
hospital,
|
||||
company,
|
||||
academy,
|
||||
user_role,
|
||||
user_status,
|
||||
password,
|
||||
hosptial_id,
|
||||
email_validate_status,
|
||||
register_time
|
||||
) VALUES (
|
||||
'手机号',
|
||||
'姓名',
|
||||
'姓名',
|
||||
'本地',
|
||||
'机构名称',
|
||||
'部门',
|
||||
'NORMAL',
|
||||
'NORMAL',
|
||||
'E10ADC3949BA59ABBE56E057F20F883E',
|
||||
0,
|
||||
0,
|
||||
UNIX_TIMESTAMP()
|
||||
);
|
||||
```
|
||||
|
||||
批量插入模板(使用 INSERT IGNORE 避免重复报错):
|
||||
|
||||
```sql
|
||||
INSERT IGNORE INTO u_user_info (phone, nickname, real_name, hospital, company, academy, user_role, user_status, password, hosptial_id, email_validate_status, register_time) VALUES
|
||||
('13800000001', '张三', '张三', '本地', '北京大学第三医院', '骨科', 'NORMAL', 'NORMAL', 'E10ADC3949BA59ABBE56E057F20F883E', 0, 0, UNIX_TIMESTAMP()),
|
||||
('13800000002', '李四', '李四', '本地', '医朵云', '医学部', 'NORMAL', 'NORMAL', 'E10ADC3949BA59ABBE56E057F20F883E', 0, 0, UNIX_TIMESTAMP());
|
||||
```
|
||||
|
||||
### 步骤4:上传并执行 SQL
|
||||
|
||||
```bash
|
||||
# 上传 SQL 文件到服务器(或使用 nano 创建)
|
||||
nano /tmp/batch_insert_users.sql
|
||||
|
||||
# 执行 SQL 文件
|
||||
mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online < /tmp/batch_insert_users.sql
|
||||
```
|
||||
|
||||
### 步骤5:验证导入结果
|
||||
|
||||
```bash
|
||||
# 查询指定机构的用户数量
|
||||
mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -e "SELECT COUNT(*) as '用户数' FROM u_user_info WHERE company = '北京大学第三医院';"
|
||||
|
||||
# 抽查用户数据
|
||||
mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -e "SELECT id, phone, nickname, company, academy FROM u_user_info WHERE company = '北京大学第三医院' LIMIT 10;"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 5. 常用查询命令
|
||||
|
||||
### 查看所有表
|
||||
|
||||
```bash
|
||||
mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -e "SHOW TABLES;"
|
||||
```
|
||||
|
||||
### 查看表结构
|
||||
|
||||
```bash
|
||||
mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -e "DESC u_user_info;"
|
||||
```
|
||||
|
||||
### 根据手机号查询用户
|
||||
|
||||
```bash
|
||||
mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -e "SELECT * FROM u_user_info WHERE phone = '18611348738'\G"
|
||||
```
|
||||
|
||||
### 修改用户信息
|
||||
|
||||
```bash
|
||||
# 修改手机号
|
||||
mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -e "UPDATE u_user_info SET phone = '新手机号' WHERE phone = '旧手机号';"
|
||||
|
||||
# 重置密码为 123456
|
||||
mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -e "UPDATE u_user_info SET password = 'E10ADC3949BA59ABBE56E057F20F883E' WHERE phone = '手机号';"
|
||||
```
|
||||
|
||||
### 删除用户
|
||||
|
||||
```bash
|
||||
mysql -u xzyx_rw -p'SKJfdwalkd' -h 127.0.0.1 xzyx_online -e "DELETE FROM u_user_info WHERE phone = '手机号';"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 6. 已导入批次记录
|
||||
|
||||
| 批次 | 日期 | 机构 | 数量 | SQL文件 |
|
||||
|------|------|------|------|---------|
|
||||
| 第1批 | 2026-02-15 | 北京大学第三医院 | 225 | `docs/06-测试文档/batch_insert_users.sql` |
|
||||
| 第2批 | 2026-02-15 | 北京大学第三医院 | 35 | `docs/06-测试文档/batch_insert_users_2.sql` |
|
||||
|
||||
---
|
||||
|
||||
## 7. 注意事项
|
||||
|
||||
1. **手机号唯一性**:手机号是用户的唯一登录凭证,不能重复
|
||||
2. **密码存储**:使用 MD5 加密,默认密码 123456 对应 `E10ADC3949BA59ABBE56E057F20F883E`
|
||||
3. **hospital 字段**:固定填写 "本地",实际医院名称存储在 `company` 字段
|
||||
4. **部门字段**:使用 `academy` 字段存储
|
||||
5. **使用 INSERT IGNORE**:批量导入时使用此语法,遇到重复手机号自动跳过不报错
|
||||
Reference in New Issue
Block a user