From 970e58a0ceb0bfcd52affad3f08c53d30c29ab8d Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期六, 29 五月 2021 18:14:43 +0800
Subject: [PATCH] 礼金创建优化

---
 service-lijin/src/main/java/com/ks/lijin/service/manager/LiJinProviderTaoKeAccountManager.java |   31 +++++++++++++++++++++++++------
 1 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/service-lijin/src/main/java/com/ks/lijin/service/manager/LiJinProviderTaoKeAccountManager.java b/service-lijin/src/main/java/com/ks/lijin/service/manager/LiJinProviderTaoKeAccountManager.java
index d5846e7..dfd0b80 100644
--- a/service-lijin/src/main/java/com/ks/lijin/service/manager/LiJinProviderTaoKeAccountManager.java
+++ b/service-lijin/src/main/java/com/ks/lijin/service/manager/LiJinProviderTaoKeAccountManager.java
@@ -32,30 +32,49 @@
     @Transactional(rollbackFor = Exception.class)
     public void createLijinSuccess(Long accountId, Long auctionId, BigDecimal money, Date createTime) {
         String day = TimeUtil.getGernalTime(createTime.getTime(), "yyyyMMdd");
-        String goodsKeyPrefix = String.format("lijingoodsnum-%s-%s-", day, accountId);
-        String goodsKey = goodsKeyPrefix + auctionId;
+        String goodsKey = String.format("lijingoodsnum-%s-%s", day, accountId);
         String accountMoneyKey = String.format("lijinaccountmoney-%s-%s", day, accountId);
         //淇濆瓨璐﹀彿褰撴棩鐨勫晢鍝佹暟閲忔秷鑰�
-        redisTemplate.opsForValue().increment(goodsKey, 1);
+        redisTemplate.opsForSet().add(goodsKey, auctionId);
         //淇濆瓨褰撴棩璐﹀彿鐨勮祫閲戞秷鑰�
         redisTemplate.opsForValue().increment(accountMoneyKey, money.multiply(new BigDecimal(100)).intValue());
 
         //鑾峰彇璐﹀彿褰撴棩鐨勫晢鍝佹暟閲�
-        int goodsNum = redisTemplate.keys(goodsKeyPrefix + "*").size();
+        long goodsNum = redisTemplate.opsForSet().size(goodsKey);
         //鑾峰彇璐﹀彿褰撴棩鐨勮祫閲戞秷鑰�
         Long todayMoney = Long.parseLong(redisTemplate.opsForValue().get(accountMoneyKey) + "");
 
         //鍚屾鍒版暟鎹簱
-
         LiJinProviderTaoKeAccount account = liJinProviderAccountMapper.selectByPrimaryKeyForUpdate(accountId);
         if (account != null) {
             LiJinProviderTaoKeAccount update = new LiJinProviderTaoKeAccount();
+            update.setId(account.getId());
             update.setTodayConsumeMoney(new BigDecimal(todayMoney).divide(new BigDecimal(100), 2, RoundingMode.FLOOR));
-            update.setTodayConsumeNumber(goodsNum);
+            update.setTodayConsumeNumber((int) goodsNum);
             update.setUpdateTime(new Date());
+            update.setErrorCode(LiJinProviderTaoKeAccount.ERROR_CODE_NORMAL);
             liJinProviderAccountMapper.updateByPrimaryKeySelective(update);
         }
     }
 
+    /**
+     * 鍒濆鍖栧綋澶╃殑鏁版嵁
+     *
+     * @param accountId
+     */
+    public void initTodayData(Long accountId) {
+        createLijinSuccess(accountId, 1L, new BigDecimal(0), new Date());
+    }
+
+
+    //鍒犻櫎redis涓殑淇℃伅
+    public void deleteInfoInRedis(Date date) {
+        String day = TimeUtil.getGernalTime(date.getTime(), "yyyyMMdd");
+        String goodsKey = String.format("lijingoodsnum-%s-*", day);
+        String accountMoneyKey = String.format("lijinaccountmoney-%s-%s", day);
+        redisTemplate.delete(goodsKey);
+        redisTemplate.delete(accountMoneyKey);
+    }
+
 
 }

--
Gitblit v1.8.0