1
zj
2025-01-15 d5276168f8dfb9b4d41819a33b707f1ce083cb77
src/main/java/project/futures/internal/FuturesOrderServiceImpl.java
@@ -2,11 +2,8 @@
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.commons.collections.CollectionUtils;
@@ -556,7 +553,13 @@
      return data;
   }
   public static void main(String[] args) {
      SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd  hh:mm:ss  a", Locale.ENGLISH);
      System.out.println(simpleDateFormat.format(new Date()));
   }
   public Map<String, Object> bulidOne(FuturesOrder order) {
      SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd  hh:mm:ss  a", Locale.ENGLISH);
      simpleDateFormat.setTimeZone(TimeZone.getTimeZone("America/New_York"));
      FuturesOrder order_cache = (FuturesOrder) redisHandler.get(FuturesRedisKeys.FUTURES_SUBMITTED_ORDERNO + order.getOrder_no());
      if (order_cache != null) order = order_cache;
      
@@ -575,14 +578,19 @@
      DecimalFormat df_symbol = new DecimalFormat(decimals);
      df_symbol.setRoundingMode(RoundingMode.FLOOR);// 向下取整
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
      TimeZone timeZone = TimeZone.getTimeZone("America/New_York");
      sdf.setTimeZone(timeZone);
      DecimalFormat df = new DecimalFormat("#.##");
      Map<String, Object> map = new HashMap<String, Object>();
      map.put("order_no", order.getOrder_no());
      map.put("name", item.getName());
      map.put("symbol", order.getSymbol());
      map.put("open_time", DateUtils.format(order.getCreate_time(), DateUtils.DF_yyyyMMddHHmmss));
      map.put("open_time", sdf.format(order.getCreate_time()));
      if (order.getClose_time() != null) {
         map.put("close_time", DateUtils.format(order.getClose_time(), DateUtils.DF_yyyyMMddHHmmss));
         // 设置时区为纽约的冬令时(Eastern Standard Time, EST)
         map.put("close_time", sdf.format(order.getClose_time()));
      } else {
         map.put("close_time", "--");
      }
@@ -603,8 +611,7 @@
      }
      map.put("volume", order.getVolume());
      map.put("settlement_time", DateUtils.format(order.getSettlement_time(), DateUtils.DF_yyyyMMddHHmmss));// 交割时间
      map.put("settlement_time", sdf.format(order.getSettlement_time()));// 交割时间
      map.put("close_price", df_symbol.format(order.getClose_avg_price()));
      map.put("remain_time", StringUtils.isEmptyString(order.getRemain_time()) ? "0:0:0" : order.getRemain_time());
      map.put("time_num", order.getTimeNum());