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 |  117 +++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 71 insertions(+), 46 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 ffac249..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,6 +1199,7 @@
                 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());
@@ -1265,9 +1267,9 @@
         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);
 
@@ -1298,10 +1300,10 @@
                         item.setCommunityName(comActDAO.selectById(item.getCommunityId()).getName());
                     }
 
-                    double time=(Double.valueOf(item.getServiceTime())/3600000);
+                    Double time=(item.getServiceTime()/3600000);
                     DecimalFormat df = new DecimalFormat("#.##");
                     String formattedNumber = df.format(time);
-                    double result = Double.parseDouble(formattedNumber);
+                    Double result = Double.parseDouble(formattedNumber);
                     item.setServiceTime(result);
                 }
             }
@@ -1341,6 +1343,7 @@
         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);
@@ -1349,14 +1352,11 @@
                             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);
 
-                            double time=(Double.valueOf(serviceTime)/3600000);
-                            DecimalFormat df = new DecimalFormat("#.##");
-                            String formattedNumber = df.format(time);
-                            double result = Double.parseDouble(formattedNumber);
-                            item.setServiceTime(result);
-
-                            unitActivityAnalysisVOS.get(param.get("index")).setServiceTime(result);
+                            unitActivityAnalysisVOS.get(param.get("index")).setServiceTime(result2);
                             unitActivityAnalysisVOS.get(param.get("index")).setServiceTimes(unitActivityAnalysisVOS.get(param.get("index")).getServiceTimes()+serviceTimes);
                         }else {
                             //新数据,获取单位,社区名
@@ -1369,6 +1369,7 @@
                                     item.setCommunityName(actDO.getName());
                                 }
                             }
+
                             unitActivityAnalysisVOS.add(item);
                         }
                     }
@@ -1405,7 +1406,11 @@
         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);
@@ -1413,20 +1418,15 @@
                             Double serviceTime = partyMemberAnalysisVOS.get(param.get("index")).getServiceTime()+item.getServiceTime();
                             Integer serviceTimes = item.getServiceTimes();
 
-                            double time=(serviceTime/3600000);
-                            DecimalFormat df = new DecimalFormat("#.##");
-                            String formattedNumber = df.format(time);
-                            double result = Double.parseDouble(formattedNumber);
-                            item.setServiceTime(result);
-                            partyMemberAnalysisVOS.get(param.get("index")).setServiceTime(result);
+                            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{
 
-                            double time=(item.getServiceTime()/3600000);
-                            DecimalFormat df = new DecimalFormat("#.##");
-                            String formattedNumber = df.format(time);
-                            double result = Double.parseDouble(formattedNumber);
-                            item.setServiceTime(result);
+
                             partyMemberAnalysisVOS.add(item);
                         }
                     }
@@ -1447,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();
             }
@@ -1458,32 +1458,48 @@
 //                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);
         }
 
         //统计总时长和总次数
@@ -1559,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<>();
@@ -1616,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)){

--
Gitblit v1.7.1