From eb7f3343af839a7c71f16e8ada2b25d5e2201c08 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期一, 19 四月 2021 19:27:52 +0800
Subject: [PATCH] bug修复

---
 src/main/java/com/yeshi/buwan/service/imp/goldcorn/SignInServiceImpl.java |   29 +++++++++++++++--------------
 1 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/src/main/java/com/yeshi/buwan/service/imp/goldcorn/SignInServiceImpl.java b/src/main/java/com/yeshi/buwan/service/imp/goldcorn/SignInServiceImpl.java
index 296671a..28252df 100644
--- a/src/main/java/com/yeshi/buwan/service/imp/goldcorn/SignInServiceImpl.java
+++ b/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;

--
Gitblit v1.8.0