COOPENOMICS  v1
Кооперативная Экономика
table_marketplace_return_requests.hpp
См. документацию.
1#pragma once
2
3#include <eosio/asset.hpp>
4#include <eosio/crypto.hpp>
5#include <eosio/eosio.hpp>
6#include <string>
7#include <vector>
8
9#include "../consts.hpp"
10#include "../core/document.hpp"
11#include "../core/utils.hpp"
12
13namespace Marketplace {
14
15using namespace eosio;
16
27namespace ReturnStatus {
28 inline constexpr eosio::name PENDING_REVIEW = "pendrev"_n;
29 inline constexpr eosio::name APPROVED_FOR_VISIT = "approvvisit"_n;
30}
31
63struct [[eosio::table, eosio::contract(MARKETPLACE)]] return_request {
64 uint64_t id;
65 checksum256 hash;
66 eosio::name coopname;
67 eosio::name orderer;
68
70 checksum256 original_order_hash;
72
73 eosio::asset actual_quantity = asset(0, _unit_piece);
74 eosio::asset fact_cost = asset(0, _root_govern_symbol);
75
85 eosio::asset fee_refund = asset(0, _root_govern_symbol);
86
87 std::string reason_text;
88 std::vector<checksum256> photos;
89
90 eosio::name status = ReturnStatus::PENDING_REVIEW;
92
93 // Timestamp'ы submretrn/aprretrem/rejretrem/accretrn/rejretrn — на бэкенде
94 // из blockchain_actions[at]. В контракте никаких guard'ов по датам нет.
95
96 uint64_t primary_key() const { return id; }
97 checksum256 by_hash() const { return hash; }
98 uint64_t by_orderer() const { return orderer.value; }
99 uint64_t by_status() const { return status.value; }
100 uint64_t by_original_order() const { return original_order_id; }
101};
102
103typedef eosio::multi_index<
104 "retrequests"_n, return_request,
105 eosio::indexed_by<"byhash"_n, eosio::const_mem_fun<return_request, checksum256, &return_request::by_hash>>,
106 eosio::indexed_by<"byorderer"_n, eosio::const_mem_fun<return_request, uint64_t, &return_request::by_orderer>>,
107 eosio::indexed_by<"bystatus"_n, eosio::const_mem_fun<return_request, uint64_t, &return_request::by_status>>,
108 eosio::indexed_by<"byorigorder"_n, eosio::const_mem_fun<return_request, uint64_t, &return_request::by_original_order>>>
110
111} // namespace Marketplace
static constexpr eosio::symbol _unit_piece
Definition: consts.hpp:238
static constexpr eosio::symbol _root_govern_symbol
Definition: consts.hpp:231
contract
Definition: eosio.msig_tests.cpp:977
constexpr eosio::name PENDING_REVIEW
Definition: table_marketplace_return_requests.hpp:28
constexpr eosio::name APPROVED_FOR_VISIT
Definition: table_marketplace_return_requests.hpp:29
Canonical helpers контракта marketplace (Story 11.1).
Definition: marketplace.hpp:32
eosio::multi_index< "retrequests"_n, return_request, eosio::indexed_by<"byhash"_n, eosio::const_mem_fun< return_request, checksum256, &return_request::by_hash > >, eosio::indexed_by<"byorderer"_n, eosio::const_mem_fun< return_request, uint64_t, &return_request::by_orderer > >, eosio::indexed_by<"bystatus"_n, eosio::const_mem_fun< return_request, uint64_t, &return_request::by_status > >, eosio::indexed_by<"byorigorder"_n, eosio::const_mem_fun< return_request, uint64_t, &return_request::by_original_order > > > return_requests_index
Definition: table_marketplace_return_requests.hpp:109
Definition: eosio.msig.hpp:34
On-chain Заявление на гарантийный возврат — анкер процесса p.mkt.return.
Definition: table_marketplace_return_requests.hpp:63
uint64_t id
Definition: table_marketplace_return_requests.hpp:64
checksum256 by_hash() const
Definition: table_marketplace_return_requests.hpp:97
uint64_t primary_key() const
Definition: table_marketplace_return_requests.hpp:96
checksum256 hash
process_hash для p.mkt.return
Definition: table_marketplace_return_requests.hpp:65
std::vector< checksum256 > photos
хеши файлов в bucket'е stol-zakazov:images
Definition: table_marketplace_return_requests.hpp:88
uint64_t by_status() const
Definition: table_marketplace_return_requests.hpp:99
uint64_t by_original_order() const
Definition: table_marketplace_return_requests.hpp:100
std::string reason_text
причина обращения (≤ 500 символов)
Definition: table_marketplace_return_requests.hpp:87
checksum256 original_consume_op_id
ссылка на оригинальный o.mkt.consum (для journal трассировки compensating forward; см....
Definition: table_marketplace_return_requests.hpp:71
uint64_t by_orderer() const
Definition: table_marketplace_return_requests.hpp:98
checksum256 original_order_hash
process_hash оригинального p.mkt.supply
Definition: table_marketplace_return_requests.hpp:70
document2 statement
заявление пайщика (его подпись)
Definition: table_marketplace_return_requests.hpp:91
uint64_t original_order_id
внутренний id Order'а
Definition: table_marketplace_return_requests.hpp:69
eosio::name orderer
пайщик-заказчик (заявитель)
Definition: table_marketplace_return_requests.hpp:67
eosio::name coopname
Definition: table_marketplace_return_requests.hpp:66
Definition: document_core.hpp:27