From 321ebdf330ad299e87132cc51a6c3affe3f51e4d Mon Sep 17 00:00:00 2001 From: manailin <261030956@qq.com> Date: 星期五, 10 九月 2021 11:24:16 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/test' into test --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java | 69 ++++++++++++++++++++++++++-------- 1 files changed, 53 insertions(+), 16 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 288a8d7..25ce9da 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 @@ -46,6 +46,11 @@ import lombok.extern.slf4j.Slf4j; +import static java.util.Objects.isNull; +import static java.util.Objects.nonNull; +import static org.apache.commons.lang3.StringUtils.isBlank; +import static org.apache.commons.lang3.StringUtils.isNotBlank; + /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 社区活动 @@ -217,9 +222,20 @@ @Override public R releaseActivity(ComActActivityVO comActActivityVO) { ComActActivityDO comActActivityDO = new ComActActivityDO(); - comActActivityDO.setId(comActActivityVO.getId()); +// comActActivityDO.setId(comActActivityVO.getId()); +// comActActivityDO.setPublishAt(comActActivityVO.getPublishAt()); +// comActActivityDO.setStatus(comActActivityVO.getStatus()); + comActActivityDO = comActActivityDAO.selectById(comActActivityVO.getId()); comActActivityDO.setPublishAt(comActActivityVO.getPublishAt()); - comActActivityDO.setStatus(comActActivityVO.getStatus()); + if (comActActivityVO.getPublishAt().before(comActActivityDO.getSignUpBegin())) { + comActActivityVO.setStatus(2); + } + if (comActActivityVO.getPublishAt().after(comActActivityDO.getSignUpEnd())) { + comActActivityVO.setStatus(5); + } + if (comActActivityVO.getPublishAt().after(comActActivityDO.getSignUpBegin()) && comActActivityVO.getPublishAt().before(comActActivityDO.getSignUpEnd())) { + comActActivityVO.setStatus(3); + } int update = comActActivityDAO.updateById(comActActivityDO); if (update > 0) { return R.ok(); @@ -414,7 +430,11 @@ Integer type = signactivityVO.getType(); Long userId = signactivityVO.getUserId(); Integer isVolunteer = signactivityVO.getIsVolunteer(); - + // 查询社区活动 + ComActActivityDO actActivityDO = this.baseMapper.selectById(activityId); + if (isNull(actActivityDO)) { + return R.fail("活动不存在"); + } int num = 0; if (1 == type) { R<LoginUserInfoVO> userInfoR = userService.getUserInfoByUserId(String.valueOf(userId)); @@ -425,21 +445,31 @@ return R.fail("只有志愿者才能报名"); } - // 查询社区活动 - ComActActivityDO actActivityDO = this.baseMapper.selectById(activityId); - if (actActivityDO != null) { - // 查询当前活动下参与志愿者/居民数量 - Integer count = comActActSignDAO.selectCount(new QueryWrapper<ComActActSignDO>().lambda() - .eq(ComActActSignDO::getActivityId, activityId).eq(ComActActSignDO::getIsVolunteer, isVolunteer)); - if (isVolunteer.equals(1) && actActivityDO.getVolunteerMax() <= count - && !actActivityDO.getVolunteerMax().equals(-1)) { - return R.fail("志愿者报名人数已满"); - } + // 查询当前活动下参与志愿者/居民数量 + Integer count = comActActSignDAO.selectCount(new QueryWrapper<ComActActSignDO>().lambda() + .eq(ComActActSignDO::getActivityId, activityId).eq(ComActActSignDO::getIsVolunteer, isVolunteer)); + if (isVolunteer.equals(1) && actActivityDO.getVolunteerMax() <= count + && !actActivityDO.getVolunteerMax().equals(-1)) { + return R.fail("志愿者报名人数已满"); + } - if (isVolunteer.equals(0) && actActivityDO.getParticipantMax() <= count - && !actActivityDO.getParticipantMax().equals(-1)) { - return R.fail("居民报名人数已满"); + //审查用户是否有该活动报名权限(是否活动指定参与人群) + String currentUserTags = loginUserInfoVO.getTags(); + String attendPeople = actActivityDO.getAattendPeople(); + if (isNotBlank(attendPeople)) { + if (isBlank(currentUserTags)) { + return R.fail("您不是指定参与人群!"); } + List<String> currentUserTagList = Arrays.asList(currentUserTags.split(",")); + boolean checkResult = currentUserTagList.stream().anyMatch(currentUserTag -> attendPeople.contains(currentUserTag)); + if (!checkResult) { + return R.fail("您不是指定参与人群!"); + } + } + + if (isVolunteer.equals(0) && actActivityDO.getParticipantMax() <= count + && !actActivityDO.getParticipantMax().equals(-1)) { + return R.fail("居民报名人数已满"); } ComActActSignDO comActActSignDO = new ComActActSignDO(); @@ -742,6 +772,13 @@ @Override public R activitySignIn(ComActActRegistVO comActActRegistVO) { Long activityId = comActActRegistVO.getActivityId(); + if (isNull(activityId)) { + return R.fail("签到所属活动id不能为空!"); + } + ComActActivityDO comActActivityDO = comActActivityDAO.selectById(activityId); + if (isNull(comActActivityDO)) { + return R.fail("活动不存在!"); + } Long userId = comActActRegistVO.getUserId(); String activitySignInKey = String.join(DELIMITER, ACTIVITY_SIGN_IN, userId.toString(), activityId.toString()); if (stringRedisTemplate.hasKey(activitySignInKey)) { -- Gitblit v1.7.1