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/ComActActEvaluateServiceImpl.java | 54 +++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 43 insertions(+), 11 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActEvaluateServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActEvaluateServiceImpl.java index ae2e725..f88f293 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActEvaluateServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActEvaluateServiceImpl.java @@ -6,7 +6,6 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; -import java.util.Objects; import java.util.stream.Collectors; import javax.annotation.Resource; @@ -21,10 +20,13 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActActEvaluateVO; +import com.panzhihua.common.model.vos.community.MyActivityEvaluateVO; import com.panzhihua.service_community.dao.ComActActEvaluateDAO; +import com.panzhihua.service_community.dao.ComActActRegistDAO; import com.panzhihua.service_community.dao.ComActActSignDAO; import com.panzhihua.service_community.dao.ComActActivityDAO; import com.panzhihua.service_community.model.dos.ComActActEvaluateDO; +import com.panzhihua.service_community.model.dos.ComActActRegistDO; import com.panzhihua.service_community.model.dos.ComActActSignDO; import com.panzhihua.service_community.model.dos.ComActActivityDO; import com.panzhihua.service_community.service.ComActActEvaluateService; @@ -47,6 +49,8 @@ private ComActActivityDAO comActActivityDAO; @Resource private ComActActSignDAO comActActSignDAO; + @Resource + private ComActActRegistDAO comActActRegistDAO; /** * 社区活动评价 * @@ -64,14 +68,22 @@ if (isNull(comActActivityDO)) { return R.fail("活动不存在"); } + ComActActSignDO comActActSignDO = comActActSignDAO + .selectOne(new QueryWrapper<ComActActSignDO>().lambda().eq(ComActActSignDO::getActivityId, activityId) + .eq(ComActActSignDO::getUserId, userId).eq(ComActActSignDO::getStatus, 1)); + if (isNull(comActActSignDO)) { + return R.fail("活动未报名"); + } Date beginAt = comActActivityDO.getBeginAt(); Date nowDate = new Date(); Integer isQrCode = comActActivityDO.getIsQrCode(); if (nonNull(isQrCode) && isQrCode.equals(1)) { //需要签到类型 - int evaluateCount = this.baseMapper.selectCount(new QueryWrapper<ComActActEvaluateDO>() - .lambda().eq(ComActActEvaluateDO::getUserId, userId).eq(ComActActEvaluateDO::getActivityId, activityId)); - if (evaluateCount <= 0) { + int registCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>() + .lambda().eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getActivityId, activityId)); + int evaluateCount = this.baseMapper.selectCount(new QueryWrapper<ComActActEvaluateDO>().lambda() + .eq(ComActActEvaluateDO::getUserId, userId).eq(ComActActEvaluateDO::getActivityId, activityId)); + if (registCount <= evaluateCount) { //未签到,不能评价 return R.fail("未签到,不能评价"); } @@ -80,13 +92,9 @@ return R.fail("活动还未开始,暂不支持评价"); } } - ComActActEvaluateDO currentUserEvaluateForThisActivity = this.baseMapper.selectOne(new QueryWrapper<ComActActEvaluateDO>() - .lambda().eq(ComActActEvaluateDO::getActivityId, activityId).eq(ComActActEvaluateDO::getUserId, userId)); - if (Objects.nonNull(currentUserEvaluateForThisActivity)) { - return R.fail("该用户已评论过了,请勿重复评论"); - } ComActActEvaluateDO comActActEvaluateDO = new ComActActEvaluateDO(); BeanUtils.copyProperties(comActActEvaluateVO, comActActEvaluateDO); + comActActEvaluateDO.setSignIdentity(comActActSignDO.getSignIdentity()); int result = this.baseMapper.insert(comActActEvaluateDO); if (result < 0) { return R.fail("评论失败,请重试"); @@ -113,7 +121,7 @@ List<ComActActEvaluateDO> comActActEvaluateDOList = comActActSignDOS.stream().map(comActActSignDO -> { ComActActEvaluateDO comActActEvaluateDO = new ComActActEvaluateDO(); comActActEvaluateDO.setActivityId(comActActSignDO.getActivityId()); - comActActEvaluateDO.setIsVolunteer(comActActSignDO.getIsVolunteer()); + comActActEvaluateDO.setSignIdentity(comActActSignDO.getSignIdentity()); comActActEvaluateDO.setUserId(comActActSignDO.getUserId()); comActActEvaluateDO.setCreateAt(new Date()); comActActEvaluateDO.setStarLevel(5); @@ -146,7 +154,7 @@ public R listEvaluate(Long userId) { List<ComActActEvaluateDO> comActActEvaluateDOList = this.baseMapper.selectList(new QueryWrapper<ComActActEvaluateDO>() .lambda().eq(ComActActEvaluateDO::getUserId, userId)); - ArrayList<ComActActEvaluateVO> comActActEvaluateVOS = new ArrayList<>(); + List<ComActActEvaluateVO> comActActEvaluateVOS = new ArrayList<>(); if (!ObjectUtils.isEmpty(comActActEvaluateDOList)) { comActActEvaluateDOList.forEach(comActActEvaluateDO -> { ComActActEvaluateVO comActActEvaluateVO = new ComActActEvaluateVO(); @@ -156,4 +164,28 @@ } return R.ok(comActActEvaluateVOS); } + + /** + * 我的评价 + * @param userId + * @param activityId + * @return + */ + @Override + public R listMyActivityEvaluate(Long userId, Long activityId) { + ComActActivityDO comActActivityDO = comActActivityDAO.selectById(activityId); + if (isNull(comActActivityDO)) { + return R.fail("活动不存在"); + } + List<ComActActEvaluateVO> comActActEvaluateVOS = this.baseMapper.selectEvaluateList(activityId, userId); + int regCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>() + .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId)); + + MyActivityEvaluateVO evaluateVO = new MyActivityEvaluateVO(); + evaluateVO.setMyEvaluateList(comActActEvaluateVOS); + boolean needDisplay = regCount > comActActEvaluateVOS.size() && + new Date().before(DateUtils.addDays(comActActivityDO.getEndAt(), 3)); + evaluateVO.setIsDisplay(needDisplay ? 1 : 0); + return R.ok(evaluateVO); + } } -- Gitblit v1.7.1