Passed
Push — master ( faa4ac...572ea2 )
by Vladislav
06:35 queued 04:06
created

PurchaseRedeemHistoryResponse   A

Complexity

Total Complexity 23

Size/Duplication

Total Lines 281
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 57
c 1
b 0
f 0
dl 0
loc 281
rs 10
wmc 23

23 Methods

Rating   Name   Duplication   Size   Complexity  
A getValue() 0 3 1
A setOrderStatus() 0 4 1
A setLtCode() 0 4 1
A getAmount() 0 3 1
A setFee() 0 4 1
A getSerialNo() 0 3 1
A getOrderTime() 0 3 1
A setValue() 0 4 1
A setExecTime() 0 4 1
A __construct() 0 14 1
A setOrderId() 0 4 1
A getOrderType() 0 3 1
A getLtCode() 0 3 1
A setOrderTime() 0 4 1
A setSerialNo() 0 4 1
A getValueCoin() 0 3 1
A getOrderStatus() 0 3 1
A setValueCoin() 0 4 1
A setAmount() 0 4 1
A getOrderId() 0 3 1
A setOrderType() 0 4 1
A getExecTime() 0 3 1
A getFee() 0 3 1
1
<?php
2
namespace Carpenstar\ByBitAPI\Spot\LeverageToken\PurchaseRedeemHistory\Response;
3
4
use Carpenstar\ByBitAPI\Core\Helpers\DateTimeHelper;
5
use Carpenstar\ByBitAPI\Core\Objects\AbstractResponse;
6
use Carpenstar\ByBitAPI\Spot\LeverageToken\PurchaseRedeemHistory\Interfaces\IPurchaseReedemHistoryResponseInterface;
7
8
class PurchaseRedeemHistoryResponse extends AbstractResponse implements IPurchaseReedemHistoryResponseInterface
9
{
10
    /**
11
     * Actual purchase quantity of the ETP
12
     * @var float $amount
13
     */
14
    private float $amount;
15
16
    /**
17
     * Last update time of the order status
18
     * @var \DateTime $execTime
19
     */
20
    private \DateTime $execTime;
21
22
    /**
23
     * Trading fees
24
     * @var float $fee
25
     */
26
    private float $fee;
27
28
    /**
29
     * Abbreviation of the LT
30
     * @var string $ltCode
31
     */
32
    private string $ltCode;
33
34
    /**
35
     * Order ID
36
     * @var string $orderId
37
     */
38
    private string $orderId;
39
40
    /**
41
     * Order status. 1: Completed; 2: In progress; 3: Failed
42
     * @var int $orderStatus
43
     */
44
    private int $orderStatus;
45
46
    /**
47
     * Order time
48
     * @var \DateTime $orderTime
49
     */
50
    private \DateTime $orderTime;
51
52
    /**
53
     * Order type; 1. Purchase; 2. Redemption
54
     * @var int $orderType
55
     */
56
    private int $orderType;
57
58
    /**
59
     * Serial number
60
     * @var string $serialNo
61
     */
62
    private string $serialNo;
63
64
    /**
65
     * Filled value
66
     * @var float $value
67
     */
68
    private float $value;
69
70
    /**
71
     * Quote asset
72
     * @var string $valueCoin
73
     */
74
    private string $valueCoin;
75
76
77
    public function __construct(array $data)
78
    {
79
        $this
80
            ->setAmount((float) $data['amount'])
81
            ->setExecTime((int) $data['excTime'])
82
            ->setFee((float) $data['fee'])
83
            ->setLtCode($data['ltCode'])
84
            ->setOrderId($data['orderId'])
85
            ->setOrderStatus($data['orderStatus'])
86
            ->setOrderTime($data['orderTime'])
87
            ->setOrderType($data['orderType'])
88
            ->setSerialNo($data['serialNo'])
89
            ->setValue((float) $data['value'])
90
            ->setValueCoin($data['valueCoin']);
91
    }
92
93
    /**
94
     * @return float
95
     */
96
    public function getAmount(): float
97
    {
98
        return $this->amount;
99
    }
100
101
    /**
102
     * @param float $amount
103
     * @return PurchaseRedeemHistoryResponse
104
     */
105
    private function setAmount(float $amount): self
106
    {
107
        $this->amount = $amount;
108
        return $this;
109
    }
110
111
    /**
112
     * @return \DateTime
113
     */
114
    public function getExecTime(): \DateTime
115
    {
116
        return $this->execTime;
117
    }
118
119
    /**
120
     * @param int $execTime
121
     * @return PurchaseRedeemHistoryResponse
122
     */
123
    private function setExecTime(int $execTime): self
124
    {
125
        $this->execTime = DateTimeHelper::makeFromTimestamp($execTime);
126
        return $this;
127
    }
128
129
    /**
130
     * @return float
131
     */
132
    public function getFee(): float
133
    {
134
        return $this->fee;
135
    }
136
137
    /**
138
     * @param float $fee
139
     * @return PurchaseRedeemHistoryResponse
140
     */
141
    private function setFee(float $fee): self
142
    {
143
        $this->fee = $fee;
144
        return $this;
145
    }
146
147
    /**
148
     * @return string
149
     */
150
    public function getLtCode(): string
151
    {
152
        return $this->ltCode;
153
    }
154
155
    /**
156
     * @param string $ltCode
157
     * @return PurchaseRedeemHistoryResponse
158
     */
159
    private function setLtCode(string $ltCode): self
160
    {
161
        $this->ltCode = $ltCode;
162
        return $this;
163
    }
164
165
    /**
166
     * @return string
167
     */
168
    public function getOrderId(): string
169
    {
170
        return $this->orderId;
171
    }
172
173
    /**
174
     * @param string $orderId
175
     * @return PurchaseRedeemHistoryResponse
176
     */
177
    private function setOrderId(string $orderId): self
178
    {
179
        $this->orderId = $orderId;
180
        return $this;
181
    }
182
183
    /**
184
     * @return int
185
     */
186
    public function getOrderStatus(): int
187
    {
188
        return $this->orderStatus;
189
    }
190
191
    /**
192
     * @param int $orderStatus
193
     * @return PurchaseRedeemHistoryResponse
194
     */
195
    private function setOrderStatus(int $orderStatus): self
196
    {
197
        $this->orderStatus = $orderStatus;
198
        return $this;
199
    }
200
201
    /**
202
     * @return \DateTime
203
     */
204
    public function getOrderTime(): \DateTime
205
    {
206
        return $this->orderTime;
207
    }
208
209
    /**
210
     * @param int $orderTime
211
     * @return PurchaseRedeemHistoryResponse
212
     */
213
    private function setOrderTime(int $orderTime): self
214
    {
215
        $this->orderTime = DateTimeHelper::makeFromTimestamp($orderTime);
216
        return $this;
217
    }
218
219
    /**
220
     * @return int
221
     */
222
    public function getOrderType(): int
223
    {
224
        return $this->orderType;
225
    }
226
227
    /**
228
     * @param int $orderType
229
     * @return PurchaseRedeemHistoryResponse
230
     */
231
    private function setOrderType(int $orderType): self
232
    {
233
        $this->orderType = $orderType;
234
        return $this;
235
    }
236
237
    /**
238
     * @return string
239
     */
240
    public function getSerialNo(): string
241
    {
242
        return $this->serialNo;
243
    }
244
245
    /**
246
     * @param string $serialNo
247
     * @return PurchaseRedeemHistoryResponse
248
     */
249
    private function setSerialNo(string $serialNo): self
250
    {
251
        $this->serialNo = $serialNo;
252
        return $this;
253
    }
254
255
    /**
256
     * @return float
257
     */
258
    public function getValue(): float
259
    {
260
        return $this->value;
261
    }
262
263
    /**
264
     * @param float $value
265
     * @return PurchaseRedeemHistoryResponse
266
     */
267
    private function setValue(float $value): self
268
    {
269
        $this->value = $value;
270
        return $this;
271
    }
272
273
    /**
274
     * @return string
275
     */
276
    public function getValueCoin(): string
277
    {
278
        return $this->valueCoin;
279
    }
280
281
    /**
282
     * @param string $valueCoin
283
     * @return PurchaseRedeemHistoryResponse
284
     */
285
    private function setValueCoin(string $valueCoin): self
286
    {
287
        $this->valueCoin = $valueCoin;
288
        return $this;
289
    }
290
}