All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m33s
主要改动: - 新增交互式环境配置脚本 (scripts/setup-env.sh) - 新增本地启动快捷脚本 (scripts/run-local.sh) - 新增环境变量模板文件 (.env.example) - 部署模式改版:使用嵌入式配置 + 环境变量覆盖 - 添加对象存储功能支持 - 改进 IoT 卡片导入任务 - 优化 OpenAPI 文档生成 - 删除旧的配置文件,改用嵌入式默认配置
1.5 KiB
1.5 KiB
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 列后才能导入