daily pastebin goal
96%
SHARE
TWEET

model

a guest Jul 12th, 2018 66 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. namespace org.conductor.blockchain
  2.  
  3. /*
  4.  * Moeda define um tipo de moeda
  5.  */
  6. enum Moeda {
  7.   o BRL
  8.   o USD
  9. }
  10.  
  11. /*
  12.  * Tipo de operação de compra
  13.  */
  14. enum CompraTipo {
  15.   o DEBITO
  16.   o CREDITO
  17. }
  18.  
  19. concept Compra {
  20.  o String destino
  21.  o Double valor
  22.  o DateTime data
  23. }
  24.  
  25. asset Fatura identified by faturaId{
  26.   o String faturaId
  27.   --> CartaoCredito cartao
  28.   o Portador portador
  29.   o Emissor emissor
  30.   o Compra[] compras
  31.   o Double extras
  32.   o Double total
  33. }
  34.  
  35. /*
  36.  * Credito define uma quantidade de credito cedida de um emissor a um portador
  37.  */
  38. asset CartaoCredito identified by numeroCartao {
  39.   o String numeroCartao
  40.  
  41.   // Dados dos proprietários do cartão
  42.   --> Portador portador
  43.   --> Emissor emissor
  44.    
  45.   // Limites
  46.   o Double limiteCreditoMaximo
  47.   o Double limiteDisponivel
  48.   o Double limiteExcedente
  49.  
  50.   // Informações cartão
  51.   o String bandeira
  52.   o String senha
  53.   o String cvv
  54.   o DateTime diaVencimento  
  55.  
  56.   // Historico
  57.   o Compra[] compras
  58. }
  59.  
  60. /*
  61.  * Emissor é a empresa que cede crédito
  62.  */
  63. participant Emissor identified by emissorId {
  64.   o String emissorId
  65. }
  66.  
  67. /*
  68.  * Portador é um cliente dono de um ou mais créditos
  69.  */
  70. concept Score{
  71.   o Boolean eNegativo
  72.     o Double valor
  73. }
  74.  
  75. participant Portador identified by cpf {
  76.   o String cpf
  77.   o String nome
  78.   o String sobrenome
  79.   o Score score
  80. }
  81.  
  82. /*
  83.  * Realiza uma compra
  84.  */
  85. transaction RealizarCompra {
  86.   --> CartaoCredito cartao
  87.  
  88.   o String destino
  89.   o Moeda moeda
  90.   o Double valor
  91. }
  92.  
  93. transaction PagarFatura{
  94.     --> CartaoCredito cartao
  95.     o Double valor  
  96. }
  97.  
  98. transaction CriarFatura{
  99.   --> CartaoCredito cartao
  100. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top