Advertisement
Guest User

model

a guest
Jul 12th, 2018
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.64 KB | None | 0 0
  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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement