liujie
2025-06-09 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb
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");
@@ -1519,11 +1523,50 @@
                return R.fail("未签到无法签退");
            }
            if (comActActActRegistDO.getEndTime() != null) {
                return R.fail("无法重复签退2");
                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+"");