package project.data.websocket.service.huobi.parser.market; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import project.data.websocket.model.market.MarketTrade; import project.data.websocket.service.huobi.parser.HuobiModelParser; public class MarketTradeParser implements HuobiModelParser { @Override public MarketTrade parse(JSONObject json) { Long tradeId = json.getLong("trade-id"); if (tradeId == null) { tradeId = json.getLong("tradeId"); } MarketTrade trade = new MarketTrade(); trade.setId(json.get("id") == null ? null : json.get("id").toString()); trade.setTradeId(tradeId); trade.setPrice(new BigDecimal(json.getString("price"))); trade.setAmount(new BigDecimal(json.getString("amount"))); trade.setDirection(json.getString("direction")); trade.setTs(json.getLong("ts")); return trade; } @Override public MarketTrade parse(JSONArray json) { return null; } @Override public List parseArray(JSONArray jsonArray) { if (jsonArray == null || jsonArray.size() <= 0) { return new ArrayList<>(); } List list = new ArrayList<>(); for (int i = 0; i < jsonArray.size(); i++) { JSONObject jsonObject = jsonArray.getJSONObject(i); list.add(parse(jsonObject)); } return list; } }