/
result.go
70 lines (50 loc) · 1.62 KB
/
result.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
package enquiry
import "github.com/dynuc/gophercloud"
type QueryRatingResp struct {
//Status code
ErrorCode string `json:"error_code"`
//Error description.
ErrorMsg string `json:"error_msg"`
//Inquiry result
RatingResult RatingResult `json:"ratingResult"`
}
type RatingResult struct {
//Total order amount (final order amount after discount)
Amount *float64 `json:"amount"`
//Discounted amount in an order.
DiscountAmount *float64 `json:"discountAmount"`
//Original order amount (order amount before discount).
OriginalAmount *float64 `json:"originalAmount"`
//Measurement unit ID.
MeasureId *int `json:"measureId"`
//Currency unit code (complying with the ISO 4217 standard)
Currency string `json:"currency"`
//Product price inquiry result.
ProductRatingResult []ProductRatingResult `json:"productRatingResult"`
//Extended parameter.
ExtendParams string `json:"extendParams"`
}
type ProductRatingResult struct {
//ID, which comes from the ID in the request.
Id string `json:"id"`
//Product ID.
ProductId string `json:"productId"`
//Total amount (final amount after discount)
Amount *float64 `json:"amount,omitempty"`
//Original total amount.
OriginalAmount *float64 `json:"originalAmount,omitempty"`
//Discounted amount.
DiscountAmount *float64 `json:"discountAmount,omitempty"`
//Measurement unit ID.
MeasureId *int `json:"measureId,omitempty"`
//Extended parameter.
ExtendParams string `json:"extendParams"`
}
type QueryRatingResult struct {
gophercloud.Result
}
func (r QueryRatingResult) Extract() (*QueryRatingResp, error) {
var res *QueryRatingResp
err := r.ExtractInto(&res)
return res, err
}