From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 09 六月 2025 11:54:00 +0800 Subject: [PATCH] 6.9新增登录失败冻结逻辑 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java | 205 +++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 166 insertions(+), 39 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java index a73f7de..6986fd9 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActNeighborCircleServiceImpl.java @@ -1135,7 +1135,7 @@ @Override public R serviceStatic(ServiceStaticDTO serviceStaticDTO) { ServiceStaticsVO serviceStaticsVO = new ServiceStaticsVO(); - if (serviceStaticDTO.getCheckUnitId() != null) + if (serviceStaticDTO.getCheckUnitId() != null && serviceStaticDTO.getCheckUnitId()> 0) { //单位服务统计 serviceStaticsVO = @@ -1190,7 +1190,8 @@ else { //个人服务统计 - serviceStaticsVO = this.baseMapper.selectStatsUser(serviceStaticDTO.getPhone(), serviceStaticDTO.getYear()); + + ComPbMemberDO comPbMemberDO = comPbMemberDAO.selectOne(new QueryWrapper<ComPbMemberDO>().lambda() .eq(ComPbMemberDO::getPhone, serviceStaticDTO.getPhone()).last("limit 1")); Long checkUnitId = null; @@ -1198,10 +1199,10 @@ checkUnitId = comPbMemberDO.getCheckUnitId(); } + serviceStaticsVO = this.baseMapper.selectStatsUser(serviceStaticDTO.getPhone(),checkUnitId+"", serviceStaticDTO.getYear()); List<ServiceDetailStaticsVO> serviceDetailStaticsVOList=this.baseMapper.selectServiceDetailListForPersonal(checkUnitId, serviceStaticDTO.getPhone(), serviceStaticDTO.getYear(), serviceStaticDTO.getServiceType()); - if(serviceStaticDTO.getServiceType()==null || serviceStaticDTO.getServiceType()==1) { @@ -1222,7 +1223,7 @@ String Ltime=item.getServiceTime(); if(!StringUtils.isEmpty(Ltime)) { - double time=(double)(Long.valueOf(Ltime)/3600000); + double time=(Double.valueOf(Ltime)/3600000); DecimalFormat df = new DecimalFormat("#.##"); String formattedNumber = df.format(time); double result = Double.parseDouble(formattedNumber); @@ -1266,9 +1267,12 @@ activityVO.setPartyMemberCount(comActDAO.selectUnitCount()); activityVO.setUnitCount(comActDAO.selectMemberCount()); //获取单位活动统计数据(邻里圈) - List<UnitActivityAnalysisVO> unitActivityAnalysisVOS = comActNeighborCircleDAO.institutionalUnitServiceAnalysis(beginTime, endTime, belongTo,communityId); + List<UnitActivityAnalysisVO> unitActivityAnalysisVOS = comActNeighborCircleDAO.institutionalUnitServiceAnalysis(beginTime, endTime, belongTo,communityId,unitId); //获取单位活动统计数据(活动) - List<UnitActivityAnalysisVO> unitActivityAnalysisVOS1 = comActNeighborCircleDAO.institutionalUnitActivityAnalysis(beginTime, endTime, belongTo,communityId); + List<UnitActivityAnalysisVO> unitActivityAnalysisVOS1 = comActNeighborCircleDAO.institutionalUnitActivityAnalysis(beginTime, endTime, belongTo,communityId,unitId); + //获取新双挣双评清单任务 + List<UnitActivityAnalysisVO> newTaskList=comActNeighborCircleDAO.getNewTaskList(beginTime, endTime, belongTo,communityId); + if (unitActivityAnalysisVOS.size()>0){ for (UnitActivityAnalysisVO unitActivityAnalysisVO : unitActivityAnalysisVOS){ if (ObjectUtils.isNotEmpty(unitActivityAnalysisVO)){ @@ -1283,6 +1287,28 @@ } } } + + if (newTaskList.size()>0){ + for (UnitActivityAnalysisVO item : newTaskList){ + if (ObjectUtils.isNotEmpty(item)){ + if (ObjectUtils.isNotEmpty(item.getUnitId())){ + //设置单位名称 + item.setUnitName(comActDAO.selectUnitName(item.getUnitId())); + //统计活动表中的活动信息 + } + if (ObjectUtils.isNotEmpty(item.getCommunityId())){ + item.setCommunityName(comActDAO.selectById(item.getCommunityId()).getName()); + } + + Double time=(item.getServiceTime()/3600000); + DecimalFormat df = new DecimalFormat("#.##"); + String formattedNumber = df.format(time); + Double result = Double.parseDouble(formattedNumber); + item.setServiceTime(result); + } + } + } + //活动表数据处理 if (unitActivityAnalysisVOS1.size()>0){ for (UnitActivityAnalysisVO vo : unitActivityAnalysisVOS1) { @@ -1292,7 +1318,7 @@ Map<String, Integer> param = alreadyAnalysis(vo.getUnitId(), unitActivityAnalysisVOS); if (param.get("flag")==1){ //已有数据,将时长,次数相加 - Integer serviceTime = vo.getServiceTime(); + Double serviceTime = vo.getServiceTime(); Integer serviceTimes = vo.getServiceTimes(); unitActivityAnalysisVOS.get(param.get("index")).setServiceTime(unitActivityAnalysisVOS.get(param.get("index")).getServiceTime()+serviceTime); unitActivityAnalysisVOS.get(param.get("index")).setServiceTimes(unitActivityAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes); @@ -1313,16 +1339,59 @@ } } } + + if (newTaskList.size()>0){ + for (UnitActivityAnalysisVO item : newTaskList){ + if (ObjectUtils.isNotEmpty(item)){ + + if (ObjectUtils.isNotEmpty(item.getUnitId())){ + //判断邻里圈统计中是否已有该单位数据 + Map<String, Integer> param = alreadyAnalysis(item.getUnitId(), unitActivityAnalysisVOS); + if (param.get("flag")==1){ + //已有数据,将时长,次数相加 + Double serviceTime = unitActivityAnalysisVOS.get(param.get("index")).getServiceTime()+item.getServiceTime(); + Integer serviceTimes = item.getServiceTimes(); + + DecimalFormat df2 = new DecimalFormat("#.##"); + String formattedNumber2 = df2.format(serviceTime); + Double result2 = Double.parseDouble(formattedNumber2); + + unitActivityAnalysisVOS.get(param.get("index")).setServiceTime(result2); + unitActivityAnalysisVOS.get(param.get("index")).setServiceTimes(unitActivityAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes); + }else { + //新数据,获取单位,社区名 + item.setUnitName(comActDAO.selectUnitName(item.getUnitId())); + if (ObjectUtils.isNotEmpty(item.getCommunityId())) + { + ComActDO actDO=comActDAO.selectById(item.getCommunityId()); + if(actDO!=null && !StringUtils.isEmpty(actDO.getName())) + { + item.setCommunityName(actDO.getName()); + } + } + + unitActivityAnalysisVOS.add(item); + } + } + + } + } + } + + + //获取党员活动统计数据 List<PartyMemberAnalysisVO> partyMemberAnalysisVOS = comActNeighborCircleDAO.institutionalPartyMemberServiceAnalysis(beginTime, endTime, belongTo,communityId,unitId,searchContent); List<PartyMemberAnalysisVO> partyMemberAnalysisVOS1 = comActNeighborCircleDAO.institutionalPartyMemberActAnalysis(beginTime, endTime, belongTo,communityId,unitId,searchContent); + //获取新双挣双评清单任务 + List<PartyMemberAnalysisVO> newPartyMemberList = comActNeighborCircleDAO.getNewPartyMemberTaskList(beginTime, endTime, belongTo,communityId,unitId,searchContent); if (partyMemberAnalysisVOS1.size()>0){ for (PartyMemberAnalysisVO vo : partyMemberAnalysisVOS1) { if (ObjectUtils.isNotEmpty(vo)){ if (ObjectUtils.isNotEmpty(vo.getMemberId())){ Map<String, Integer> param = memberAlreadyAnalysis(vo.getMemberId(), partyMemberAnalysisVOS); if (param.get("flag")==1){ - Integer serviceTime = vo.getServiceTime(); + Double serviceTime = vo.getServiceTime(); Integer serviceTimes = vo.getServiceTimes(); partyMemberAnalysisVOS.get(param.get("index")).setServiceTime(partyMemberAnalysisVOS.get(param.get("index")).getServiceTime()+serviceTime); partyMemberAnalysisVOS.get(param.get("index")).setServiceTimes(partyMemberAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes); @@ -1333,6 +1402,39 @@ } } } + + if (newPartyMemberList.size()>0){ + for (PartyMemberAnalysisVO item : newPartyMemberList) + { + Double time=(item.getServiceTime()/3600000); + DecimalFormat df = new DecimalFormat("#.##"); + String formattedNumber = df.format(time); + Double result = Double.parseDouble(formattedNumber); + item.setServiceTime(result); + if (ObjectUtils.isNotEmpty(item)){ + if (ObjectUtils.isNotEmpty(item.getMemberId())){ + Map<String, Integer> param = memberAlreadyAnalysis(item.getMemberId(), partyMemberAnalysisVOS); + if (param.get("flag")==1){ + Double serviceTime = partyMemberAnalysisVOS.get(param.get("index")).getServiceTime()+item.getServiceTime(); + Integer serviceTimes = item.getServiceTimes(); + + DecimalFormat df1 = new DecimalFormat("#.##"); + String formattedNumber1 = df1.format(serviceTime); + Double result1 = Double.parseDouble(formattedNumber1); + + partyMemberAnalysisVOS.get(param.get("index")).setServiceTime(result1); + partyMemberAnalysisVOS.get(param.get("index")).setServiceTimes(partyMemberAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes); + }else{ + + + partyMemberAnalysisVOS.add(item); + } + } + } + } + } + + //报道单位统计积分 List<NewFightNeedProblemInventory> allList = newFightNeedProblemInventoryMapper.selectAll(); Map<Long, String> awardMap = allList.stream().filter(Objects::nonNull).collect(Collectors.toMap(NewFightNeedProblemInventory::getId, NewFightNeedProblemInventory::getAward)); @@ -1345,7 +1447,7 @@ Map<String, Long> collectMap = inventories.stream() .collect(Collectors.groupingBy(NewFightNeedProblemClaim::getTaskId, Collectors.counting())); long sum = 0l; - if(unitVO.getAwardSum()!=null || unitVO.getAwardSum()!=0l ) + if(unitVO.getAwardSum()!=null) { sum=unitVO.getAwardSum(); } @@ -1356,49 +1458,65 @@ // String award = newFightNeedProblemInventory.getAward(); String award = awardMap.get(Long.parseLong(taskId)); Long count = collectMap.get(taskId); - long i = Long.parseLong(award) * count; - sum = sum + i; + if(!StringUtils.isEmpty(award) ) + { + long i = Long.parseLong(award) * count; + sum = sum + i; + } } unitVO.setAwardSum(sum); } //报道党员统计积分 - for (PartyMemberAnalysisVO memberAnalysisVO : partyMemberAnalysisVOS) { - Long userId = memberAnalysisVO.getMemberId(); - LambdaQueryWrapper<NewFightNeedProblemClaim> wrapper = new LambdaQueryWrapper<>(); - wrapper.eq(NewFightNeedProblemClaim::getUserId,userId); - List<NewFightNeedProblemClaim> newFightNeedProblemInventories = newFightNeedProblemClaimMapper.selectList(wrapper); - long sumAward = 0l; - - if(memberAnalysisVO.getPartyCount()!=null || memberAnalysisVO.getPartyCount()!=0l ) + for (PartyMemberAnalysisVO memberAnalysisVO : partyMemberAnalysisVOS) + { + if(memberAnalysisVO!=null) { - sumAward=memberAnalysisVO.getPartyCount(); - } + Long userId = memberAnalysisVO.getMemberId(); + LambdaQueryWrapper<NewFightNeedProblemClaim> wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(NewFightNeedProblemClaim::getUserId,userId); + List<NewFightNeedProblemClaim> newFightNeedProblemInventories = newFightNeedProblemClaimMapper.selectList(wrapper); + long sumAward = 0l; - for (NewFightNeedProblemClaim inventory : newFightNeedProblemInventories) { - String taskId = inventory.getTaskId(); - NewFightNeedProblemInventory newFightNeedProblemInventory = newFightNeedProblemInventoryMapper.selectById(taskId); - String award = newFightNeedProblemInventory.getAward(); - sumAward = Long.parseLong(award) + sumAward; + if(memberAnalysisVO.getPartyCount()!=null) + { + sumAward=memberAnalysisVO.getPartyCount(); + } + + for (NewFightNeedProblemClaim inventory : newFightNeedProblemInventories) { + String taskId = inventory.getTaskId(); + NewFightNeedProblemInventory newFightNeedProblemInventory = newFightNeedProblemInventoryMapper.selectById(taskId); + + if(newFightNeedProblemInventory!=null && !StringUtils.isEmpty(newFightNeedProblemInventory.getAward())) + { + String award = newFightNeedProblemInventory.getAward(); + + if(!StringUtils.isEmpty(award) ) + { + sumAward = Long.parseLong(award) + sumAward; + } + } + + } + memberAnalysisVO.setPartyCount(sumAward); } - memberAnalysisVO.setPartyCount(sumAward); } //统计总时长和总次数 Integer unitServiceCount=0; - Integer unitServiceTotalTime=0; + Double unitServiceTotalTime=0.0; Integer memberServiceCount=0; - Integer memberServiceTotalTome=0; + Double memberServiceTotalTome=0.0; long awardSumCount=0L; long partySumCount=0L; for (UnitActivityAnalysisVO vo : unitActivityAnalysisVOS) { //避免空指针 if (ObjectUtils.isNotEmpty(vo)){ if (ObjectUtils.isNotEmpty(vo.getServiceTime())){ - unitServiceCount+=vo.getServiceTime(); + unitServiceTotalTime+=vo.getServiceTime(); } if (ObjectUtils.isNotEmpty(vo.getServiceTimes())){ - unitServiceTotalTime+=vo.getServiceTimes(); + unitServiceCount+=vo.getServiceTimes(); } } } @@ -1406,10 +1524,10 @@ //避免空指针 if (ObjectUtils.isNotEmpty(vo)){ if (ObjectUtils.isNotEmpty(vo.getServiceTime())){ - memberServiceCount+=vo.getServiceTime(); + memberServiceTotalTome+=vo.getServiceTime(); } if (ObjectUtils.isNotEmpty(vo.getServiceTimes())){ - memberServiceTotalTome+=vo.getServiceTimes(); + memberServiceCount+=vo.getServiceTimes(); } } } @@ -1457,6 +1575,15 @@ // ListUtil.sortByProperty(unitActivityAnalysisVOS,""); } } + else + { + //按时长排序 + ListUtil.sortByProperty(unitActivityAnalysisVOS, "serviceTime"); + ListUtil.sortByProperty(partyMemberAnalysisVOS, "serviceTime"); + + ListUtil.reverse(unitActivityAnalysisVOS); + ListUtil.reverse(partyMemberAnalysisVOS); + } //处理分页 PageVO<List<UnitActivityAnalysisVO>> unitPage=new PageVO<>(); PageVO<List<PartyMemberAnalysisVO>> memberPage=new PageVO<>(); @@ -1480,10 +1607,10 @@ activityVO.setPartyMemberList(memberPage); //党员数据 聚合 - Map<String, Long> map = new HashMap<>(); + Map<String, Double> map = new HashMap<>(); partyMemberAnalysisVOS.forEach(vo->{ String name = vo.getBelongTo(); - Long time = Long.valueOf(vo.getServiceTime()); + Double time = vo.getServiceTime(); if (map.containsKey(name)) { time += map.get(name); } @@ -1514,9 +1641,9 @@ endTime=year.toString().concat("-12-31"); } //获取单位活动统计数据(邻里圈) - List<UnitActivityAnalysisVO> unitActivityAnalysisVOS = comActNeighborCircleDAO.institutionalUnitServiceAnalysis(beginTime, endTime, belongTo,communityId); + List<UnitActivityAnalysisVO> unitActivityAnalysisVOS = comActNeighborCircleDAO.institutionalUnitServiceAnalysis(beginTime, endTime, belongTo,communityId,null); //获取单位活动统计数据(活动) - List<UnitActivityAnalysisVO> unitActivityAnalysisVOS1 = comActNeighborCircleDAO.institutionalUnitActivityAnalysis(beginTime, endTime, belongTo,communityId); + List<UnitActivityAnalysisVO> unitActivityAnalysisVOS1 = comActNeighborCircleDAO.institutionalUnitActivityAnalysis(beginTime, endTime, belongTo,communityId,null); if (!unitActivityAnalysisVOS.isEmpty()){ for (UnitActivityAnalysisVO unitActivityAnalysisVO : unitActivityAnalysisVOS){ if (ObjectUtils.isNotEmpty(unitActivityAnalysisVO)){ @@ -1540,7 +1667,7 @@ Map<String, Integer> param = alreadyAnalysis(vo.getUnitId(), unitActivityAnalysisVOS); if (param.get("flag")==1){ //已有数据,将时长,次数相加 - Integer serviceTime = vo.getServiceTime(); + Double serviceTime = vo.getServiceTime(); Integer serviceTimes = vo.getServiceTimes(); unitActivityAnalysisVOS.get(param.get("index")).setServiceTime(unitActivityAnalysisVOS.get(param.get("index")).getServiceTime()+serviceTime); unitActivityAnalysisVOS.get(param.get("index")).setServiceTimes(unitActivityAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes); @@ -1615,7 +1742,7 @@ if (ObjectUtils.isNotEmpty(vo.getMemberId())){ Map<String, Integer> param = memberAlreadyAnalysis(vo.getMemberId(), partyMemberAnalysisVOS); if (param.get("flag")==1){ - Integer serviceTime = vo.getServiceTime(); + Double serviceTime = vo.getServiceTime(); Integer serviceTimes = vo.getServiceTimes(); partyMemberAnalysisVOS.get(param.get("index")).setServiceTime(partyMemberAnalysisVOS.get(param.get("index")).getServiceTime()+serviceTime); partyMemberAnalysisVOS.get(param.get("index")).setServiceTimes(partyMemberAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes); -- Gitblit v1.7.1