# Change: 修复 ICCID 导入 CSV 格式支持 MSISDN

## Why

当前批量导入 ICCID 接口只支持单列 CSV（仅 ICCID），但 IoT 卡模型包含 MSISDN（接入号/手机号码）字段，导入时无法填充该重要字段。运营商提供的卡资料必须同时包含 ICCID 和 MSISDN，缺少接入号的卡无法正常使用。

## What Changes

- **BREAKING**: CSV 格式变更为必须包含两列（ICCID, MSISDN），不再支持单列格式
- 修改 CSV 解析逻辑要求两列格式，缺少 MSISDN 的行视为格式错误
- 修改导入任务模型存储 ICCID 和 MSISDN 的映射关系
- 修改导入任务处理逻辑，创建卡记录时填充 MSISDN 字段
- 更新 API 文档描述新的 CSV 格式要求

## Capabilities

### New Capabilities

（无新增能力）

### Modified Capabilities

- `iot-card-import-task`: 导入任务需要存储 ICCID-MSISDN 映射，CSV 解析结果结构变更，强制要求双列格式

## Impact

- 受影响的代码:
  - `pkg/utils/csv.go` - CSV 解析函数
  - `internal/model/iot_card_import_task.go` - 导入任务模型
  - `internal/task/iot_card_import.go` - 导入任务处理逻辑
  - `internal/service/iot_card_import/service.go` - 导入服务
- 受影响的 API:
  - `POST /api/admin/iot-cards/import` - CSV 格式要求变更（**BREAKING**）
- 数据库: 需要迁移更新 `iccid_list` 字段结构（从 `[]string` 改为 `[{iccid, msisdn}]`）
- 用户影响: 现有单列 CSV 文件需要补充 MSISDN 列后才能导入
