Loading... ## 在途订单处理 `onwayAssets[item.AccountID] = onwayList`拿到了onwayAssets 不同账户`tgSubAccounts`的在途订单。 然后在换汇的时候,分换汇后的币种遍历,在不同的换汇币种前提下,遍历子账户的`onwayAssets`,调用汇率接口换汇,然后把换汇完的币种资产值填回对应的`onwayAssetMap[accountId]`。 然后进行 dto 转 vo 操作,实际上我觉得这一步非常多余。 ```go res[toCurrecny] = s.assetsListConvertToVO(exchangedAccountAssets, onwayAssetMap) ``` 在里面分不同的`SubAccountId`对`onwayAssetMap`里面的在途信息进行处理,主要是`GetOnWayBuyAmountSum`和`GetOnWaySellAmountSum`两个。 ```go if onwayAsset, ok := onwayAssetMap[item.SubAccountId]; ok { v.BuyAmountOnWay = onwayAsset.PlaceOption(decimalutils.PlaceOptionRoundDown2).GetOnWayBuyAmountSum().Decimal.StringFixed(2) v.SellAmountOnWay = onwayAsset.PlaceOption(decimalutils.PlaceOptionRoundDown2).GetOnWaySellAmountSum().Decimal.StringFixed(2) } ``` ## 问题 现在的主要问题是没法很好的处理在途订单和其他的结合起来,在途订单属于资产的一种,每一个`tgSubAccounts`下面的资产都有对应的在途订单。 1. 在途订单怎么按照币种给拼上去? 2. ## 解决办法 这里主要是通过构造一个获取在途订单的方法来完成在途订单的任务。 这里需要跟返回值相对应,所以需要获取指定账户`wealthconstant.AssetsDetailAccountTypeAll`、`wealthconstant.AssetsDetailAccountTypeHKD`、`wealthconstant.AssetsDetailAccountTypeUSD`同时指定币种的在途资产如`wealthconstant.AssetsDetailCurrencyTypeCNH`、`wealthconstant.AssetsDetailCurrencyTypeHKD`、`wealthconstant.AssetsDetailCurrencyTypeUSD`等等才行,这样才能很好的填充回去。 // 在途持仓,在途没有持仓的概念 // 拿到所有的投顾在途订单 最后修改:2024 年 07 月 21 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