| | |
| | | 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"); |
| | |
| | | |
| | | // 取时间 |
| | | 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"); |
| | |
| | | //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())) |
| | |
| | | |
| | | } |
| | | |
| | | 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)); |
| | | } |
| | | |
| | | |