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 | 106 +++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 74 insertions(+), 32 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 8ea5f56..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"); @@ -1518,12 +1522,51 @@ if (comActActActRegistDO == null) { return R.fail("未签到无法签退"); } -// if (comActActActRegistDO.getEndTime() != null) { -// return R.fail("无法重复签退2"); -// } + 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=jinhuiCommunityService.coinTableGetDetails(userId+""); - JinhuiCoinGeneralTable table=(JinhuiCoinGeneralTable)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