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 |   92 ++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 89 insertions(+), 3 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 d1cdc55..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,15 +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.service_community.dao.ComActActEvaluateDAO;
-import com.panzhihua.service_community.dao.ComActActRegistDAO;
+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;
 
@@ -25,13 +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;
@@ -48,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
@@ -58,6 +68,10 @@
     private ComActActEvaluateDAO comActActEvaluateDAO;
     @Resource
     private ComActActRegistDAO comActActRegistDAO;
+    @Resource
+    private StringRedisTemplate stringRedisTemplate;
+    @Resource
+    private ComActActPictureDAO comActActPictureDAO;
 
     /**
      * 新增社区活动
@@ -94,6 +108,13 @@
             .eq(ComActActivityDO::getActivityName, comActActivityDO.getActivityName())
             .orderByDesc(ComActActivityDO::getCreateAt).last(" limit 1 "));
         Long activityId = one.getId();
+
+        //保存上传照片
+        ComActActPictureDO comActActPictureDO = new ComActActPictureDO();
+        comActActPictureDO.setActivityId(activityId);
+        comActActPictureDO.setUserId(comActActivityVO.getUserId());
+        comActActPictureDO.setUploadPicture(comActActivityVO.getCover());
+        comActActPictureDAO.insert(comActActPictureDO);
         return R.ok(activityId);
     }
 
@@ -302,6 +323,11 @@
     }
 
     @Override
+    public R getNoRegistLists(ComActActRegistVO comActActRegistVO) {
+        return R.ok(comActActRegistDAO.getNoRegistLists(comActActRegistVO));
+    }
+
+    @Override
     public R activityStatistics(Long activityId) {
         ComActActivityStatisticsVO comActActivityStatisticsVO = comActActivityDAO.activityStatistics(activityId);
         if (comActActivityStatisticsVO != null) {
@@ -318,6 +344,21 @@
             comActActivityStatisticsVO.setEvaluatePersent(getPersent(comActActivityStatisticsVO.getReallyEvaluateTotal(),comActActivityStatisticsVO.getEvaluateTotal()));
         }
         return R.ok(comActActivityStatisticsVO);
+    }
+
+    @Override
+    public R getPictureList(Long userId) {
+        List<ComActActPictureVO> comActActPictureVOS = new ArrayList<>();
+        List<ComActActPictureDO> comActActPictureDOS = comActActPictureDAO.selectList(new QueryWrapper<ComActActPictureDO>().lambda().
+                eq(ComActActPictureDO::getUserId, userId));
+        if (comActActPictureDOS != null && comActActPictureDOS.size() != 0) {
+            comActActPictureDOS.forEach(comActActPictureDO -> {
+                ComActActPictureVO comActActPictureVO = new ComActActPictureVO();
+                BeanUtils.copyProperties(comActActPictureDO, comActActPictureVO);
+                comActActPictureVOS.add(comActActPictureVO);
+            });
+        }
+        return R.ok(comActActPictureVOS);
     }
 
     /**
@@ -676,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