From eb4f6f3628a76fa2b2eb2afd0acac8eb4334c4ac Mon Sep 17 00:00:00 2001
From: 张天森 <1292933220@qq.com>
Date: 星期三, 13 七月 2022 12:25:52 +0800
Subject: [PATCH] update

---
 springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java |   28 ++++++++++++++++++++--------
 1 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
index 268b549..f109f9f 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java
@@ -3343,7 +3343,7 @@
         if (type.equals(ALLCOUNTY) || type.equals(ALLCOMMUNITY) || type.equals(ALLSTREET)){
             BeanUtils.copyProperties(indexDataKanbanVO,vo);
         }else {
-            IndexDataKanbanVO indexDataVO = userDao.dataKanBanStreet(streetId,areaCode);
+            IndexDataKanbanVO indexDataVO = userDao.dataKanBanStreet(streetId,areaCode,null);
             BeanUtils.copyProperties(indexDataVO,vo);
         }
 //            List<UserProportion> userProportionsTotal = userDao.userAnalysis(type, null, streetId,areaCode);
@@ -3419,14 +3419,13 @@
         IndexDataAnalysisVO analysisVO=new IndexDataAnalysisVO();
         if (type.equals(BYSTREET) || type.equals(BYAREA)){
             //街道,区县筛选
-            IndexDataKanbanVO indexDataVO = userDao.dataKanBanStreet(streetId,areaCode);
+            IndexDataKanbanVO indexDataVO = userDao.dataKanBanStreet(streetId,areaCode,null);
             BeanUtils.copyProperties(indexDataVO,analysisVO );
         }else {
             //总量数据
             IndexDataKanbanVO indexDataKanbanVO = userDao.selectIndexDataKanban(null);
             BeanUtils.copyProperties(indexDataKanbanVO,analysisVO );
         }
-        UserRateVO userRateVO=new UserRateVO();
         String date="";
         if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(range)){
             if (range.equals(1)){
@@ -3436,12 +3435,24 @@
         }
         List<UserProportion> userProportions = userDao.userAnalysis(type, date, streetId,areaCode);
         List<UserRateAnalysisVO> userRateAnalysisVOList=new ArrayList<>();
+        Boolean monthRange=false;
+        if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(range)){
+            if (range.equals(1)){
+                monthRange=true;
+            }
+        }
         if (userProportions.size()>0){
             for (UserProportion userProportion : userProportions) {
                 if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(userProportion)){
                     UserRateAnalysisVO vo=new UserRateAnalysisVO();
                     vo.setName(typeToName(type,userProportion ));
-                    userProportion.setRate(getRate(analysisVO.getAllUser(),userProportion.getUser()));
+                    if (monthRange){
+                        //获取本月的用户总数作为计算占比的用户总数
+                        IndexDataKanbanVO data = userDao.dataKanBanStreet(streetId, areaCode, date);
+                        vo.setRate(getRate(data.getAllUser(),userProportion.getUser()));
+                    }else{
+                        vo.setRate(getRate(analysisVO.getAllUser(),userProportion.getUser()));
+                    }
                     vo.setCount(userProportion.getUser());
                     userRateAnalysisVOList.add(vo);
                 }
@@ -3466,7 +3477,7 @@
         IndexDataAnalysisVO analysisVO=new IndexDataAnalysisVO();
         if (type.equals(BYSTREET) || type.equals(BYAREA)){
             //街道,区县筛选
-            IndexDataKanbanVO indexDataVO = userDao.dataKanBanStreet(streetId,areaCode);
+            IndexDataKanbanVO indexDataVO = userDao.dataKanBanStreet(streetId,areaCode,null);
             BeanUtils.copyProperties(indexDataVO,analysisVO );
         }else {
             //总量数据
@@ -3484,7 +3495,7 @@
         List<RealUser> realUsers = userDao.realUserCount(type, date, streetId, areaCode);
         List<RealUserAnalysisVO> realUserList=new ArrayList<>();
         realUserVO.setRealUserCount(getStreetRealUser(realUsers));
-        realUserVO.setRealUserRate(getRate(analysisVO.getAllUser(), realUserVO.getRealUserCount()));
+        realUserVO.setRealUserRate(NumberUtil.div(realUserVO.getRealUserCount(), analysisVO.getAllUser()).doubleValue());
         for (RealUser realUser : realUsers) {
             RealUserAnalysisVO vo=new RealUserAnalysisVO();
             vo.setCount(realUser.getCount());
@@ -3576,11 +3587,12 @@
     /**
      * 计算占比
      * */
-    private Double getRate(Integer total,Integer count){
+    private Integer getRate(Integer total,Integer count){
         if (0 != total && null != total){
             if (0 != count && null != count){
                 BigDecimal div = NumberUtil.div(count.toString(), total.toString(),2);
-                return div.doubleValue();
+                BigDecimal mul = NumberUtil.mul(div, 100);
+                return mul.intValue();
             }
         }
         return null;

--
Gitblit v1.7.1