| | |
| | | realtime.setOrder(order); |
| | | list_clone.add(realtime); |
| | | } |
| | | data = list_clone.stream().sorted(Comparator.comparing(Realtime::getClose).reversed()).collect(Collectors.toList()); |
| | | // data = list_clone.stream().sorted(Comparator.comparing(Realtime::getClose).reversed()).collect(Collectors.toList()); |
| | | // 自定义比较器,确保 BTC 排在第一,ETH 排在第二 |
| | | |
| | | } |
| | | data.sort((r1, r2) -> { |
| | | if (r1.getSymbol().equals("btc")) return -1; // BTC 应该排在第一 |
| | | if (r2.getSymbol().equals("btc")) return 1; |
| | | if (r1.getSymbol().equals("eth")) return -1; // ETH 应该排在第二 |
| | | if (r2.getSymbol().equals("eth")) return 1; |
| | | return 0; // 如果都不是 BTC 或 ETH,则保持原始顺序 |
| | | }); |
| | | resultObject.setData(this.revise(data)); |
| | | return JSONObject.toJSONString(resultObject); |
| | | } catch (BusinessException e) { |
| | |
| | | Map<String, Object> map = new HashMap<String, Object>(); |
| | | map.put("symbol", realtime.getSymbol()); |
| | | map.put("ts", realtime.getTs()); |
| | | String currentTime = realtime.getCurrent_time(); |
| | | // 设置时区为纽约的冬令时(Eastern Standard Time, EST) |
| | | long currentTime = 1744341503535L; // 确保 currentTime 是 long 类型 |
| | | TimeZone timeZone = TimeZone.getTimeZone("America/New_York"); |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); |
| | | sdf.setTimeZone(timeZone); |
| | | map.put("current_time",sdf.format(currentTime)); |
| | | map.put("name", realtime.getName()); |
| | | Date date = new Date(currentTime); |
| | | String formattedTime = sdf.format(date); |
| | | map.put("current_time", formattedTime); |
| | | Item item1 = this.itemService.cacheBySymbol(realtime.getSymbol(), false); |
| | | map.put("name", item1.getName()); |
| | | map.put("change_ratio", realtime.getChange_ratio()); |
| | | Item item = this.itemService.cacheBySymbol(realtime.getSymbol(), true); |
| | | if (item.getDecimals() == null || item.getDecimals() < 0) { |