新版仿ok交易所-后端
1
zj
6 days ago bf362d7ee6ab091cd26d69be9095440e5000928c
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));
    }