From 95b21fa3f9535692546f196cc3758a2f7c494e7a Mon Sep 17 00:00:00 2001 From: 张天森 <1292933220@qq.com> Date: 星期三, 13 七月 2022 11:13:07 +0800 Subject: [PATCH] update --- springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 23 +++++++++++++++-------- 1 files changed, 15 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 c69da2e..2e54d19 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,19 @@ } List<UserProportion> userProportions = userDao.userAnalysis(type, date, streetId,areaCode); List<UserRateAnalysisVO> userRateAnalysisVOList=new ArrayList<>(); + final Boolean monthRange=range.equals(1); 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 )); - vo.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 +3472,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 +3490,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 +3582,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