Преглед изворни кода

refactor(消费服务): 优化日志描述与缓存处理逻辑

1. 卡片限制数据缓存成json字符串。
2. 注释掉定时任务中未使用的异步方法调用,减少不必要的资源消耗。
autumnal_wind пре 11 месеци
родитељ
комит
b40224e6e4

+ 1 - 1
ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/check/CardConsumeValidation.java

@@ -93,7 +93,7 @@ public class CardConsumeValidation {
                         taskExecutor.getThreadPoolExecutor().getQueue().clear();
                     }
                 } catch (Exception e) {
-                    log.error("系统错误1", e);
+                    log.error("卡片消费校验:", e);
                     if (firstError.compareAndSet(null, commonCheck.createError(TradeStatusEnum.SysError))) {
                         taskExecutor.getThreadPoolExecutor().getQueue().clear();
                     }

+ 4 - 3
ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/check/CardConsumeValidationContext.java

@@ -1,7 +1,6 @@
 package org.dromara.server.consume.check;
 
 import cn.hutool.core.util.ObjectUtil;
-import cn.hutool.json.JSONUtil;
 import lombok.Data;
 import lombok.extern.slf4j.Slf4j;
 import org.dromara.backstage.api.domain.vo.RemoteCardVo;
@@ -135,7 +134,9 @@ public class CardConsumeValidationContext {
 
         // 从缓存获取卡片限制数据
         String strCardNo = String.valueOf(userCardVo.getCardNo());
-        context.cardLimitedVo = JsonUtils.parseObject(RedisUtils.getCacheMapValue(CacheNames.T_XF_CARD_LIMITED, strCardNo).toString(), XfCardLimitedVo.class);
+        if (RedisUtils.getCacheMapValue(CacheNames.T_XF_CARD_LIMITED, strCardNo) != null) {
+            context.cardLimitedVo = JsonUtils.parseObject(RedisUtils.getCacheMapValue(CacheNames.T_XF_CARD_LIMITED, strCardNo).toString(), XfCardLimitedVo.class);
+        }
         // 如果缓存中没有则初始化为当天当餐
         if (ObjectUtil.isEmpty(context.cardLimitedVo)) {
             context.cardLimitedVo = initXfCardLimited(context.cardNo, context.consumeDate, context.lastMeal);
@@ -156,7 +157,7 @@ public class CardConsumeValidationContext {
                 context.cardLimitedVo.setLastPay(context.consumeDate);
             }
         }
-        log.info("初始化到当天的卡限制数据:{}", JSONUtil.toJsonStr(context.cardLimitedVo));
+        log.info("初始化到当天的卡限制数据:{}", JsonUtils.toJsonString(context.cardLimitedVo));
 
         return context;
     }

+ 1 - 1
ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/task/ScheduledTasks.java

@@ -83,7 +83,7 @@ public class ScheduledTasks {
 
     @Scheduled(cron = "0 0 5,9,13,16,20 * * ?")
     public void initConsumeInfo() {
-        ThreadUtil.execAsync(baseBusiness::initXfCardLimited);
+        // ThreadUtil.execAsync(baseBusiness::initXfCardLimited);
         ThreadUtil.execAsync(baseBusiness::initUserCard);
         ThreadUtil.execAsync(baseBusiness::initUserAccount);
     }