本次提交完成 add-wallet-transfer-tag-models 提案的实施和归档: ## 新增功能模块 - 钱包系统:用户/代理钱包管理,支持充值、扣款、退款、乐观锁防并发 - 换卡记录:物联卡更换历史追溯,包含套餐快照(JSONB) - 标签系统:设备/IoT卡/号卡的统一标签管理 - 运营商渠道:四大运营商(CMCC/CUCC/CTCC/CBN)的渠道管理 ## 数据库变更 - 新增 6 张表:tb_wallet, tb_wallet_transaction, tb_recharge_record, tb_card_replacement_record, tb_tag, tb_resource_tag - 修改 2 张表:tb_carrier(新增渠道字段), tb_order(新增混合支付字段) - 迁移版本:v6 → v7(执行时间 282.5ms) ## 代码变更 - 新增 8 个 Go 模型(符合统一规范:gorm.Model + BaseModel) - 新增 40+ 个常量定义(含完整中文注释) - 新增 7 个 Redis Key 生成函数 - 修复模型规范:移除重复字段,统一使用 gorm.Model 嵌入 ## 文档变更 - 新增 3 个业务文档:数据模型设计、字段说明、迁移验证报告 - 更新 AGENTS.md:新增 Model 模型规范和常量注释规范 - 新增 4 个 OpenSpec 规范:wallet, carrier, card-replacement, tag - 更新 1 个 OpenSpec 规范:iot-order(支持混合支付) ## 验证通过 - ✅ LSP 诊断:所有模型和常量文件无错误 - ✅ OpenSpec 验证:openspec validate --strict 通过 - ✅ 迁移执行:表结构创建成功,索引正确 - ✅ 提案归档:2026-01-13-add-wallet-transfer-tag-models 变更文件统计:29 个文件,新增 3682 行
250 lines
5.9 KiB
Go
250 lines
5.9 KiB
Go
package constants
|
|
|
|
// ========================================
|
|
// IoT SIM 管理系统常量定义
|
|
// ========================================
|
|
|
|
// ========================================
|
|
// 1. 核心业务常量
|
|
// ========================================
|
|
|
|
// IoT 卡状态
|
|
const (
|
|
IotCardStatusInStock = 1 // 在库
|
|
IotCardStatusDistributed = 2 // 已分销
|
|
IotCardStatusActivated = 3 // 已激活
|
|
IotCardStatusSuspended = 4 // 已停用
|
|
)
|
|
|
|
// IoT 卡业务类型
|
|
const (
|
|
CardCategoryNormal = "normal" // 普通卡(需要实名认证)
|
|
CardCategoryIndustry = "industry" // 行业卡(无需实名认证)
|
|
)
|
|
|
|
// 设备状态
|
|
const (
|
|
DeviceStatusInStock = 1 // 在库
|
|
DeviceStatusDistributed = 2 // 已分销
|
|
DeviceStatusActivated = 3 // 已激活
|
|
DeviceStatusSuspended = 4 // 已停用
|
|
)
|
|
|
|
// 号卡状态
|
|
const (
|
|
NumberCardStatusOnSale = 1 // 在售
|
|
NumberCardStatusOffSale = 2 // 下架
|
|
)
|
|
|
|
// IoT 卡激活状态
|
|
const (
|
|
ActivationStatusInactive = 0 // 未激活
|
|
ActivationStatusActive = 1 // 已激活
|
|
)
|
|
|
|
// IoT 卡实名状态
|
|
const (
|
|
RealNameStatusNotVerified = 0 // 未实名
|
|
RealNameStatusVerified = 1 // 已实名
|
|
)
|
|
|
|
// IoT 卡网络状态
|
|
const (
|
|
NetworkStatusOffline = 0 // 停机
|
|
NetworkStatusOnline = 1 // 开机
|
|
)
|
|
|
|
// 套餐流量类型
|
|
const (
|
|
DataTypeReal = "real" // 真流量
|
|
DataTypeVirtual = "virtual" // 虚流量
|
|
)
|
|
|
|
// 套餐类型
|
|
const (
|
|
PackageTypeFormal = "formal" // 正式套餐
|
|
PackageTypeAddon = "addon" // 附加套餐
|
|
)
|
|
|
|
// 订单类型
|
|
const (
|
|
OrderTypePackage = 1 // 套餐订单
|
|
OrderTypeNumberCard = 2 // 号卡订单
|
|
)
|
|
|
|
// 订单状态 (IoT 模块)
|
|
const (
|
|
IotOrderStatusPending = 1 // 待支付
|
|
IotOrderStatusPaid = 2 // 已支付
|
|
IotOrderStatusCompleted = 3 // 已完成
|
|
IotOrderStatusCancelled = 4 // 已取消
|
|
IotOrderStatusRefunded = 5 // 已退款
|
|
)
|
|
|
|
// 支付方式
|
|
const (
|
|
PaymentMethodWallet = "wallet" // 钱包
|
|
PaymentMethodOnline = "online" // 在线支付
|
|
PaymentMethodCarrier = "carrier" // 运营商支付
|
|
)
|
|
|
|
// 所有者类型
|
|
const (
|
|
OwnerTypePlatform = "platform" // 平台
|
|
OwnerTypeAgent = "agent" // 代理
|
|
OwnerTypeUser = "user" // 用户
|
|
OwnerTypeDevice = "device" // 设备
|
|
)
|
|
|
|
// 绑定状态
|
|
const (
|
|
BindStatusBound = 1 // 已绑定
|
|
BindStatusUnbound = 2 // 已解绑
|
|
)
|
|
|
|
// ========================================
|
|
// 2. 套餐和轮询相关常量
|
|
// ========================================
|
|
|
|
// 套餐使用类型
|
|
const (
|
|
PackageUsageTypeSingleCard = "single_card" // 单卡套餐
|
|
PackageUsageTypeDevice = "device" // 设备级套餐
|
|
)
|
|
|
|
// 套餐使用状态
|
|
const (
|
|
PackageUsageStatusActive = 1 // 生效中
|
|
PackageUsageStatusExhausted = 2 // 已用完
|
|
PackageUsageStatusExpired = 3 // 已过期
|
|
)
|
|
|
|
// 轮询配置卡条件
|
|
const (
|
|
CardConditionNotRealName = "not_real_name" // 未实名
|
|
CardConditionRealName = "real_name" // 已实名
|
|
CardConditionActivated = "activated" // 已激活
|
|
CardConditionSuspended = "suspended" // 已停用
|
|
)
|
|
|
|
// 流量使用记录来源
|
|
const (
|
|
DataUsageSourcePolling = "polling" // 轮询
|
|
DataUsageSourceManual = "manual" // 手动
|
|
DataUsageSourceGateway = "gateway" // Gateway回调
|
|
)
|
|
|
|
// ========================================
|
|
// 3. 分佣相关常量
|
|
// ========================================
|
|
|
|
// 分佣类型
|
|
const (
|
|
CommissionTypeOneTime = "one_time" // 一次性分佣
|
|
CommissionTypeLongTerm = "long_term" // 长期分佣
|
|
CommissionTypeCombined = "combined" // 组合分佣
|
|
)
|
|
|
|
// 分佣模式
|
|
const (
|
|
CommissionModeFixed = "fixed" // 固定金额
|
|
CommissionModePercent = "percent" // 百分比
|
|
)
|
|
|
|
// 分佣状态
|
|
const (
|
|
CommissionStatusFrozen = 1 // 已冻结
|
|
CommissionStatusUnfreezing = 2 // 解冻中
|
|
CommissionStatusReleased = 3 // 已发放
|
|
CommissionStatusInvalid = 4 // 已失效
|
|
)
|
|
|
|
// 阶梯类型
|
|
const (
|
|
LadderTypeActivation = "activation" // 激活量
|
|
LadderTypePickup = "pickup" // 提货量
|
|
LadderTypeDeposit = "deposit" // 充值量
|
|
)
|
|
|
|
// 卡类型
|
|
const (
|
|
CardTypeNumberCard = "number_card" // 号卡
|
|
CardTypeIotCard = "iot_card" // IoT卡
|
|
)
|
|
|
|
// 审批类型
|
|
const (
|
|
ApprovalTypeAuto = "auto" // 自动
|
|
ApprovalTypeManual = "manual" // 人工
|
|
)
|
|
|
|
// 审批状态
|
|
const (
|
|
ApprovalStatusPending = 1 // 待审批
|
|
ApprovalStatusApproved = 2 // 已通过
|
|
ApprovalStatusRejected = 3 // 已拒绝
|
|
)
|
|
|
|
// ========================================
|
|
// 4. 财务管理常量
|
|
// ========================================
|
|
|
|
// 提现状态
|
|
const (
|
|
WithdrawalStatusPending = 1 // 待审核
|
|
WithdrawalStatusApproved = 2 // 已通过
|
|
WithdrawalStatusRejected = 3 // 已拒绝
|
|
WithdrawalStatusPaid = 4 // 已到账
|
|
)
|
|
|
|
// 提现方式
|
|
const (
|
|
WithdrawalMethodAlipay = "alipay" // 支付宝
|
|
WithdrawalMethodWechat = "wechat" // 微信
|
|
WithdrawalMethodBank = "bank" // 银行卡
|
|
)
|
|
|
|
// 商户类型
|
|
const (
|
|
MerchantTypeAlipay = "alipay" // 支付宝
|
|
MerchantTypeWechat = "wechat" // 微信
|
|
MerchantTypeBank = "bank" // 银行卡
|
|
)
|
|
|
|
// ========================================
|
|
// 5. 系统管理常量
|
|
// ========================================
|
|
|
|
// 换卡申请状态
|
|
const (
|
|
ReplacementStatusPending = 1 // 待处理
|
|
ReplacementStatusApproved = 2 // 已通过
|
|
ReplacementStatusRejected = 3 // 已拒绝
|
|
ReplacementStatusCompleted = 4 // 已完成
|
|
)
|
|
|
|
// 开发能力配置状态
|
|
const (
|
|
DevCapabilityStatusEnabled = 1 // 启用
|
|
DevCapabilityStatusDisabled = 2 // 禁用
|
|
)
|
|
|
|
// ========================================
|
|
// 运营商编码
|
|
// ========================================
|
|
|
|
const (
|
|
CarrierCodeCMCC = "CMCC" // 中国移动
|
|
CarrierCodeCUCC = "CUCC" // 中国联通
|
|
CarrierCodeCTCC = "CTCC" // 中国电信
|
|
CarrierCodeCBN = "CBN" // 广电
|
|
)
|
|
|
|
const (
|
|
ReplacementReasonDamaged = "damaged"
|
|
ReplacementReasonLost = "lost"
|
|
ReplacementReasonMalfunction = "malfunction"
|
|
ReplacementReasonUpgrade = "upgrade"
|
|
ReplacementReasonOther = "other"
|
|
)
|