From bf362d7ee6ab091cd26d69be9095440e5000928c Mon Sep 17 00:00:00 2001
From: zj <1772600164@qq.com>
Date: Thu, 04 Jun 2026 18:08:35 +0800
Subject: [PATCH] 1
---
trading-order-admin/src/main/java/com/yami/trading/admin/controller/miner/MinerOrderController.java | 65 ++++++++++++++++----------------
1 files changed, 32 insertions(+), 33 deletions(-)
diff --git a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/miner/MinerOrderController.java b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/miner/MinerOrderController.java
index 89009f7..d4aaff1 100644
--- a/trading-order-admin/src/main/java/com/yami/trading/admin/controller/miner/MinerOrderController.java
+++ b/trading-order-admin/src/main/java/com/yami/trading/admin/controller/miner/MinerOrderController.java
@@ -82,28 +82,25 @@
datas = minerOrderService.pagedQuery(pageNo, 40, partyId, state).getRecords();
for (Map<String, Object> data : datas) {
- int intervalDaysByTwoDate = 0;
+ int remainMinutes = 0;
if (null == data.get("stop_time")) {
if ("0" != data.get("cycle_close")) {
- String can_close_time = DateUtils
- .format(DateUtils.addDay(DateUtils.toDate(data.get("create_time").toString()),
- new Double(data.get("cycle_close").toString()).intValue()),
- DateUtils.DF_yyyyMMdd);
- intervalDaysByTwoDate = DateUtils.getIntervalDaysByTwoDate(DateUtils.toDate(can_close_time),
- new Date());
+ Date canCloseTime = DateUtils.addMinute(
+ DateUtils.toDate(data.get("create_time").toString()),
+ new Double(data.get("cycle_close").toString()).intValue());
+ long diffMs = canCloseTime.getTime() - System.currentTimeMillis();
+ remainMinutes = (int) Math.max(0, diffMs / (60 * 1000));
}
} else {
- intervalDaysByTwoDate = DateUtils.getIntervalDaysByTwoDate(
- DateUtils.toDate(data.get("stop_time").toString()), new Date());
+ long diffMs = DateUtils.toDate(data.get("stop_time").toString()).getTime()
+ - System.currentTimeMillis();
+ remainMinutes = (int) Math.max(0, diffMs / (60 * 1000));
}
- if (intervalDaysByTwoDate < 0) {
- intervalDaysByTwoDate = 0;
- }
- data.put("days", intervalDaysByTwoDate);
+ data.put("days", remainMinutes);
DecimalFormat df = new DecimalFormat("#.##");
data.put("profit", df.format(data.get("profit")));
data.put("test", null != data.get("test") && "Y".equals(data.get("test").toString()));
- data.put("can_close", intervalDaysByTwoDate <= 0);
+ data.put("can_close", remainMinutes <= 0);
data.put("buyCurrency", "usdt");
data.put("outputCurrency", "usdt");
@@ -450,8 +447,8 @@
// 取时间
Date date_now = new Date();
- double last_days = daysBetween(order.getCreate_time(), date_now);
- if ("1".equals(order.getState()) && last_days >= miner.getCycle_close()) {
+ int elapsedMinutes = minutesBetween(order.getCreate_time(), date_now);
+ if ("1".equals(order.getState()) && elapsedMinutes >= miner.getCycle_close()) {
// 解锁,不扣违约金
double default_money = 0;
order.setState("2");
@@ -505,11 +502,22 @@
//System.out.println("stop_timeStr => "+DateUtils.format(order.getStop_time(), DateUtils.DF_yyyyMMdd));
Date date_now = new Date();// 取时间
- int daysBetween = order.getStop_time() == null ? 0 : daysBetween(date_now, order.getStop_time());
- daysBetween = Math.max(daysBetween, 0);
- map.put("days", daysBetween);
- int last_days = daysBetween(create_time, date_now);
- map.put("can_close", last_days >= miner.getCycle_close());
+ int remainMinutes = 0;
+ if (order.getStop_time() != null) {
+ long diffMs = order.getStop_time().getTime() - date_now.getTime();
+ remainMinutes = (int) Math.max(0, diffMs / (60 * 1000));
+ } else if (!miner.getTest().equals("Y") && miner.getCycle_close() > 0) {
+ Date canCloseTime = DateUtils.addMinute(create_time, miner.getCycle_close());
+ long diffMs = canCloseTime.getTime() - date_now.getTime();
+ remainMinutes = (int) Math.max(0, diffMs / (60 * 1000));
+ }
+ map.put("days", remainMinutes);
+ if (miner.getTest().equals("Y")) {
+ map.put("can_close", order.getStop_time() != null && !date_now.before(order.getStop_time()));
+ } else {
+ int elapsedMinutes = minutesBetween(create_time, date_now);
+ map.put("can_close", miner.getCycle_close() <= 0 || elapsedMinutes >= miner.getCycle_close());
+ }
double displayDailyRate = miner.getShow_daily_rate();
double rate = Arith.mul(displayDailyRate, 0.01d);
map.put("profit_may", miner.getTest().equals("Y") ? String.valueOf(Arith.mul(miner_test_profit, miner.getCycle()))
@@ -553,18 +561,9 @@
}
- public static int daysBetween(Date smdate, Date bdate) throws ParseException {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- smdate = sdf.parse(sdf.format(smdate));
- bdate = sdf.parse(sdf.format(bdate));
- Calendar cal = Calendar.getInstance();
- cal.setTime(smdate);
- long time1 = cal.getTimeInMillis();
- cal.setTime(bdate);
- long time2 = cal.getTimeInMillis();
- long between_days = (time2 - time1) / (1000 * 3600 * 24);
-
- return Integer.parseInt(String.valueOf(between_days));
+ public static int minutesBetween(Date smdate, Date bdate) {
+ long diff = bdate.getTime() - smdate.getTime();
+ return (int) (diff / (60 * 1000));
}
--
Gitblit v1.9.3