Files
junhong_cmp_fiber/pkg/constants/constants.go
huang fdcff33058
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 5m9s
feat: 实现企业卡授权和授权记录管理功能
主要功能:
- 添加企业卡授权/回收接口 (POST /enterprises/:id/allocate-cards, recall-cards)
- 添加授权记录管理接口 (GET/PUT /authorizations)
- 实现代理用户数据权限过滤(只能查看自己店铺下企业的授权记录)
- 添加 GORM callback 支持授权记录表的数据权限过滤

技术改进:
- 原生 SQL 查询手动添加数据权限过滤(ListWithJoin, GetByIDWithJoin)
- 移除卡授权预检接口(allocate-cards/preview),保留内部方法
- 完善单元测试和集成测试覆盖
2026-01-26 15:07:03 +08:00

139 lines
3.9 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
package constants
import "time"
// Fiber Locals 的上下文键
const (
ContextKeyRequestID = "requestid" // 请求记录ID
ContextKeyStartTime = "start_time" // 请求开始时间
ContextKeyUserID = "user_id" // 用户ID
ContextKeyUserType = "user_type" // 用户类型
ContextKeyShopID = "shop_id" // 店铺ID
ContextKeyEnterpriseID = "enterprise_id" // 企业ID
ContextKeyCustomerID = "customer_id" // 个人客户ID
ContextKeyUserInfo = "user_info" // 完整的用户信息
)
// 配置环境变量
const (
EnvConfigPath = "CONFIG_PATH"
EnvConfigEnv = "CONFIG_ENV" // dev, staging, prod
)
// 默认配置值
const (
DefaultConfigPath = "configs/config.yaml"
DefaultServerAddr = ":3000"
DefaultRedisAddr = "localhost:6379"
)
// 数据库配置常量
const (
DefaultMaxOpenConns = 25
DefaultMaxIdleConns = 10
DefaultConnMaxLifetime = 5 * time.Minute
DefaultPageSize = 20
MaxPageSize = 100
SlowQueryThreshold = 100 * time.Millisecond
)
// 任务类型常量
const (
TaskTypeEmailSend = "email:send" // 发送邮件
TaskTypeDataSync = "data:sync" // 数据同步
TaskTypeSIMStatusSync = "sim:status:sync" // SIM 卡状态同步
TaskTypeCommission = "commission:calculate" // 分佣计算
TaskTypeIotCardImport = "iot_card:import" // IoT 卡批量导入
)
// 用户状态常量
const (
UserStatusActive = "active" // 激活
UserStatusInactive = "inactive" // 未激活
UserStatusSuspended = "suspended" // 暂停
)
// RBAC 用户类型常量
const (
UserTypeSuperAdmin = 1 // 超级管理员(跳过数据权限过滤)
UserTypePlatform = 2 // 平台用户
UserTypeAgent = 3 // 代理账号
UserTypeEnterprise = 4 // 企业账号
UserTypePersonalCustomer = 5 // 个人客户C端用户
)
// RBAC 角色类型常量
const (
RoleTypePlatform = 1 // 平台角色(适用于平台用户)
RoleTypeCustomer = 2 // 客户角色(适用于代理/企业账号)
)
// RBAC 权限类型常量
const (
PermissionTypeMenu = 1 // 菜单权限
PermissionTypeButton = 2 // 按钮权限
)
// RBAC 权限端口常量
const (
PlatformAll = "all" // 全部端口Web + H5
PlatformWeb = "web" // Web 后台
PlatformH5 = "h5" // H5 端
)
// RBAC 状态常量
const (
StatusDisabled = 0 // 禁用
StatusEnabled = 1 // 启用
)
// 订单状态常量
const (
OrderStatusPending = "pending" // 待支付
OrderStatusPaid = "paid" // 已支付
OrderStatusProcessing = "processing" // 处理中
OrderStatusCompleted = "completed" // 已完成
OrderStatusCancelled = "cancelled" // 已取消
)
// 队列配置常量
const (
QueueCritical = "critical" // 关键任务队列
QueueDefault = "default" // 默认队列
QueueLow = "low" // 低优先级队列
DefaultRetryMax = 5
DefaultTimeout = 10 * time.Minute
DefaultConcurrency = 10
)
// 店铺配置常量
const (
MaxShopLevel = 7 // 店铺最大层级
)
// 验证码配置常量
const (
VerificationCodeLength = 6 // 验证码长度6位数字
VerificationCodeExpiration = 5 * time.Minute // 验证码过期时间5分钟
VerificationCodeRateLimit = 60 * time.Second // 验证码发送频率限制60秒
)
// ======== 默认超级管理员账号配置(用于系统初始化) ========
// DefaultAdminUsername 默认超级管理员用户名
const DefaultAdminUsername = "admin"
// DefaultAdminPassword 默认超级管理员密码
const DefaultAdminPassword = "Admin@123456"
// DefaultAdminPhone 默认超级管理员手机号
const DefaultAdminPhone = "13800000000"
// ======== 企业卡授权相关常量 ========
// AuthorizerType 授权人类型
const (
AuthorizerTypePlatform = UserTypePlatform // 平台用户授权(2)
AuthorizerTypeAgent = UserTypeAgent // 代理账号授权(3)
)