Files
junhong_cmp_fiber/pkg/constants/notification.go
break 333ba4b647
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 9m23s
feat(H5弹窗): AUG26-007 风险换卡与运营弹窗投放通知
新增 000225 迁移:运营弹窗配置表 tb_h5_popup_configuration(页面/范围/优先级/频率/受控动作/启停/有效期/版本)
与 tb_notification 可空 JSONB 列 popup_snapshot。

新增通知直建窄接口 DirectWriter.CreateOrGetPersonal:与 Outbox 消费共用 prepareDelivery 的渲染、
展示期与 CreateIdempotent 规则,冲突时回查返回既有行;同步扩展个人通知查询与已读两处类型白名单,
并按个人客户入口补齐投递审计来源。

新增 H5 候选与风险换卡:GET /api/c/v1/popup-candidates 先判风险资格(广电卡 + 风险停机 +
无活动物流换货单),命中只返回风险候选;未命中再按时间/启停/页面/店铺/设备类型/卡类型范围/频率
匹配运营配置。POST /api/c/v1/risk-exchanges/:asset_id/address 锁资产行后幂等创建待发货物流换货单,
首次地址锁定,不沿用资产级群发通知。

新增后台运营弹窗配置 CRUD 与启停(仅超级管理员与平台账号),更新递增版本并刷新最近更新时间,
标题与正文统一拒绝 URL 与前端路由,全部写操作记录操作者、前后值、版本与时间。

同步 OpenAPI(cmd/gendocs、cmd/api/docs.go、pkg/openapi/handlers.go)与参数校验中文提示共用实现。
2026-09-15 15:23:52 +08:00

132 lines
7.4 KiB
Go

