From 85ee847ebfe6dd7e12fb417c99c45561cbd9632b Mon Sep 17 00:00:00 2001 From: puhanshu <a9236326> Date: 星期一, 13 九月 2021 17:18:02 +0800 Subject: [PATCH] 修复签到/评价未在正确的时间内进行的问题 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java | 65 ++++++++++++++++++++++---------- 1 files changed, 44 insertions(+), 21 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 f8ea3ea..13bbfeb 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 @@ -1,21 +1,22 @@ package com.panzhihua.service_community.service.impl; +import static java.util.Objects.isNull; +import static org.apache.commons.lang3.StringUtils.isBlank; +import static org.apache.commons.lang3.StringUtils.isNotBlank; + import java.text.DecimalFormat; -import java.util.*; -import java.util.concurrent.TimeUnit; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import javax.annotation.Resource; -import com.panzhihua.common.model.vos.community.*; -import com.panzhihua.common.model.vos.screen.ComActPopulationCultureVO; -import com.panzhihua.service_community.dao.*; -import com.panzhihua.service_community.model.dos.ComActActEvaluateDO; -import com.panzhihua.service_community.model.dos.ComActActPictureDO; import org.apache.commons.lang3.time.DateUtils; import org.springframework.beans.BeanUtils; import org.springframework.data.redis.core.StringRedisTemplate; -import org.springframework.data.redis.core.ValueOperations; import org.springframework.stereotype.Service; import org.springframework.util.ObjectUtils; @@ -30,26 +31,32 @@ import com.panzhihua.common.model.vos.IndexDataVO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.ActivitySignVO; +import com.panzhihua.common.model.vos.community.ComActActEvaluateVO; +import com.panzhihua.common.model.vos.community.ComActActPictureVO; +import com.panzhihua.common.model.vos.community.ComActActRegistVO; +import com.panzhihua.common.model.vos.community.ComActActivityStatisticsVO; +import com.panzhihua.common.model.vos.community.ComActActivityVO; +import com.panzhihua.common.model.vos.community.CommunityActivitiesVO; +import com.panzhihua.common.model.vos.community.CommunityGovernanceTrendsVO; +import com.panzhihua.common.model.vos.community.SignactivityVO; import com.panzhihua.common.model.vos.community.screen.work.ActActivityListVO; import com.panzhihua.common.service.user.UserService; import com.panzhihua.common.utlis.WxUtil; import com.panzhihua.common.utlis.WxXCXTempSend; import com.panzhihua.service_community.dao.ComActActEvaluateDAO; +import com.panzhihua.service_community.dao.ComActActPictureDAO; 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.ComActActPictureDO; 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.ComActActivityService; 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 @@ -773,6 +780,7 @@ @Override public R activitySignIn(ComActActRegistVO comActActRegistVO) { Long activityId = comActActRegistVO.getActivityId(); + Long userId = comActActRegistVO.getUserId(); if (isNull(activityId)) { return R.fail("签到所属活动id不能为空!"); } @@ -780,22 +788,37 @@ 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)) { - return R.fail("你已签到,如要再次签到请三十分钟后尝试!"); + + Date beginAt = comActActivityDO.getBeginAt(); + Date endAt = comActActivityDO.getEndAt(); + Date nowDate = new Date(); + if (nowDate.before(beginAt) || nowDate.after(endAt)) { + return R.fail("不在活动时间范围内"); } + + int signCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>() + .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId)); + + if (signCount > 0) { + return R.fail("请勿重复签到"); + } + +// String activitySignInKey = String.join(DELIMITER, ACTIVITY_SIGN_IN, userId.toString(), activityId.toString()); +// if (stringRedisTemplate.hasKey(activitySignInKey)) { +// return R.fail("你已签到,如要再次签到请三十分钟后尝试!"); +// } ComActActRegistDO comActActRegistDO = new ComActActRegistDO(); comActActRegistDO.setActivityId(activityId); comActActRegistDO.setUserId(userId); comActActRegistDO.setIsVolunteer(comActActRegistVO.getIsVolunteer()); - comActActRegistDO.setCreateAt(new Date()); + comActActRegistDO.setCreateAt(nowDate); int result = comActActRegistDAO.insert(comActActRegistDO); if (result > 0) { - ValueOperations<String, String> opsForValue = stringRedisTemplate.opsForValue(); - opsForValue.set(activitySignInKey, "", 1800L, TimeUnit.SECONDS); +// ValueOperations<String, String> opsForValue = stringRedisTemplate.opsForValue(); +// opsForValue.set(activitySignInKey, "", 1800L, TimeUnit.SECONDS); + return R.ok(); } - return R.ok(); + return R.fail("网络错误,请重试"); } /** -- Gitblit v1.7.1