@method @name htx#fetchOrder @description fetches information on an order made by the user @see https://huobiapi.github.io/docs/spot/v1/en/#get-the-order-detail-of-an-order-based-on-client-order-id @see https://huobiapi.github.io/docs/spot/v1/en/#get-the-order-detail-of-an-order @see https://www.htx
(Object id, Object... optionalArgs)
| 4046 | * @returns {object} An [order structure]{@link https://docs.ccxt.com/?id=order-structure} |
| 4047 | */ |
| 4048 | public java.util.concurrent.CompletableFuture<Object> fetchOrder(Object id, Object... optionalArgs) |
| 4049 | { |
| 4050 | |
| 4051 | return java.util.concurrent.CompletableFuture.supplyAsync(() -> { |
| 4052 | |
| 4053 | Object symbol = Helpers.getArg(optionalArgs, 0, null); |
| 4054 | Object parameters = Helpers.getArg(optionalArgs, 1, new java.util.HashMap<String, Object>() {{}}); |
| 4055 | (this.loadMarkets()).join(); |
| 4056 | Object market = null; |
| 4057 | if (Helpers.isTrue(!Helpers.isEqual(symbol, null))) |
| 4058 | { |
| 4059 | market = this.market(symbol); |
| 4060 | } |
| 4061 | Object marketType = null; |
| 4062 | var marketTypeparametersVariable = this.handleMarketTypeAndParams("fetchOrder", market, parameters); |
| 4063 | marketType = ((java.util.List<Object>) marketTypeparametersVariable).get(0); |
| 4064 | parameters = ((java.util.List<Object>) marketTypeparametersVariable).get(1); |
| 4065 | Object request = new java.util.HashMap<String, Object>() {{}}; |
| 4066 | Object response = null; |
| 4067 | if (Helpers.isTrue(Helpers.isEqual(marketType, "spot"))) |
| 4068 | { |
| 4069 | Object clientOrderId = this.safeString(parameters, "clientOrderId"); |
| 4070 | if (Helpers.isTrue(!Helpers.isEqual(clientOrderId, null))) |
| 4071 | { |
| 4072 | // will be filled below in extend () |
| 4073 | // they expect clientOrderId instead of client-order-id |
| 4074 | // request['clientOrderId'] = clientOrderId; |
| 4075 | response = (this.spotPrivateGetV1OrderOrdersGetClientOrder(this.extend(request, parameters))).join(); |
| 4076 | } else |
| 4077 | { |
| 4078 | Helpers.addElementToObject(request, "order-id", id); |
| 4079 | response = (this.spotPrivateGetV1OrderOrdersOrderId(this.extend(request, parameters))).join(); |
| 4080 | } |
| 4081 | } else |
| 4082 | { |
| 4083 | Object trigger = this.safeBool2(parameters, "stop", "trigger"); |
| 4084 | Object stopLossTakeProfit = this.safeBool(parameters, "stopLossTakeProfit"); |
| 4085 | Object stopLoss = this.safeBool(parameters, "stopLoss"); |
| 4086 | Object takeProfit = this.safeBool(parameters, "takeProfit"); |
| 4087 | Object trailing = this.safeBool(parameters, "trailing"); |
| 4088 | Object isAlgo = (Helpers.isTrue(Helpers.isTrue(Helpers.isTrue(Helpers.isTrue(trigger) || Helpers.isTrue(stopLoss)) || Helpers.isTrue(takeProfit)) || Helpers.isTrue(stopLossTakeProfit)) || Helpers.isTrue(trailing)); |
| 4089 | parameters = this.omit(parameters, new java.util.ArrayList<Object>(java.util.Arrays.asList("stop", "stopLossTakeProfit", "trailing", "trigger", "stopLoss", "takeProfit"))); |
| 4090 | Object clientOrderId = this.safeStringN(parameters, new java.util.ArrayList<Object>(java.util.Arrays.asList("client_order_id", "clientOrderId", "algo_client_order_id"))); |
| 4091 | if (Helpers.isTrue(Helpers.isEqual(clientOrderId, null))) |
| 4092 | { |
| 4093 | if (Helpers.isTrue(isAlgo)) |
| 4094 | { |
| 4095 | Helpers.addElementToObject(request, "algo_id", id); |
| 4096 | } else |
| 4097 | { |
| 4098 | Helpers.addElementToObject(request, "order_id", id); |
| 4099 | } |
| 4100 | } else |
| 4101 | { |
| 4102 | if (Helpers.isTrue(isAlgo)) |
| 4103 | { |
| 4104 | Helpers.addElementToObject(request, "algo_client_order_id", clientOrderId); |
| 4105 | } else |
nothing calls this directly
no test coverage detected