From a1ed31a624e7cf3d2f6c1c6582d853110c1867d0 Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期一, 06 九月 2021 10:19:20 +0800
Subject: [PATCH] bug修复

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java |   62 ++++++++++++++++++++++++++++++-
 1 files changed, 60 insertions(+), 2 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 70f92c8..a9cffc8 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
@@ -2,16 +2,20 @@
 
 import java.text.DecimalFormat;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 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;
 
@@ -26,11 +30,16 @@
 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.*;
 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.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.ComActActivityService;
@@ -47,6 +56,8 @@
 @Service
 public class ComActActivityServiceImpl extends ServiceImpl<ComActActivityDAO, ComActActivityDO>
     implements ComActActivityService {
+    private static final String DELIMITER = ":";
+    private static final String ACTIVITY_SIGN_IN = "ACTIVITY:SIGN:IN";
     @Resource
     private ComActActivityDAO comActActivityDAO;
     @Resource
@@ -57,6 +68,8 @@
     private ComActActEvaluateDAO comActActEvaluateDAO;
     @Resource
     private ComActActRegistDAO comActActRegistDAO;
+    @Resource
+    private StringRedisTemplate stringRedisTemplate;
     @Resource
     private ComActActPictureDAO comActActPictureDAO;
 
@@ -311,7 +324,7 @@
 
     @Override
     public R getNoRegistLists(ComActActRegistVO comActActRegistVO) {
-        return null;
+        return R.ok(comActActRegistDAO.getNoRegistLists(comActActRegistVO));
     }
 
     @Override
@@ -704,4 +717,49 @@
         return decimalFormat.format(d1 / d2);
     }
 
+    /**
+     * 用户签到
+     *
+     * @param comActActRegistVO 签到参数
+     * @return 签到结果
+     */
+    @Override
+    public R activitySignIn(ComActActRegistVO comActActRegistVO) {
+        Long activityId = comActActRegistVO.getActivityId();
+        Long userId = comActActRegistVO.getUserId();
+        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());
+        int result = comActActRegistDAO.insert(comActActRegistDO);
+        if (result > 0) {
+            ValueOperations<String, String> opsForValue = stringRedisTemplate.opsForValue();
+            opsForValue.set(activitySignInKey, "", 1800L, TimeUnit.SECONDS);
+        }
+        return R.ok();
+    }
+
+    /**
+     *用户签到记录列表
+     *
+     * @param userId 用id
+     * @return 用户签到列表
+     */
+    @Override
+    public R listSignInActivity(Long userId) {
+        List<ComActActRegistDO> comActActRegistDOS = comActActRegistDAO.selectList(new QueryWrapper<ComActActRegistDO>()
+                .lambda().eq(ComActActRegistDO::getUserId, userId));
+        ArrayList<ComActActRegistVO> comActActRegistVOS = new ArrayList<>();
+        comActActRegistDOS.forEach(comActActRegistDO -> {
+            ComActActRegistVO comActActRegistVO = new ComActActRegistVO();
+            BeanUtils.copyProperties(comActActRegistDO, comActActRegistVO);
+            comActActRegistVOS.add(comActActRegistVO);
+        });
+        return R.ok(comActActRegistVOS);
+    }
 }

--
Gitblit v1.7.1