admin
2021-04-19 eb7f3343af839a7c71f16e8ada2b25d5e2201c08
src/main/java/com/yeshi/buwan/service/imp/goldcorn/SignInServiceImpl.java
@@ -78,19 +78,13 @@
            list.add(dateData);
        }
        int dayCount = 0;
        Map<String, Integer> dayCountMap = new HashMap<>();
        //填充用户数据
        if (!StringUtil.isNullOrEmpty(uid)) {
            try {
                List<GoldCornRecord> recordList = goldCornManager.getRecordList(query, uid);
                Map<Integer, Integer> dayCountMap = getContinueSignDayCountMap(recordList);
                dayCountMap = getContinueSignDayCountMap(recordList);
                dayCount = dayCountMap.size() == 6 ? 6 : dayCountMap.size() % 6;
                //设置金币与选中
                for (int i = 0; i < dayCount; i++) {
                    list.get(i).setGoldCorn("+" + dayCountMap.get(dayCount - i - 1));
                    list.get(i).setSelected(true);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
@@ -103,9 +97,17 @@
        for (int i = 0; i < list.size(); i++) {
            list.get(i).setDate(TimeUtil.getGernalTime(now - (dayCount - i - (isTodaySigned ? 1 : 0)) * 1000 * 60 * 60 * 24L, "M.d"));
            //设置金币与选中
            if (dayCountMap.get(list.get(i).getDate()) != null) {
                list.get(i).setGoldCorn("+" + dayCountMap.get(list.get(i).getDate()));
                list.get(i).setSelected(true);
            }
            if (i == dayCount - (isTodaySigned ? 1 : 0)) {
                list.get(i).setDate("今天");
            }
        }
        return list;
@@ -161,19 +163,18 @@
    }
    private Map<Integer, Integer> getContinueSignDayCountMap(List<GoldCornRecord> recordList) {
        Map<Integer, Integer> map = new TreeMap<>();
        int position = 0;
    private Map<String, Integer> getContinueSignDayCountMap(List<GoldCornRecord> recordList) {
        Map<String, Integer> map = new TreeMap<>();
        long lastTime = TimeUtil.convertGernalTime(TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd"), "yyyy-MM-dd");
        if (recordList != null)
            for (int i = 0; i < recordList.size(); i++) {
                String day = TimeUtil.getGernalTime(recordList.get(i).getCreateTime().getTime(), "M.d");
                long time = TimeUtil.convertGernalTime(TimeUtil.getGernalTime(recordList.get(i).getCreateTime().getTime(), "yyyy-MM-dd"), "yyyy-MM-dd");
                if (lastTime - time == 1000 * 60 * 60 * 24L) {
                    position++;
                    lastTime = time;
                    map.put(position, recordList.get(i).getGoldCorn());
                    map.put(day, recordList.get(i).getGoldCorn());
                } else if (lastTime - time < 1000 * 60 * 60 * 24L) {
                    map.put(position, recordList.get(i).getGoldCorn());
                    map.put(day, recordList.get(i).getGoldCorn());
                    continue;
                } else {
                    break;