Bläddra i källkod

fix(消费服务): 修复card表中lastmeal为空时获取值时的空指针异常

autumnal_wind 11 månader sedan
förälder
incheckning
425bf68760

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

@@ -230,8 +230,9 @@ public class ConsumeRequestCheck {
         // 如果卡片没有最后支付日期,默认设置为前一天
         LocalDateTime beforeTime = LocalDateTime.now().plusDays(-1);
         LocalDateTime lastPay = cardVo.getLastPay() == null ? beforeTime : CardDateUtils.toLocalDateTime(cardVo.getLastPay());
+        String lastMeal = cardVo.getLastMeal() == null ? "0" : String.valueOf(cardVo.getLastMeal());
         // 餐类数据初始化
-        boolean sameMeal = mealVo.getTypeId().equals(cardVo.getLastMeal().toString());
+        boolean sameMeal = mealVo.getTypeId().equals(lastMeal);
         boolean sameDay = now.toLocalDate().equals(lastPay.toLocalDate());
 
         if (!sameMeal || !sameDay) {

+ 8 - 8
ruoyi-server/ruoyi-server-consume/src/main/java/org/dromara/server/consume/task/InitTasks.java

@@ -32,14 +32,14 @@ public class InitTasks implements ApplicationRunner {
     public void run(ApplicationArguments args) throws Exception {
         log.info("初始化消费验证基础数据");
         long startTime = System.currentTimeMillis();
-        initBusiness.initGlobalData();
-        initBusiness.initTermInfo();
-        initBusiness.initMealTypeInfo();
-        initBusiness.initDiscountAndOther();
-        initBusiness.initUserCard();
-        initBusiness.initUserAccount();
-        initBusiness.initXfCardLimited();
-        initBusiness.initUserBalance();
+        // initBusiness.initGlobalData();
+        // initBusiness.initTermInfo();
+        // initBusiness.initMealTypeInfo();
+        // initBusiness.initDiscountAndOther();
+        // initBusiness.initUserCard();
+        // initBusiness.initUserAccount();
+        // initBusiness.initXfCardLimited();
+        // initBusiness.initUserBalance();
         validationParam.refresh();
 
         log.info("初始化消费验证基础数据完成。耗时:{} ms", System.currentTimeMillis() - startTime);