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/ComActActivityServiceImpl.java |  100 +++++++++++++++++++++++++++++++++++--------------
 1 files changed, 71 insertions(+), 29 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java
index a26b627..0db992d 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java
@@ -183,7 +183,9 @@
             comActActivityDO.setIsProject(1);
         }
         if(comActActivityVO.getType()==5){
-            comPbCheckUnitDao.selectOne(new QueryWrapper<ComPbCheckUnit>().lambda().eq(ComPbCheckUnit::getAdminPhone,comActActivityVO.getPhone()).last("limit 1"));
+            //TODO 查询然后呢? 值都没给...
+            comPbCheckUnitDao.selectOne(new QueryWrapper<ComPbCheckUnit>().lambda()
+                    .eq(ComPbCheckUnit::getAdminPhone,comActActivityVO.getPhone()).last("limit 1"));
         }
 
         boolean save = this.save(comActActivityDO);
@@ -747,7 +749,7 @@
         if(!isNull(type)){
             comActActivityDOS=comActActivityDOS.stream().filter(comActActivityDO -> comActActivityDO.getType().equals(type)).collect(Collectors.toList());
         }
-        if (!comActActivityDOS.isEmpty()) {
+        if (comActActivityDOS != null  ) {
             comActActivityDOS.forEach(comActActivityDO -> {
                 ComActActivityVO comActActivityVO = new ComActActivityVO();
                 BeanUtils.copyProperties(comActActivityDO, comActActivityVO);
@@ -759,7 +761,7 @@
                 comActActivityVO.setIsRegist(0);
                 ActivitySignVO activitySignVO = collect.get(0);
                 Integer activityStatus = comActActivityVO.getStatus();
-                if (activityStatus.intValue() == 3) {
+                if (activityStatus !=null && activityStatus == 3) {
                     comActActivityVO.setStatus(4);
                 }
                 Date createAt = null;
@@ -842,7 +844,7 @@
         // 修改报名状态 变为报名中
 //        int num1 = comActActivityDAO.updateStatusToBeginSign();
 //        log.info("定时任务--修改社区活动报名状态活动数量【{}】", num1);
-        // 查询已经结束的活动,需要计算积分
+        //报名结束 通知参与用户
         List<Long> activityEndIds = comActActivityDAO.selectBeginIds();
         WxMaService maService = wxMaConfiguration.getMaService("wx118de8a734d269f0");
         if(!CollectionUtils.isEmpty(activityEndIds)){
@@ -860,6 +862,7 @@
                 }
             });
         }
+        //报名时间结束 活动变更 进行中
         int num3 = comActActivityDAO.updateStatusToBeginAfterSingEnd();
         log.info("定时任务--报名结束修改社区活动进行状态活动数量【{}】", num3);
         // 修改进行状态 变为进行中或者已结束
@@ -867,6 +870,7 @@
         if(!CollectionUtils.isEmpty(ids)){
             int num2 = comActActivityDAO.updateStatusToBeginActiveOrEnd();
             log.info("定时任务--修改社区活动进行状态活动数量【{}】", num2);
+            //通知用户 活动结束
             ids.forEach(id ->{
                 List<String> openIds=comActActivityDAO.selectOpenIdByActivityId(id);
                 if(!CollectionUtils.isEmpty(openIds)){
@@ -908,12 +912,12 @@
         page.setCurrent(pageNum);
         Long communityId = comActActivityVO.getCommunityId();
         if (null != communityId){
-            List<Long> communityIds = comActDAO.selectIds(communityId);
-            if (CollUtil.isEmpty(communityIds)) {
-                communityIds = new ArrayList<>();
-                communityIds.add(communityId);
-            }
-            comActActivityVO.setCommunityIds(communityIds);
+//            List<Long> communityIds = comActDAO.selectIds(communityId);
+//            if (CollUtil.isEmpty(communityIds)) {
+//                communityIds = new ArrayList<>();
+//                communityIds.add(communityId);
+//            }
+            comActActivityVO.setCommunityIds(Arrays.asList( comActActivityVO.getCommunityId() ));
         }
         IPage<ComActActivityVO> iPage = comActActivityDAO.pageActivityCommunityBack(page, comActActivityVO);
         iPage.getRecords().forEach(vo ->{
@@ -1364,10 +1368,10 @@
                     ComActActivityInvite activityInvite = comActActivityInviteService.getBaseMapper().selectOne(new LambdaQueryWrapper<ComActActivityInvite>()
                             .eq(ComActActivityInvite::getActivityId, activityId).eq(ComActActivityInvite::getUserId, userId));
                     if (isNull(activityInvite)) {
-                        int count = pbMemberDAO.checkIsPbMember(userId);
-                        if (count < 1) {
-                            return R.fail(HttpStatus.NOT_ACCEPTABLE, "您还不是党员");
-                        }
+//                        int count = pbMemberDAO.checkIsPbMember(userId);
+//                        if (count < 1) {
+//                            return R.fail(HttpStatus.NOT_ACCEPTABLE, "您还不是党员");
+//                        }
                         // 查询当前活动下参与志愿者
                         Integer partyMemberCount = comActActSignDAO.selectCount(new QueryWrapper<ComActActSignDO>().lambda()
                                 .eq(ComActActSignDO::getActivityId, activityId).eq(ComActActSignDO::getSignIdentity, 2)
@@ -1384,10 +1388,10 @@
                     if (volunteerMax == null) {
                         return R.fail("活动暂未对志愿者开放");
                     }
-                    int count = pbMemberDAO.checkIsVolunteer(userId);
-                    if (count < 1) {
-                        return R.fail(HttpStatus.NOT_ACCEPTABLE, "您还不是志愿者");
-                    }
+//                    int count = pbMemberDAO.checkIsVolunteer(userId);
+//                    if (count < 1) {
+//                        return R.fail(HttpStatus.NOT_ACCEPTABLE, "您还不是志愿者");
+//                    }
                     // 查询当前活动下参与志愿者
                     Integer volunteerCount = comActActSignDAO.selectCount(new QueryWrapper<ComActActSignDO>().lambda()
                             .eq(ComActActSignDO::getActivityId, activityId).eq(ComActActSignDO::getSignIdentity, 3).eq(ComActActSignDO::getStatus, 1));
@@ -1440,16 +1444,16 @@
                 if(!StringUtils.isEmpty(actActivityDO.getJinhuiCoinPunishment()) && !StringUtils.equals(actActivityDO.getJinhuiCoinPunishment(),"0"))
                 {
                     //查询个人金汇币总额
-                    R<JinhuiCoinGeneralTable>  jinhuiCoinGeneralTable=jinhuiCommunityService.coinTableGetDetails(userId+"");
+                    JinhuiCoinGeneralTable  jinhuiCoinGeneralTable=comActActRegistDAO.getDetails(userId+"");
                     if(jinhuiCoinGeneralTable!=null)
                     {
-                        if (!StringUtils.isEmpty(jinhuiCoinGeneralTable.getData().getGoldCoin()))
+                        if (!StringUtils.isEmpty(jinhuiCoinGeneralTable.getGoldCoin()))
                         {
                             JinhuiCoinGeneralTableVO jinhuiVO=new JinhuiCoinGeneralTableVO();
-                            jinhuiVO.setId(jinhuiCoinGeneralTable.getData().getId());
+                            jinhuiVO.setId(jinhuiCoinGeneralTable.getId());
 
                             int punishmentGold=Integer.valueOf(actActivityDO.getJinhuiCoinPunishment());
-                            int allGold=Integer.valueOf(jinhuiCoinGeneralTable.getData().getGoldCoin());
+                            int allGold=Integer.valueOf(jinhuiCoinGeneralTable.getGoldCoin());
                             if(punishmentGold>=allGold)
                             {
                                 jinhuiVO.setGoldCoin("0");
@@ -1521,9 +1525,48 @@
             if (comActActActRegistDO.getEndTime() != null) {
                 return R.fail("无法重复签退");
             }
+
+            //1.居民 2.党员 3.志愿者
+            switch (comActActActRegistDO.getSignIdentity())
+            {
+                case 1:
+                    if(comActActivityDO.getParticipantRewardWay()==2)
+                    {
+                        int hours = com.panzhihua.common.utlis.DateUtils.getHour(comActActActRegistDO.getStartTime(), comActActActRegistDO.getEndTime());
+                        if(hours>1)
+                        {
+                            rewardIntegral=rewardIntegral * hours;
+                        }
+                    }
+                    break;
+
+                case 2:
+                    if(comActActivityDO.getPbRewardWay()==2)
+                    {
+                        int hours = com.panzhihua.common.utlis.DateUtils.getHour(comActActActRegistDO.getStartTime(), comActActActRegistDO.getEndTime());
+                        if(hours>1)
+                        {
+                            rewardIntegral=rewardIntegral * hours;
+                        }
+                    }
+                    break;
+
+                case 3:
+                    if(comActActivityDO.getVolunteerRewardWay()==2)
+                    {
+                        int hours = com.panzhihua.common.utlis.DateUtils.getHour(comActActActRegistDO.getStartTime(), comActActActRegistDO.getEndTime());
+                        if(hours>1)
+                        {
+                            rewardIntegral=rewardIntegral * hours;
+                        }
+                    }
+                    break;
+            }
+
             comActActRegistDO.setId(comActActActRegistDO.getId());
             comActActRegistDO.setEndTime(nowDate);
-            comActActRegistDO.setAward(0);
+            comActActRegistDO.setAward(rewardIntegral);
+
             int result = comActActRegistDAO.updateById(comActActRegistDO);
             if (result > 0) {
                 if (isHave) {
@@ -1538,16 +1581,15 @@
 //                    comActIntegralUserTradeService.addIntegralTradeAdmin(addComActIntegralUserDTO);
 
                     //查询个人金汇币总额
-                    R<JinhuiCoinGeneralTable> jinhuiCoinGeneralTable=jinhuiCommunityService.coinTableGetDetails(userId+"");
-                    JinhuiCoinGeneralTable table=jinhuiCoinGeneralTable.getData();
-                    if(table!=null)
+                    JinhuiCoinGeneralTable jinhuiCoinGeneralTable=comActActRegistDAO.getDetails(userId+"");
+                    if(jinhuiCoinGeneralTable!=null)
                     {
                         JinhuiCoinGeneralTableVO jinhuiVO=new JinhuiCoinGeneralTableVO();
-                        jinhuiVO.setId(table.getId());
+                        jinhuiVO.setId(jinhuiCoinGeneralTable.getId());
                         int allGold=0;
-                        if (!StringUtils.isEmpty(table.getGoldCoin()))
+                        if (!StringUtils.isEmpty(jinhuiCoinGeneralTable.getGoldCoin()))
                         {
-                            allGold=Integer.valueOf(table.getGoldCoin());
+                            allGold=Integer.valueOf(jinhuiCoinGeneralTable.getGoldCoin());
                         }
                         allGold=allGold+rewardIntegral;
                         jinhuiVO.setGoldCoin(allGold+"");

--
Gitblit v1.7.1