From f788607ff771a47bc60d6a86e00b3433c40f3d2c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 24 九月 2021 15:22:03 +0800
Subject: [PATCH] 接入视频直播

---
 src/main/java/com/yeshi/buwan/service/imp/goldcorn/SignInServiceImpl.java |   37 +++++++++++++++++++++++--------------
 1 files changed, 23 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..5c0b79c 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
@@ -14,6 +14,8 @@
 import com.yeshi.buwan.service.manager.GoldCornManager;
 import com.yeshi.buwan.util.StringUtil;
 import com.yeshi.buwan.util.TimeUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -24,6 +26,7 @@
 
     @Resource
     private GoldCornManager goldCornManager;
+    Logger logger = LoggerFactory.getLogger(SignInService.class);
 
     @Override
     public Integer signIn(String uid) throws LoginUserException, SignInException {
@@ -35,12 +38,17 @@
             goldCornManager.addGoldCorn(uid, CodeCornGetSourceType.signIn, goldCorn, "绛惧埌", String.format("杩炵画%s澶╃鍒�", (dayCount + 1)));
             return goldCorn;
         } catch (GoldUserException e) {
+            logger.error("绛惧埌鍑洪敊:", e);
             throw new LoginUserException(e.getCode(), e.getMsg());
         } catch (GoldAppException e) {
+            logger.error("绛惧埌鍑洪敊:", e);
             throw new SignInException(1, "鏈嶅姟鍣ㄥ唴閮ㄥ嚭閿�");
         } catch (GoldTradeException e) {
+            logger.error("绛惧埌鍑洪敊:", e);
             throw new SignInException(e.getCode(), e.getMsg());
         } catch (Exception e) {
+            logger.error("绛惧埌鍑洪敊:", e);
+            e.printStackTrace();
             throw new SignInException(1, "鏈嶅姟鍣ㄥ唴閮ㄥ嚭閿�");
         }
 
@@ -78,19 +86,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 +105,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 +171,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