From 0cf26c2fbb74f5260f05ad9bc9d4f46f1d609d0c Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期日, 24 七月 2022 14:07:53 +0800 Subject: [PATCH] bug修改 --- springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/UserServiceImpl.java | 127 +++++++++++++++++++++--------------------- 1 files changed, 64 insertions(+), 63 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..daeb6a8 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 @@ -105,6 +105,7 @@ import cn.hutool.core.util.IdcardUtil; import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.RequestParam; // import com.panzhihua.common.service.grid.GridService; @@ -300,7 +301,7 @@ * @return 用户基本信息、角色 */ @Override - public R<LoginUserInfoVO> getUserInfo(String name, int type) { + public R<LoginUserInfoVO> getUserInfo(String name, int type,String appId) { SysUserDO sysUserDO = null; if (1 == type) { sysUserDO = userDao.selectOne( @@ -309,9 +310,9 @@ LambdaQueryWrapper<SysUserDO> wrapper = new QueryWrapper<SysUserDO>().lambda().eq(SysUserDO::getType, type); if (type == 11) { //只允许通过account登录 - wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAccount, name)); + wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAccount, name).eq(SysUserDO::getAppId,appId)); } else { - wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAccount, name).or() + wrapper.and(sysUserDOLambdaQueryWrapper -> sysUserDOLambdaQueryWrapper.eq(SysUserDO::getAppId,appId).eq(SysUserDO::getAccount, name).or() .eq(SysUserDO::getPhone, name)); } sysUserDO = userDao.selectOne(wrapper); @@ -337,11 +338,11 @@ if(StringUtils.isNotEmpty(areaName)){ loginUserInfoVO.setAreaName(areaName); } - SysAppConfig sysAppConfig=sysAppConfigDao.selectOne(new QueryWrapper<SysAppConfig>().lambda().eq(SysAppConfig::getAreaCode,comActVO.getAreaCode())); - if(sysAppConfig!=null){ - loginUserInfoVO.setAppId(sysAppConfig.getAppId()); - loginUserInfoVO.setAppSecret(sysAppConfig.getSecret()); - } +// SysAppConfig sysAppConfig=sysAppConfigDao.selectOne(new QueryWrapper<SysAppConfig>().lambda().eq(SysAppConfig::getAreaCode,comActVO.getAreaCode())); +// if(sysAppConfig!=null){ +// loginUserInfoVO.setAppId(sysAppConfig.getAppId()); +// loginUserInfoVO.setAppSecret(sysAppConfig.getSecret()); +// } } } List<SysRoleDO> roleDOList = roleDAO.selectByUserId(sysUserDO.getUserId()); @@ -688,12 +689,10 @@ @Override public R<LoginUserInfoVO> detailUser(Long userId) { LoginUserInfoVO loginUserInfoVO = new LoginUserInfoVO(); - if (userId < 100000000l) { SysUserDO sysUserDO = userDao.selectById(userId); if (ObjectUtils.isEmpty(sysUserDO)) { return R.fail("人员不存在"); } - BeanUtils.copyProperties(sysUserDO, loginUserInfoVO); List<ComMngFamilyInfoDO> comMngFamilyInfoDOS = comMngFamilyInfoDAO .selectList(new QueryWrapper<ComMngFamilyInfoDO>().lambda().eq(ComMngFamilyInfoDO::getUserId, userId)); @@ -706,43 +705,6 @@ }); loginUserInfoVO.setComMngFamilyInfoVOS(comMngFamilyInfoVOS); } - - } else { - // 导入社区人员 - SysUserInputDO sysUserInputDO = sysUserInputDAO.selectById(userId - 100000000); - if (ObjectUtils.isEmpty(sysUserInputDO)) { - return R.fail("人员不存在"); - } - String name1 = sysUserInputDO.getName(); - BeanUtils.copyProperties(sysUserInputDO, loginUserInfoVO); - String doorNumber = sysUserInputDO.getDoorNumber(); - Long areaId = sysUserInputDO.getAreaId(); - List<SysUserInputDO> sysUserInputDOS = sysUserInputDAO.selectList(new QueryWrapper<SysUserInputDO>() - .lambda().eq(SysUserInputDO::getDoorNumber, doorNumber).eq(SysUserInputDO::getAreaId, areaId)); - if (!ObjectUtils.isEmpty(sysUserInputDOS)) { - List<ComMngFamilyInfoVO> comMngFamilyInfoVOS = new ArrayList<>(); - sysUserInputDOS.forEach(sysUserInputDO1 -> { - String name = sysUserInputDO1.getName(); - if (name1.equals(name)) { - return; - } - Integer isRent = sysUserInputDO1.getIsRent(); - ComMngFamilyInfoVO comMngFamilyInfoVO = new ComMngFamilyInfoVO(); - comMngFamilyInfoVO.setIdCard(SensitiveUtil.desensitizedIdNumber(sysUserInputDO1.getIdCard())); - comMngFamilyInfoVO.setName(name); - comMngFamilyInfoVO.setPhone(SensitiveUtil.desensitizedPhoneNumber(sysUserInputDO1.getPhone())); - if (isRent.intValue() == 0) { - comMngFamilyInfoVO.setRelationship("家人"); - } else { - comMngFamilyInfoVO.setRelationship("合租"); - } - comMngFamilyInfoVO.setAge(IdCard.IdNOToAge(sysUserInputDO1.getIdCard())); - comMngFamilyInfoVOS.add(comMngFamilyInfoVO); - }); - loginUserInfoVO.setComMngFamilyInfoVOS(comMngFamilyInfoVOS); - } - - } ComActVO comActVO = userDao.selectCommunity(loginUserInfoVO.getCommunityId()); if (!ObjectUtils.isEmpty(comActVO)) { String areaName=userDao.selectAreaCodeByStreetId(comActVO.getStreetId()); @@ -1753,9 +1715,9 @@ * @return 协议内容 */ @Override - public R userAgreement(int type) { + public R userAgreement(int type,String appId) { SysUserAgreementDO sysUserAgreementDO = sysUserAgreementDAO - .selectOne(new QueryWrapper<SysUserAgreementDO>().lambda().eq(SysUserAgreementDO::getType, type)); + .selectOne(new QueryWrapper<SysUserAgreementDO>().lambda().eq(SysUserAgreementDO::getType, type).eq(SysUserAgreementDO::getAppId,appId)); return R.ok(sysUserAgreementDO); } @@ -3445,33 +3407,39 @@ for (UserProportion userProportion : userProportions) { if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(userProportion)){ UserRateAnalysisVO vo=new UserRateAnalysisVO(); - vo.setName(typeToName(type,userProportion )); if (monthRange){ + if (userProportion.getCommunityId().equals("11")){ + continue; + } //获取本月的用户总数作为计算占比的用户总数 - IndexDataKanbanVO data = userDao.dataKanBanStreet(streetId, areaCode, date); - vo.setRate(getRate(data.getAllUser(),userProportion.getUser())); + //IndexDataKanbanVO data = userDao.dataKanBanStreet(streetId, areaCode, date); + Integer monthUsers = userDao.getMonthUsers(streetId, areaCode, date); + vo.setRate(getRate(monthUsers,userProportion.getUser())); }else{ vo.setRate(getRate(analysisVO.getAllUser(),userProportion.getUser())); } + vo.setName(typeToName(type,userProportion )); vo.setCount(userProportion.getUser()); userRateAnalysisVOList.add(vo); } } } - //计算其他用户占比 - 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)){ + //查看累计数据时才计算其他用户的比例 || type.equals(BYSTREET) || type.equals(BYAREA)) + final Boolean flag=(type.equals(ALLSTREET) || type.equals(ALLCOMMUNITY)); + 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); } - @Override public R realUser(Integer type, Long streetId, Long areaCode, Integer range) { @@ -3496,14 +3464,44 @@ 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) { + if (!(type.equals(ALLCOUNTY))){ + if (org.apache.commons.lang3.ObjectUtils.isNotEmpty(realUser)){ + if (realUser.getCommunityId().equals("11")){ + continue; + } + } + } RealUserAnalysisVO vo=new RealUserAnalysisVO(); vo.setCount(realUser.getCount()); vo.setName(typeToNameRealUser(type, realUser)); 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); } @@ -3530,6 +3528,7 @@ vo.setActiveUserY(activeY); return R.ok(vo); } + @Override public R uuPush(String washPhone,String phone,String washName,Integer orderStatus) { @@ -3562,7 +3561,6 @@ } return R.ok(); } - @Override public R getAreaAndStreet() { List<Integer> areaCodeList=areaCodeList(); @@ -3576,6 +3574,7 @@ } return R.ok(areaVOList); } + /** * 获取最近20天数据 @@ -3692,6 +3691,7 @@ break; case "510402": name="东区"; + break; case "510411": name="仁和区"; break; @@ -3709,6 +3709,7 @@ *根据type选择要设置的名称 * */ private String typeToName(Integer type,UserProportion proportion){ + log.info("当前code"+proportion.getAreaCode()); String name=""; if (type.equals(ALLCOUNTY)){ name=areaCodeToName(proportion.getAreaCode()); -- Gitblit v1.7.1