chore: 初始开源发布
iotlcm-onelink-mock:OneLink 挡板服务(本地测试替身)。 - Go module 迁移至 git.5iot.com/iotlcm-public/iotlcm-onelink-mock - 修复同毫秒内多次生成卡导致 ICCID/IMSI 唯一约束冲突 - 补 Apache-2.0 LICENSE,README 重写并新增 docs/deploy.md - 移除内部部署资产(CI 触发器 / 镜像推送脚本 / 指定环境部署文档) - 测试凭据改为 demo_appid / demo_password,真实手机号与内网 IP 脱敏 - 统一 LF 行尾并加 .gitattributes
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
server:
|
||||
address: ":8080"
|
||||
openapiPath: "/api.json"
|
||||
swaggerPath: "/swagger"
|
||||
logPath: "logs"
|
||||
logLevel: "all"
|
||||
logStdout: true
|
||||
accessLogEnabled: true
|
||||
|
||||
logger:
|
||||
path: "logs"
|
||||
file: "{Y-m-d}.log"
|
||||
level: "all"
|
||||
stdout: true
|
||||
stdoutColorDisabled: true
|
||||
rotateSize: "100M"
|
||||
rotateBackupLimit: 10
|
||||
rotateBackupExpire: "30d"
|
||||
|
||||
database:
|
||||
default:
|
||||
type: "sqlite"
|
||||
link: "sqlite::@file(data/onelink_mock.db)"
|
||||
|
||||
runtimeLog:
|
||||
capacity: 500
|
||||
@@ -0,0 +1,6 @@
|
||||
package manifest
|
||||
|
||||
import _ "embed"
|
||||
|
||||
//go:embed sql/schema.sql
|
||||
var SchemaSQL string
|
||||
@@ -0,0 +1,80 @@
|
||||
CREATE TABLE IF NOT EXISTS mock_card_group (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
name TEXT NOT NULL UNIQUE,
|
||||
created_at TEXT NOT NULL,
|
||||
updated_at TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS mock_t_sim_card (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
group_id INTEGER,
|
||||
msisdn TEXT NOT NULL UNIQUE,
|
||||
iccid TEXT NOT NULL UNIQUE,
|
||||
imsi TEXT NOT NULL UNIQUE,
|
||||
imei TEXT,
|
||||
remark TEXT,
|
||||
carrier TEXT,
|
||||
package_code TEXT,
|
||||
package_name TEXT,
|
||||
package_status INTEGER,
|
||||
package_total_flow_mb REAL,
|
||||
is_flow_pool INTEGER,
|
||||
card_status TEXT,
|
||||
last_change_date TEXT,
|
||||
stop_reason TEXT,
|
||||
frozen_status TEXT,
|
||||
frozen_reason TEXT,
|
||||
frozen_oper_time TEXT,
|
||||
open_date TEXT,
|
||||
active_date TEXT,
|
||||
on_off_status TEXT,
|
||||
session_status TEXT,
|
||||
apn_id TEXT,
|
||||
session_ipv4 TEXT,
|
||||
session_ipv6_prefix TEXT,
|
||||
session_ipv6 TEXT,
|
||||
session_create_date TEXT,
|
||||
rat TEXT,
|
||||
apn_list_json TEXT,
|
||||
apn_usage_json TEXT,
|
||||
primary_apn_name TEXT,
|
||||
primary_apn_status TEXT,
|
||||
primary_apn_usage_kb REAL,
|
||||
primary_apn_usage_bytes INTEGER,
|
||||
pcc_code TEXT,
|
||||
pcc_usage_kb REAL,
|
||||
current_month_usage_kb REAL,
|
||||
pool_usage_bytes INTEGER,
|
||||
daily_usage_kb REAL,
|
||||
monthly_usage_kb REAL,
|
||||
daily_query_date TEXT,
|
||||
monthly_query_month TEXT,
|
||||
monthly_deadline TEXT,
|
||||
growth_per_minute_kb REAL,
|
||||
auto_growth_enabled INTEGER,
|
||||
last_usage_update_time TEXT,
|
||||
card_bind_status TEXT,
|
||||
region_limit_status TEXT,
|
||||
area_restrict_type TEXT,
|
||||
restricted_area TEXT,
|
||||
exported INTEGER NOT NULL DEFAULT 0,
|
||||
export_checked_at TEXT,
|
||||
created_at TEXT,
|
||||
updated_at TEXT
|
||||
);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS mock_order (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
order_num TEXT NOT NULL UNIQUE,
|
||||
msisdn TEXT,
|
||||
iccid TEXT,
|
||||
imsi TEXT,
|
||||
type TEXT NOT NULL,
|
||||
oper_type TEXT,
|
||||
apn_name TEXT,
|
||||
status TEXT NOT NULL,
|
||||
created_at TEXT NOT NULL
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_mock_card_created_at ON mock_t_sim_card(created_at DESC);
|
||||
CREATE INDEX IF NOT EXISTS idx_mock_order_created_at ON mock_order(created_at DESC);
|
||||
Reference in New Issue
Block a user