From ffc56f912da5d6d842142ae4ea1856bc56f8bcb9 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 30 九月 2022 19:20:23 +0800
Subject: [PATCH] 结算日志添加

---
 app/src/main/java/com/yeshi/makemoney/app/service/impl/goldcorn/GoldCornMakeServiceImpl.java |   95 +++++++++++++++++++++++++++++------------------
 1 files changed, 59 insertions(+), 36 deletions(-)

diff --git a/app/src/main/java/com/yeshi/makemoney/app/service/impl/goldcorn/GoldCornMakeServiceImpl.java b/app/src/main/java/com/yeshi/makemoney/app/service/impl/goldcorn/GoldCornMakeServiceImpl.java
index 04ee8e7..10294be 100644
--- a/app/src/main/java/com/yeshi/makemoney/app/service/impl/goldcorn/GoldCornMakeServiceImpl.java
+++ b/app/src/main/java/com/yeshi/makemoney/app/service/impl/goldcorn/GoldCornMakeServiceImpl.java
@@ -23,6 +23,8 @@
 import com.yeshi.makemoney.app.utils.factory.UserMoneyRecordFactory;
 import com.yeshi.makemoney.app.utils.factory.goldcorn.GoldCornConsumeRecordFactory;
 import com.yeshi.makemoney.app.utils.goldcorn.GoldCornUtil;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -45,6 +47,7 @@
  */
 @Service
 public class GoldCornMakeServiceImpl implements GoldCornMakeService {
+    Logger taskLogger = LoggerFactory.getLogger("taskLog");
 
     @Resource
     private GoldCornGetFrequencyConfigService goldCornGetFrequencyConfigService;
@@ -92,44 +95,53 @@
         query.setUid(user.getId());
         query.setType(type);
 
-        //闂撮殧鍒ゆ柇
-        if (config.getMinSpaceTime() != null) {
-            List<GoldCornGetRecord> list = goldCornGetRecordService.list(query, 1, 1);
-            if (list != null && list.size() > 0 && time.getTime() - list.get(0).getCreateTime().getTime() < config.getMinSpaceTime() * 1000L) {
-                String msg = String.format("闇�瑕侀棿闅�%s绉掍互涓�", config.getMinSpaceTime());
-                throw new GoldCornMakeException(GoldCornMakeException.CODE_GET_FREQUENCY_TIME_LIMIT, msg);
+        try {
+            //闂撮殧鍒ゆ柇
+            if (config.getMinSpaceTime() != null) {
+                List<GoldCornGetRecord> list = goldCornGetRecordService.list(query, 1, 1);
+                if (list != null && list.size() > 0 && time.getTime() - list.get(0).getCreateTime().getTime() < config.getMinSpaceTime() * 1000L) {
+                    String msg = String.format("闇�瑕侀棿闅�%s绉掍互涓�", config.getMinSpaceTime());
+                    throw new GoldCornMakeException(GoldCornMakeException.CODE_GET_FREQUENCY_TIME_LIMIT, msg);
+                }
             }
+
+            Date startTime = null;
+            Date endTime = time;
+            if (config.getTimeUnit() == GoldCornGetFrequencyConfig.GoldCornGetFrequencyTimeUnit.minute) {
+                startTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(endTime.getTime(), "yyyyMMdd HHmm"), "yyyyMMdd HHmm"));
+            } else if (config.getTimeUnit() == GoldCornGetFrequencyConfig.GoldCornGetFrequencyTimeUnit.hour) {
+                startTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(endTime.getTime(), "yyyyMMdd HH"), "yyyyMMdd HH"));
+            } else if (config.getTimeUnit() == GoldCornGetFrequencyConfig.GoldCornGetFrequencyTimeUnit.day) {
+                startTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(endTime.getTime(), "yyyyMMdd"), "yyyyMMdd"));
+            } else if (config.getTimeUnit() == GoldCornGetFrequencyConfig.GoldCornGetFrequencyTimeUnit.week) {
+                Calendar calendar = Calendar.getInstance();
+                calendar.setTimeInMillis(endTime.getTime());
+                int subDay = (Calendar.getInstance().get(Calendar.DAY_OF_WEEK) - 2 + 7) % 7;
+                startTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(endTime.getTime() - 1000 * 60 * 60 * 24L * subDay, "yyyyMMdd"), "yyyyMMdd"));
+            } else if (config.getTimeUnit() == GoldCornGetFrequencyConfig.GoldCornGetFrequencyTimeUnit.month) {
+                startTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(endTime.getTime(), "yyyyMM"), "yyyyMM"));
+            } else if (config.getTimeUnit() == GoldCornGetFrequencyConfig.GoldCornGetFrequencyTimeUnit.year) {
+                startTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(endTime.getTime(), "yyyy"), "yyyy"));
+            }
+            query.setFormat("yyyyMMdd HH:mm:ss");
+            query.setStartTime(TimeUtil.getGernalTime(startTime.getTime(), query.getFormat()));
+            //service閲岄潰鏈夊噺鍘�1澶�
+            query.setEndTime(TimeUtil.getGernalTime(endTime.getTime() - 1000 * 60 * 60 * 24L, query.getFormat()));
+
+            Map<GoldCornGetType, Long> countMap = goldCornGetRecordService.sumEventCount(query);
+            if (countMap.get(type) != null && (countMap.get(type) >= config.getLimitCount())) {
+                String msg = String.format("瓒呭嚭%s娆�/%s鐨勯檺鍒�", config.getLimitCount(), config.getTimeUnit().getName());
+                throw new GoldCornMakeException(GoldCornMakeException.CODE_GET_FREQUENCY_COUNT_LIMIT, msg);
+            }
+
+            return config.getLimitCount() - (countMap.get(type) != null ? countMap.get(type) : 0);
+
+        } catch (GoldCornMakeException e) {
+            //棰戠巼闄愬埗
+            taskLogger.error("#棰戠巼鍙楅檺# uid:{} type:{} time:{}  msg:{}", user.getId(), type.name(), TimeUtil.getGernalTime(time.getTime(), "yyyy-MM-dd HH:mm:ss SSS"), e.getMsg());
+            throw e;
         }
 
