From 8961d05a46aa30c73c3b85cd25da884a17c00e67 Mon Sep 17 00:00:00 2001
From: puhanshu <a9236326>
Date: 星期二, 19 十月 2021 17:29:40 +0800
Subject: [PATCH] 活动积分优化相关代码提交

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java |   74 ++++++++++++++++++++++++++++++-------
 1 files changed, 60 insertions(+), 14 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 4ba9b45..bf91110 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
@@ -7,6 +7,7 @@
 import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.text.DecimalFormat;
+import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
@@ -18,7 +19,9 @@
 
 import com.panzhihua.common.model.dtos.community.integral.admin.AddComActIntegralUserDTO;
 import com.panzhihua.service_community.dao.*;
+import com.panzhihua.service_community.entity.ComActActivityCode;
 import com.panzhihua.service_community.model.dos.*;
+import com.panzhihua.service_community.service.ComActActivityCodeService;
 import com.panzhihua.service_community.service.ComActIntegralUserTradeService;
 import org.apache.commons.lang3.time.DateUtils;
 import org.springframework.beans.BeanUtils;
@@ -86,6 +89,8 @@
     private ComBpActivityDAO comBpActivityDAO;
     @Resource
     private ComActIntegralUserTradeService comActIntegralUserTradeService;
+    @Resource
+    private ComActActivityCodeService comActActivityCodeService;
 
     /**
      * 新增社区活动
@@ -130,6 +135,13 @@
         comActActPictureDO.setUploadPicture(comActActivityVO.getCover());
         comActActPictureDO.setSysFlag(0);
         comActActPictureDAO.insert(comActActPictureDO);
+
+        ComActActivityCode comActActivityCode = new ComActActivityCode();
+        comActActivityCode.setActivityId(comActActivityDO.getId().longValue());
+        comActActivityCode.setCreateTime(new Date());
+        comActActivityCode.setType(1);
+        comActActivityCode.setStatus(1);
+        comActActivityCodeService.save(comActActivityCode);
         return R.ok(activityId);
     }
 
@@ -487,9 +499,17 @@
                 log.error(e.getMessage());
             }
         } else {
-            num = comActActSignDAO
-                .delete(new QueryWrapper<ComActActSignDO>().lambda().eq(ComActActSignDO::getUserId, userId)
-                    .eq(ComActActSignDO::getActivityId, activityId).eq(ComActActSignDO::getIsVolunteer, isVolunteer));
+            if (isNull(signactivityVO.getReason())) {
+                return R.fail("缺少取消原因");
+            }
+            ComActActSignDO comActActSignDO = comActActSignDAO.selectOne(new QueryWrapper<ComActActSignDO>()
+                    .lambda().eq(ComActActSignDO::getActivityId, activityId).eq(ComActActSignDO::getUserId, userId));
+            if (isNull(comActActSignDO)) {
+                return R.fail("未报名");
+            }
+            comActActSignDO.setStatus(0);
+            comActActSignDO.setReason(signactivityVO.getReason());
+            num = comActActSignDAO.updateById(comActActSignDO);
         }
         if (num > 0) {
             return R.ok();
@@ -506,23 +526,22 @@
      */
     @Override
     public R listActivity(Long userId) {
-        List<ComActActSignDO> comActActSignDOS = comActActSignDAO
-            .selectList(new QueryWrapper<ComActActSignDO>().lambda().eq(ComActActSignDO::getUserId, userId));
-        if (ObjectUtils.isEmpty(comActActSignDOS)) {
+        List<ActivitySignVO> activitySignVOList = comActActSignDAO.selectList(userId);
+        if (ObjectUtils.isEmpty(activitySignVOList)) {
             return R.fail();
         }
-        List<Long> longs = comActActSignDOS.stream().map(comActActSignDO -> comActActSignDO.getActivityId())
+        List<Long> longs = activitySignVOList.stream().map(activitySignVO -> activitySignVO.getActivityId())
             .collect(Collectors.toList());
         List<ComActActivityDO> comActActivityDOS = comActActivityDAO.selectBatchIds(longs);
         List<ComActActivityVO> comActActivityVOS = new ArrayList<>();
         comActActivityDOS.forEach(comActActivityDO -> {
             ComActActivityVO comActActivityVO = new ComActActivityVO();
             BeanUtils.copyProperties(comActActivityDO, comActActivityVO);
-            List<ComActActSignDO> collect = comActActSignDOS.stream()
-                .filter(comActActSignDO -> comActActSignDO.getActivityId().equals(comActActivityVO.getId())).limit(1)
+            List<ActivitySignVO> collect = activitySignVOList.stream()
+                .filter(activitySignVO -> activitySignVO.getActivityId().equals(comActActivityVO.getId())).limit(1)
                 .collect(Collectors.toList());
-            ComActActSignDO comActActSignDO = collect.get(0);
-            Integer isVolunteer = comActActSignDO.getIsVolunteer();
+            ActivitySignVO activitySignVO = collect.get(0);
+            Integer isVolunteer = activitySignVO.getIsVolunteer();
             if (isVolunteer.intValue() == 1) {
                 comActActivityVO.setType(1);
             } else {
@@ -532,9 +551,15 @@
             if (status.intValue() == 3) {
                 comActActivityVO.setStatus(4);
             }
-            comActActivityVO.setSingDate(comActActSignDOS.stream()
-                .filter(comActActSignDO1 -> comActActSignDO1.getActivityId().equals(comActActivityVO.getId()))
-                .collect(Collectors.toList()).get(0).getCreateAt());
+            Date createAt = null;
+            try {
+                createAt = DateUtils.parseDate(activitySignVO.getCreateAt());
+            } catch (ParseException e) {
+                log.error("时间转换异常{【】}", e.getMessage());
+            }
+            comActActivityVO.setSingDate(createAt);
+            comActActivityVO.setTimes(activitySignVO.getTimes());
+            comActActivityVO.setAward(activitySignVO.getAward());
             comActActivityVOS.add(comActActivityVO);
         });
         return R.ok(comActActivityVOS);
@@ -912,4 +937,25 @@
         });
         return R.ok(comActActRegistVOS);
     }
+
+    /**
+     * 获取活动报名签到记录
+     * @param id 活动主键id
+     * @return
+     */
+    @Override
+    public R listSignInRecord(Long id) {
+        return R.ok(comActActSignDAO.listSignInRecord(id));
+    }
+
+    /**
+     * 活动签到记录
+     * @param id 活动主键
+     * @param userId 用户id
+     * @return
+     */
+    @Override
+    public R listRegistRecord(Long id, Long userId) {
+        return R.ok(comActActRegistDAO.listRegistRecord(id, userId));
+    }
 }

--
Gitblit v1.7.1