1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
| @startuml autonumber skinparam shadowing false skinparam DefaultFontName Proxima Nova ' BackgroundColor skinparam ActivityBackgroundColor #FFFFFF skinparam ActivityDiamondBackgroundColor #FFFFFF skinparam ActorBackgroundColor #FFFFFF skinparam AgentBackgroundColor #FFFFFF skinparam ArtifactBackgroundColor #FFFFFF skinparam BackgroundColor #FFFFFF skinparam BoundaryBackgroundColor #FFFFFF skinparam CardBackgroundColor #FFFFFF skinparam ClassBackgroundColor #FFFFFF skinparam ClassHeaderBackgroundColor #FFFFFF skinparam CloudBackgroundColor #FFFFFF skinparam CollectionsBackgroundColor #FFFFFF skinparam ComponentBackgroundColor #FFFFFF skinparam BoundaryBackgroundColor #FFFFFF skinparam ControlBackgroundColor #FFFFFF skinparam DatabaseBackgroundColor #FFFFFF skinparam EntityBackgroundColor #FFFFFF skinparam FileBackgroundColor #FFFFFF skinparam FolderBackgroundColor #FFFFFF skinparam FrameBackgroundColor #FFFFFF skinparam IconPackageBackgroundColor #FFFFFF skinparam IconPrivateBackgroundColor #FFFFFF skinparam IconProtectedBackgroundColor #FFFFFF skinparam IconPublicBackgroundColor #FFFFFF skinparam InterfaceBackgroundColor #FFFFFF skinparam LegendBackgroundColor #FFFFFF skinparam NodeBackgroundColor #FFFFFF skinparam NoteBackgroundColor #FFFFFF skinparam ObjectBackgroundColor #FFFFFF skinparam PackageBackgroundColor #FFFFFF skinparam ParticipantBackgroundColor #FFFFFF skinparam PartitionBackgroundColor #FFFFFF skinparam QueueBackgroundColor #FFFFFF skinparam RectangleBackgroundColor #FFFFFF skinparam SequenceBoxBackgroundColor #FFFFFF skinparam SequenceDividerBackgroundColor #FFFFFF skinparam SequenceGroupBackgroundColor #FFFFFF skinparam SequenceGroupBodyBackgroundColor #FFFFFF skinparam SequenceLifeLineBackgroundColor #FFFFFF skinparam SequenceReferenceBackgroundColor #FFFFFF skinparam SequenceReferenceHeaderBackgroundColor #FFFFFF skinparam StackBackgroundColor #FFFFFF skinparam StateBackgroundColor #FFFFFF skinparam StereotypeABackgroundColor #FFFFFF skinparam StereotypeCBackgroundColor #FFFFFF skinparam StereotypeEBackgroundColor #FFFFFF skinparam StereotypeIBackgroundColor #FFFFFF skinparam StereotypeNBackgroundColor #FFFFFF skinparam StorageBackgroundColor #FFFFFF skinparam TitleBackgroundColor #FFFFFF skinparam UsecaseBackgroundColor #FFFFFF ' StateColor skinparam style strictuml skinparam Padding 10 skinparam ParticipantPadding 20 ' 业务逻辑开始 actor Customer as C actor Cashier as CA participant "POS System" as POS participant "Inventory System" as INV participant "Payment Gateway" as PAY C -> CA: 提交商品进行交易 activate CA CA -> POS: 开启交易 activate POS loop 扫描商品 CA -> POS: 扫描商品条码 POS -> INV: 更新库存 INV --> POS: 库存更新完成 end CA -> POS: 选择支付方式 alt 支付方式选择 CA -> PAY: 发起电子支付 PAY --> CA: 返回支付结果 else 现金支付 CA -> POS: 处理现金支付 end opt 支付失败处理 CA -> C: 提示重新支付 end POS -> PAY: 处理支付 activate PAY PAY --> POS: 支付结果 alt 支付成功 POS -> POS: 打印小票 deactivate POS else 支付失败 CA -> C: 提示重新支付 end deactivate PAY CA --> C: 交易结束 deactivate CA @enduml
|