package constants
const (
// NotificationRecipientKindAccount 表示后台账号接收人。
NotificationRecipientKindAccount = "account"
// NotificationRecipientKindPersonalCustomer 表示个人客户接收人。
NotificationRecipientKindPersonalCustomer = "personal_customer"
// NotificationTargetKindAccount 表示由稳定后台账号 ID 解析接收人。
NotificationTargetKindAccount = "account"
// NotificationTargetKindPlatformRole 表示由当前平台角色解析接收人。
NotificationTargetKindPlatformRole = "platform_role"
// NotificationTargetKindShop 表示由目标店铺解析全部有效店铺账号和当前业务员。
NotificationTargetKindShop = "shop"
// NotificationCategoryApproval 表示审批类通知。
NotificationCategoryApproval = "approval"
// NotificationCategoryExpiry 表示临期类通知。
NotificationCategoryExpiry = "expiry"
// NotificationCategorySync 表示同步类通知。
NotificationCategorySync = "sync"
// NotificationCategorySystem 表示系统类通知。
NotificationCategorySystem = "system"
// NotificationSeverityInfo 表示普通提示。
NotificationSeverityInfo = "info"
// NotificationSeverityWarning 表示需要关注的警告。
NotificationSeverityWarning = "warning"
// NotificationSeverityError 表示处理失败。
NotificationSeverityError = "error"
// NotificationSeverityCritical 表示严重系统异常。
NotificationSeverityCritical = "critical"
// NotificationTypeSystemNotice 表示受控通用系统通知。
NotificationTypeSystemNotice = "system.notice"
// NotificationTypePackageExpiring 表示套餐临期提醒。
NotificationTypePackageExpiring = "package.expiring"
// NotificationTypeAgentRechargeCompleted 表示代理店铺充值已入账。
NotificationTypeAgentRechargeCompleted = "agent.recharge.completed"
// NotificationTypeRefundCompleted 表示店铺退款已完成。
NotificationTypeRefundCompleted = "refund.completed"
// NotificationTypeExchangeShippingCreated 表示个人客户物流换货待处理提醒。
NotificationTypeExchangeShippingCreated = "exchange.shipping.created"
// NotificationTypeAgentMainWalletLowBalance 表示代理主钱包余额低于固定阈值提醒。
NotificationTypeAgentMainWalletLowBalance = "agent.main_wallet.low_balance"
// NotificationTypeH5PopupRiskExchange 表示 H5 广电卡风险换卡弹窗投放。
NotificationTypeH5PopupRiskExchange = "h5.popup.risk_exchange"
// NotificationTypeH5PopupOperation 表示 H5 运营弹窗投放。
NotificationTypeH5PopupOperation = "h5.popup.operation"
// NotificationRefTypeSystemConfig 表示系统配置资源引用。
NotificationRefTypeSystemConfig = "system_config"
// NotificationRefTypeIntegrationLog 表示外部集成日志资源引用。
NotificationRefTypeIntegrationLog = "integration_log"
// NotificationRefTypePackage 表示套餐资源引用。
NotificationRefTypePackage = "package"
// NotificationRefTypeAsset 表示个人客户资产资源引用。
NotificationRefTypeAsset = "asset"
// NotificationRefTypeRefund 表示退款详情资源引用。
NotificationRefTypeRefund = "refund"
// NotificationRefTypeAgentRecharge 表示代理充值详情资源引用。
NotificationRefTypeAgentRecharge = "agent_recharge"
// NotificationRefTypeWeComApproval 表示企微审批详情资源引用。
NotificationRefTypeWeComApproval = "wecom_approval"
// NotificationRefTypeIotCard 表示物联网卡详情资源引用。
NotificationRefTypeIotCard = "iot_card"
// NotificationRefTypeDevice 表示设备详情资源引用。
NotificationRefTypeDevice = "device"
// NotificationRefTypeExpiringAsset 表示临期资产列表资源引用。
NotificationRefTypeExpiringAsset = "expiring_asset"
// NotificationRefTypeShopFund 表示店铺资金概况资源引用。
NotificationRefTypeShopFund = "shop_fund"
// NotificationRefTypeCardSync 表示卡同步外部集成资源引用。
NotificationRefTypeCardSync = "card_sync"
// NotificationTargetTypeRefundDetail 表示退款详情前端目标。
NotificationTargetTypeRefundDetail = "refund_detail"
// NotificationTargetTypeAgentRechargeDetail 表示代理充值详情前端目标。
NotificationTargetTypeAgentRechargeDetail = "agent_recharge_detail"
// NotificationTargetTypeWeComApprovalDetail 表示企微审批详情前端目标。
NotificationTargetTypeWeComApprovalDetail = "wecom_approval_detail"
// NotificationTargetTypeIotCardDetail 表示物联网卡详情前端目标。
NotificationTargetTypeIotCardDetail = "iot_card_detail"
// NotificationTargetTypeDeviceDetail 表示设备详情前端目标。
NotificationTargetTypeDeviceDetail = "device_detail"
// NotificationTargetTypeExpiringAssetList 表示临期资产列表前端目标。
NotificationTargetTypeExpiringAssetList = "expiring_asset_list"
// NotificationTargetTypeShopFundSummary 表示店铺资金概况前端目标。
NotificationTargetTypeShopFundSummary = "shop_fund_summary"
// NotificationTargetTypeIntegrationLog 表示统一外部集成前端目标。
NotificationTargetTypeIntegrationLog = "integration_log"
// NotificationTargetTypeSystemConfig 表示受控系统配置前端目标。
NotificationTargetTypeSystemConfig = "system_config"
// OutboxEventTypeAdminDirectNotification 表示向明确后台账号投递通知的稳定事件类型。
OutboxEventTypeAdminDirectNotification = "notification.admin.direct.requested"
// OutboxEventTypePersonalCustomerDirectNotification 表示向明确个人客户投递通知的稳定事件类型。
OutboxEventTypePersonalCustomerDirectNotification = "notification.personal_customer.direct.requested"
// OutboxEventTypeAdminDynamicNotification 表示按账号、平台角色或店铺动态解析后台接收人的事件类型。
OutboxEventTypeAdminDynamicNotification = "notification.admin.dynamic.requested"
// NotificationPayloadVersionV1 表示明确后台账号通知载荷第一版。
NotificationPayloadVersionV1 = 1
// NotificationDefaultPageSize 表示后台通知默认每页数量。
NotificationDefaultPageSize = 20
// NotificationMaxPageSize 表示后台通知每页最大数量。
NotificationMaxPageSize = 50
// NotificationMaxPage 表示通知列表允许查询的最大页码,避免无界偏移。
NotificationMaxPage = 10000
// NotificationMaxTitleLength 表示通知纯文本标题最大字符数。
NotificationMaxTitleLength = 200
// NotificationMaxBodyLength 表示通知纯文本正文最大字符数。
NotificationMaxBodyLength = 2000
// NotificationExpiryRetentionDays 表示临期通知数据保留天数。
NotificationExpiryRetentionDays = 180
// NotificationApprovalRetentionDays 表示审批结果通知数据保留天数。
NotificationApprovalRetentionDays = 365
// NotificationSyncDisplayDays 表示同步异常默认展示天数。
NotificationSyncDisplayDays = 30
// NotificationSyncRetentionDays 表示同步异常通知数据保留天数。
NotificationSyncRetentionDays = 180
// NotificationSystemDefaultDisplayDays 表示系统告警默认展示天数。
NotificationSystemDefaultDisplayDays = 30
// NotificationSystemMaxDisplayDays 表示系统告警最长展示天数。
NotificationSystemMaxDisplayDays = 365
// NotificationSystemRetentionDays 表示系统告警数据保留天数。
NotificationSystemRetentionDays = 365
// NotificationCleanupBatchSize 表示单批清理通知数量。
NotificationCleanupBatchSize = 500
// NotificationCleanupMaxBatches 表示每类通知单次任务最多清理批次数。
NotificationCleanupMaxBatches = 20
)