-        Date startTime = null;
-        Date endTime = time;
-        if (config.getTimeUnit() == GoldCornGetFrequencyConfig.GoldCornGetFrequencyTimeUnit.minute) {
-            startTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(endTime.getTime(), "yyyyMMdd HHmm"), "yyyyMMdd HHmm"));
-        } else if (config.getTimeUnit() == GoldCornGetFrequencyConfig.GoldCornGetFrequencyTimeUnit.hour) {
-            startTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(endTime.getTime(), "yyyyMMdd HH"), "yyyyMMdd HH"));
-        } else if (config.getTimeUnit() == GoldCornGetFrequencyConfig.GoldCornGetFrequencyTimeUnit.day) {
-            startTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(endTime.getTime(), "yyyyMMdd"), "yyyyMMdd"));
-        } else if (config.getTimeUnit() == GoldCornGetFrequencyConfig.GoldCornGetFrequencyTimeUnit.week) {
-            Calendar calendar = Calendar.getInstance();
-            calendar.setTimeInMillis(endTime.getTime());
-            int subDay = (Calendar.getInstance().get(Calendar.DAY_OF_WEEK) - 2 + 7) % 7;
-            startTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(endTime.getTime() - 1000 * 60 * 60 * 24L * subDay, "yyyyMMdd"), "yyyyMMdd"));
-        } else if (config.getTimeUnit() == GoldCornGetFrequencyConfig.GoldCornGetFrequencyTimeUnit.month) {
-            startTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(endTime.getTime(), "yyyyMM"), "yyyyMM"));
-        } else if (config.getTimeUnit() == GoldCornGetFrequencyConfig.GoldCornGetFrequencyTimeUnit.year) {
-            startTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(endTime.getTime(), "yyyy"), "yyyy"));
-        }
-        query.setFormat("yyyyMMdd HH:mm:ss");
-        query.setStartTime(TimeUtil.getGernalTime(startTime.getTime(), query.getFormat()));
-        //service閲岄潰鏈夊噺鍘�1澶�
-        query.setEndTime(TimeUtil.getGernalTime(endTime.getTime() - 1000 * 60 * 60 * 24L, query.getFormat()));
-
-        Map<GoldCornGetType, Long> countMap = goldCornGetRecordService.sumEventCount(query);
-        if (countMap.get(type) != null && (countMap.get(type) >= config.getLimitCount())) {
-            String msg = String.format("瓒呭嚭%s娆�/%s鐨勯檺鍒�", config.getLimitCount(), config.getTimeUnit().getName());
-            throw new GoldCornMakeException(GoldCornMakeException.CODE_GET_FREQUENCY_COUNT_LIMIT, msg);
-        }
-        return config.getLimitCount() - (countMap.get(type) != null ? countMap.get(type) : 0);
     }
 
 
@@ -241,7 +253,7 @@
                 continue;
             }
             //鑾峰彇鍏戞崲璁板綍鐨勪富閿甀D,涓嶉渶瑕佸浣欑殑鏁版嵁
-            GoldCornConsumeRecord record = GoldCornConsumeRecordFactory.createExchange(uid, GoldCornUtil.getFormatDay(date), 0, new BigDecimal(0.1),null);
+            GoldCornConsumeRecord record = GoldCornConsumeRecordFactory.createExchange(uid, GoldCornUtil.getFormatDay(date), 0, new BigDecimal(0.1), null);
             //鏌ヨ璧勯噾璁板綍鏄惁鏈夎璁板綍
             try {
                 UserMoneyRecord userMoneyRecord = UserMoneyRecordFactory.createGoldCornExchange(record);
@@ -359,6 +371,17 @@
     @Transactional(rollbackFor = Exception.class)
     @Override
     public GoldCornMakeResultDTO scanNews(Long uid, boolean isDouble, Date time, int num) throws GoldCornGetPriceException, UserInfoException, GoldCornMakeException, GoldCornGetFrequencyConfigException {
+        //闃插埛鏈哄埗
+        if (num < 0) {
+            num = 0;
+        }
+
+        //1涓緢澶х殑鏁�
+        if (num > 20) {
+            num = 1;
+        }
+
+
         UserInfo user = userInfoService.get(uid);
         if (user == null) {
             throw new UserInfoException(UserInfoException.CODE_NOT_EXIST, "鐢ㄦ埛涓嶅瓨鍦�");

--
Gitblit v1.8.0