Pārlūkot izejas kodu

fix:用户教练数bug

wrj 7 mēneši atpakaļ
vecāks
revīzija
f1d7c733cb

+ 18 - 5
nightFragrance-admin/src/main/java/com/ylx/web/controller/massage/HomeController.java

@@ -1,5 +1,6 @@
 package com.ylx.web.controller.massage;
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.ylx.common.constant.MassageConstants;
 import com.ylx.common.exception.ServiceException;
 import com.ylx.common.utils.StringUtils;
@@ -68,6 +69,7 @@ public class HomeController {
         //当月最后一天
         Date end = DateTimeUtils.getEndDayOfMonth(new Date());
 
+        String currentMonth = DateTimeUtils.formatDate(new Date(), DateTimeUtils.DATE_NUMBER_YEAR_MONTH_FORMAT2);
         //营业额
         //订单量
         List<HomeBlock> blockOrder = orderService.getBlock(start, end, deptId);
@@ -112,13 +114,24 @@ public class HomeController {
         homeBlocks.setUpGetAmount(getupAmount.orElse(BigDecimal.ZERO));
 
         homeBlocks.setUserNum(sumUser);
-        Optional<Integer> userNumMax = blockUser.stream().max(Comparator.comparing(HomeBlock::getMonth)).map(i -> Optional.ofNullable(i.getUserNum()).orElse(MassageConstants.INTEGER_ZERO));
-        homeBlocks.setUpUserNum(sumUser - userNumMax.orElse(MassageConstants.INTEGER_ZERO));
-
+        //获取当月新增用户数
+        //Optional<Integer> userNumMax = blockUser.stream().max(Comparator.comparing(HomeBlock::getMonth)).map(i -> Optional.ofNullable(i.getUserNum()).orElse(MassageConstants.INTEGER_ZERO));
+        List<HomeBlock> currentUser = blockUser.stream().filter(i -> i.getMonth().equals(currentMonth)).collect(Collectors.toList());
+        if (CollectionUtil.isEmpty(currentUser)) {
+            homeBlocks.setUpUserNum(sumUser);
+        } else {
+            homeBlocks.setUpUserNum(sumJs - currentUser.get(0).getUserNum());
+        }
         homeBlocks.setJsNum(sumJs);
-        Optional<Integer> jsNumMax = blockJs.stream().max(Comparator.comparing(HomeBlock::getMonth)).map(i -> Optional.ofNullable(i.getJsNum()).orElse(MassageConstants.INTEGER_ZERO));
-        homeBlocks.setUpJsNum(sumJs - jsNumMax.orElse(MassageConstants.INTEGER_ZERO));
+        //获取当前月新增的教练数量
+        List<HomeBlock> currentHomeBlock = blockJs.stream().filter(i -> i.getMonth().equals(currentMonth)).collect(Collectors.toList());
 
+        if (CollectionUtil.isEmpty(currentHomeBlock)) {
+            homeBlocks.setUpJsNum(sumJs);
+        } else {
+            homeBlocks.setUpJsNum(sumJs - currentHomeBlock.get(0).getJsNum());
+        }
+        //Optional<Integer> jsNumMax = blockJs.stream().max(Comparator.comparing(HomeBlock::getMonth)).map(i -> Optional.ofNullable(i.getJsNum()).orElse(MassageConstants.INTEGER_ZERO));
         return homeBlocks;
     }