Files
junhong_cmp_fiber/pkg/constants/approval.go
2026-07-24 16:07:18 +08:00

108 lines
4.2 KiB
Go

package constants
import "time"
const (
// ApprovalStatusSubmitting 表示审批申请等待渠道提交。
ApprovalStatusSubmitting = 0
// ApprovalStatusPending 表示审批申请已进入渠道审批。
ApprovalStatusPending = 1
// ApprovalStatusApproved 表示审批已通过。
ApprovalStatusApproved = 2
// ApprovalStatusRejected 表示审批已拒绝。
ApprovalStatusRejected = 3
// ApprovalStatusCancelled 表示审批已撤销。
ApprovalStatusCancelled = 4
// ApprovalStatusRevokedAfterApproved 表示审批通过后被撤销。
ApprovalStatusRevokedAfterApproved = 5
// ApprovalStatusDeleted 表示审批已删除。
ApprovalStatusDeleted = 6
// ApprovalStatusSubmissionFailed 表示渠道明确确认审批提交失败。
ApprovalStatusSubmissionFailed = 7
// ApprovalStatusSubmissionUnknown 表示审批提交请求已发出但结果未知。
ApprovalStatusSubmissionUnknown = 8
)
const (
// ApprovalDecisionApproved 表示标准审批通过决策。
ApprovalDecisionApproved = "approved"
// ApprovalDecisionRejected 表示标准审批拒绝决策。
ApprovalDecisionRejected = "rejected"
// ApprovalDecisionCancelled 表示标准审批撤销决策。
ApprovalDecisionCancelled = "cancelled"
// ApprovalDecisionDeleted 表示标准审批删除决策。
ApprovalDecisionDeleted = "deleted"
// ApprovalDecisionRevokedAfterApproved 表示标准审批通过后撤销决策。
ApprovalDecisionRevokedAfterApproved = "revoked_after_approved"
)
const (
// ApprovalInitialVersion 表示通用审批实例的初始乐观锁版本。
ApprovalInitialVersion = 1
// ApprovalQueryMaxBatchSize 表示通用审批摘要单次批量投影上限。
ApprovalQueryMaxBatchSize = 100
// ApprovalUnknownSubmitterName 表示提交人名称快照无法解析。
ApprovalUnknownSubmitterName = "未知账号"
// ApprovalDecisionDeliveryLeaseDuration 表示标准决策消费者的单次处理租约时长。
ApprovalDecisionDeliveryLeaseDuration = 5 * time.Minute
// ApprovalPreparationTTL 表示事务前审批可用性结果允许复用的最长期限。
ApprovalPreparationTTL = 30 * time.Second
)
const (
// ApprovalDecisionDeliveryPending 表示标准决策等待业务消费。
ApprovalDecisionDeliveryPending = 0
// ApprovalDecisionDeliveryProcessing 表示标准决策已被消费者租约领取。
ApprovalDecisionDeliveryProcessing = 1
// ApprovalDecisionDeliverySucceeded 表示标准决策已被业务幂等处理。
ApprovalDecisionDeliverySucceeded = 2
// ApprovalDecisionDeliveryFailed 表示标准决策消费失败并等待重试。
ApprovalDecisionDeliveryFailed = 3
)
const (
// OutboxEventTypeApprovalTerminalDecision 表示通用审批标准终态已记录。
OutboxEventTypeApprovalTerminalDecision = "approval.terminal_decision.recorded"
// OutboxEventTypeApprovalSubmissionRequested 表示通用审批实例等待渠道提交。
OutboxEventTypeApprovalSubmissionRequested = "approval.submission.requested"
// ApprovalTerminalDecisionPayloadVersionV1 表示标准终态事件载荷第一版。
ApprovalTerminalDecisionPayloadVersionV1 = 1
// ApprovalSubmissionPayloadVersionV1 表示审批申请提交事件载荷第一版。
ApprovalSubmissionPayloadVersionV1 = 1
)
const (
// ApprovalSyncSourceCallback 表示由第三方审批回调触发权威同步。
ApprovalSyncSourceCallback = "callback"
// ApprovalSyncSourcePolling 表示由定时兜底轮询触发权威同步。
ApprovalSyncSourcePolling = "polling"
// ApprovalSyncSourceManual 表示由受控人工动作触发权威同步。
ApprovalSyncSourceManual = "manual"
)
// GetApprovalStatusName 返回通用审批状态的中文名称。
func GetApprovalStatusName(status int) string {
switch status {
case ApprovalStatusSubmitting:
return "提交中"
case ApprovalStatusPending:
return "审批中"
case ApprovalStatusApproved:
return "已通过"
case ApprovalStatusRejected:
return "已拒绝"
case ApprovalStatusCancelled:
return "已撤销"
case ApprovalStatusRevokedAfterApproved:
return "通过后撤销"
case ApprovalStatusDeleted:
return "已删除"
case ApprovalStatusSubmissionFailed:
return "提交失败"
case ApprovalStatusSubmissionUnknown:
return "提交结果未知"
default:
return "未知"
}
}