From 816a1b79f480f88b0074c7250798f05485061c68 Mon Sep 17 00:00:00 2001 From: 张天森 <1292933220@qq.com> Date: 星期四, 14 七月 2022 10:00:59 +0800 Subject: [PATCH] 看板bug修改 --- springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 50 ++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 40 insertions(+), 10 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 1f41811..59e0ba2 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 @@ -3449,7 +3449,10 @@ if (monthRange){ //获取本月的用户总数作为计算占比的用户总数 IndexDataKanbanVO data = userDao.dataKanBanStreet(streetId, areaCode, date); - vo.setRate(getRate(data.getAllUser(),userProportion.getUser())); + Integer monthUsers = userDao.getMonthUsers(streetId, areaCode, date); + log.info("总人数----"+data.getAllUser()); + log.info("人数-----"+userProportion.getUser()); + vo.setRate(getRate(monthUsers,userProportion.getUser())); }else{ vo.setRate(getRate(analysisVO.getAllUser(),userProportion.getUser())); } @@ -3458,15 +3461,18 @@ } } } - //计算其他用户占比 - final Boolean flag=(type.equals(ALLSTREET) || type.equals(ALLCOMMUNITY) || type.equals(BYSTREET) || type.equals(BYAREA)); - if (flag){ - UserRateAnalysisVO vo=new UserRateAnalysisVO(); - vo.setName(OTHERUSER); - vo.setCount(analysisVO.getAllUser()-countUser(userRateAnalysisVOList)); - vo.setRate(getRate(analysisVO.getAllUser(), vo.getCount())); - userRateAnalysisVOList.add(vo); + if (ObjectUtils.isEmpty(range)){ + //查看累计数据时才计算其他用户的比例 + final Boolean flag=(type.equals(ALLSTREET) || type.equals(ALLCOMMUNITY) || type.equals(BYSTREET) || type.equals(BYAREA)); + if (flag){ + UserRateAnalysisVO vo=new UserRateAnalysisVO(); + vo.setName(OTHERUSER); + vo.setCount(analysisVO.getAllUser()-countUser(userRateAnalysisVOList)); + vo.setRate(getRate(analysisVO.getAllUser(), vo.getCount())); + userRateAnalysisVOList.add(vo); + } } + //计算其他用户占比 UserRateVO userRate=new UserRateVO(); userRate.setUserList(userRateAnalysisVOList); return R.ok(userRate); @@ -3496,7 +3502,12 @@ List<RealUser> realUsers = userDao.realUserCount(type, date, streetId, areaCode); List<RealUserAnalysisVO> realUserList=new ArrayList<>(); realUserVO.setRealUserCount(getStreetRealUser(realUsers)); - realUserVO.setRealUserRate(NumberUtil.div(realUserVO.getRealUserCount(), analysisVO.getAllUser()).doubleValue()); + Integer rate = getRate(analysisVO.getAllUser(), realUserVO.getRealUserCount()); + if (null == rate){ + realUserVO.setRealUserRate(0.0); + }else{ + realUserVO.setRealUserRate(rate.doubleValue()); + } for (RealUser realUser : realUsers) { RealUserAnalysisVO vo=new RealUserAnalysisVO(); vo.setCount(realUser.getCount()); @@ -3504,6 +3515,24 @@ realUserList.add(vo); } realUserVO.setRealUserList(realUserList); + //使用索引迭代避免从列表移除数据后出现空指针异常 + if (type.equals(BYSTREET) || type.equals(ALLCOMMUNITY)){ + for (int i = 0; i < realUserList.size() ; i++) { + RealUserAnalysisVO realUserAnalysisVO = realUserList.get(i); + if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(realUserAnalysisVO)){ + if (StringUtils.isNotEmpty(realUserAnalysisVO.getName())){ + if (realUserAnalysisVO.getName().equals("请选择社区")){ + realUserList.remove(i); + } + } + } + } + }else { + //只保留十条 + if (realUserList.size()>=11){ + realUserList.remove(10); + } + } return R.ok(realUserVO); } @@ -3531,6 +3560,7 @@ return R.ok(vo); } + @Override public R uuPush(String washPhone,String phone,String washName,Integer orderStatus) { if(StringUtils.isNotEmpty(phone)){ -- Gitblit v1.7.1