1. Как сохранить множественные оценки для участника в hyperledger composer - PullRequest
0 голосов
/ 05 сентября 2018

Привет, я новичок в Blockchain .. пожалуйста, помогите с этим.

1.У меня есть клиент, который должен иметь возможность хранить несколько оценок. 2. Как запросить все товары клиента

namespace demo  
participant Customer identified by customerId {

o String customerId

o String firstName

o String lastName

  o String email

  o String phone

  o Address address optional

  --> Product[] product optional // here i need to store multiple products that belongs to this customer
}



asset Product identified by productId{

   o String productId

  o productType producttype

  o String productName

  o String model

  --> Customer owner optional

}

1 Ответ

0 голосов
/ 17 сентября 2018

1-я думаю, что в вашем экономическом случае нет смысла добавлять владельца к каждому продукту, потому что у вас уже есть массив активов (продуктов), который принадлежит каждому клиенту.

1.1 - чтобы сохранить несколько активов в массиве продуктов, это будет сделано в функции обработки транзакций в файле logic.js. В приведенной ниже ссылке на документацию вы найдете очень полезную информацию о том, как ее реализовать: https://hyperledger.github.io/composer/latest/reference/js_scripts

1.2 - в качестве решения для запроса вы собираетесь запросить этот реестр участников по customerId, и в результате вы найдете свой массив продуктов. следующим образом.

in the queries.qry file

query CurrentCustomer {
  description: "Returns Certain Customer Details in This Registry"
   statement:  
    SELECT  demo.Customer
        WHERE (customerId == _$customerId)
 }

для лучшего понимания запросов вы можете проверить ссылку на документацию ниже: https://hyperledger.github.io/composer/latest/tutorials/queries

2 - вопрос, собираетесь ли вы добавлять новые продукты в этот массив каждый раз, когда клиент будет покупать продукт? так что представьте, что ваш клиент купил 10000 продуктов, и с таким количеством клиентов производительность вашего приложения будет не самой лучшей, потому что вы извлекаете большую часть данных и изменяете их, а затем обновляете своего участника (клиента). вместо этого вы можете построить связь между клиентом и счетом, и каждый счет содержит перечисление Продукта, которое будет представлено как концепция, которая будет содержать все свойства продукта, и в этом случае каждый счет будет иметь владельца, поэтому вы можете запросить все счета для определенного клиента.

...