From b048146fe01497f47f35f24c10b9bf1e3a06bdf6 Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期一, 18 十月 2021 15:18:57 +0800
Subject: [PATCH] 活动改版

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java |  139 +++++++++++++++++++++++++++++++++------------
 1 files changed, 101 insertions(+), 38 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 26afcc6..b9ead23 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
@@ -16,7 +16,10 @@
 
 import javax.annotation.Resource;
 
+import com.panzhihua.common.model.dtos.community.integral.admin.AddComActIntegralUserDTO;
 import com.panzhihua.service_community.dao.*;
+import com.panzhihua.service_community.model.dos.*;
+import com.panzhihua.service_community.service.ComActIntegralUserTradeService;
 import org.apache.commons.lang3.time.DateUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.data.redis.core.StringRedisTemplate;
@@ -47,11 +50,6 @@
 import com.panzhihua.common.service.user.UserService;
 import com.panzhihua.common.utlis.WxUtil;
 import com.panzhihua.common.utlis.WxXCXTempSend;
-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;
@@ -84,6 +82,10 @@
     private ComActActPictureDAO comActActPictureDAO;
     @Resource
     private ComActActivityCodeDao comActActivityCodeDao;
+    @Resource
+    private ComBpActivityDAO comBpActivityDAO;
+    @Resource
+    private ComActIntegralUserTradeService comActIntegralUserTradeService;
 
     /**
      * 新增社区活动
@@ -786,49 +788,110 @@
         if (isNull(activityId)) {
             return R.fail("签到所属活动id不能为空!");
         }
-        ComActActivityDO comActActivityDO = comActActivityDAO.selectById(activityId);
-        if (isNull(comActActivityDO)) {
-            return R.fail("活动不存在!");
-        }
+        if(comActActRegistVO.getActivityType()==1){
+            ComActActivityDO comActActivityDO = comActActivityDAO.selectById(activityId);
+            if (isNull(comActActivityDO)) {
+                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("不在活动时间范围内");
-        }
+            Date beginAt = comActActivityDO.getBeginAt();
+            Date endAt = comActActivityDO.getEndAt();
+            Date nowDate = new Date();
+            if (nowDate.before(beginAt) || nowDate.after(endAt)) {
+                return R.fail("不在活动时间范围内");
+            }
 
-        int signDayCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>()
-                .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getCodeId,comActActRegistVO.getCodeId()));
-        int signAllCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>()
-                .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId));
-        if (signDayCount >= 0) {
-            return R.fail("请扫描新的签到码");
-        }
-        if(signAllCount>=comActActivityDO.getLimit()){
-            return R.fail("签到次数上限");
-        }
+            int signDayCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>()
+                    .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getCodeId,comActActRegistVO.getCodeId()).eq(ComActActRegistDO::getType,1));
+            int signAllCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>()
+                    .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getType,1));
+            if (signDayCount >= 0) {
+                return R.fail("请扫描新的签到码");
+            }
+            if(signAllCount>=comActActivityDO.getLimit()){
+                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(nowDate);
-        comActActRegistDO.setCodeId(comActActRegistVO.getCodeId());
-        comActActRegistDO.setAward(comActActivityDO.getRewardIntegral());
-        comActActRegistDO.setPosition(comActActRegistVO.getPosition());
-        comActActRegistDO.setTimes(signAllCount+1);
-        int result = comActActRegistDAO.insert(comActActRegistDO);
-        if (result > 0) {
+            ComActActRegistDO comActActRegistDO = new ComActActRegistDO();
+            comActActRegistDO.setActivityId(activityId);
+            comActActRegistDO.setType(1);
+            comActActRegistDO.setUserId(userId);
+            comActActRegistDO.setIsVolunteer(comActActRegistVO.getIsVolunteer());
+            comActActRegistDO.setCreateAt(nowDate);
+            comActActRegistDO.setCodeId(comActActRegistVO.getCodeId());
+            comActActRegistDO.setAward(comActActivityDO.getRewardIntegral());
+            comActActRegistDO.setPosition(comActActRegistVO.getPosition());
+            comActActRegistDO.setTimes(signAllCount+1);
+            int result = comActActRegistDAO.insert(comActActRegistDO);
+            if (result > 0) {
+                AddComActIntegralUserDTO addComActIntegralUserDTO=new AddComActIntegralUserDTO();
+                addComActIntegralUserDTO.setUserId(userId);
+                addComActIntegralUserDTO.setIntegralType(8);
+                addComActIntegralUserDTO.setActivityType(1);
+                addComActIntegralUserDTO.setCommunityId(comActActivityDO.getCommunityId());
+                addComActIntegralUserDTO.setServiceId(activityId);
+                comActIntegralUserTradeService.addIntegralTradeAdmin(addComActIntegralUserDTO);
 //            ValueOperations<String, String> opsForValue = stringRedisTemplate.opsForValue();
 //            opsForValue.set(activitySignInKey, "", 1800L, TimeUnit.SECONDS);
-            return R.ok();
+                return R.ok();
+            }
+            return R.fail("网络错误,请重试");
         }
-        return R.fail("网络错误,请重试");
+        else {
+            ComPbActivityDO comPbActivityDO=comBpActivityDAO.selectById(activityId);
+            if (isNull(comPbActivityDO)) {
+                return R.fail("活动不存在!");
+            }
+
+            Date beginAt = comPbActivityDO.getActivityTimeBegin();
+            Date endAt = comPbActivityDO.getActivityTimeEnd();
+            Date nowDate = new Date();
+            if (nowDate.before(beginAt) || nowDate.after(endAt)) {
+                return R.fail("不在活动时间范围内");
+            }
+
+            int signDayCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>()
+                    .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getCodeId,comActActRegistVO.getCodeId()).eq(ComActActRegistDO::getType,2));
+            int signAllCount = comActActRegistDAO.selectCount(new QueryWrapper<ComActActRegistDO>()
+                    .lambda().eq(ComActActRegistDO::getActivityId, activityId).eq(ComActActRegistDO::getUserId, userId).eq(ComActActRegistDO::getType,2));
+            if (signDayCount >= 0) {
+                return R.fail("请扫描新的签到码");
+            }
+            if(signAllCount>=comPbActivityDO.getLimit()){
+                return R.fail("签到次数上限");
+            }
+
+            ComActActRegistDO comActActRegistDO = new ComActActRegistDO();
+            comActActRegistDO.setActivityId(activityId);
+            comActActRegistDO.setType(2);
+            comActActRegistDO.setUserId(userId);
+            comActActRegistDO.setIsVolunteer(comActActRegistVO.getIsVolunteer());
+            comActActRegistDO.setCreateAt(nowDate);
+            comActActRegistDO.setCodeId(comActActRegistVO.getCodeId());
+            comActActRegistDO.setAward(comPbActivityDO.getRewardIntegral());
+            comActActRegistDO.setPosition(comActActRegistVO.getPosition());
+            comActActRegistDO.setTimes(signAllCount+1);
+            int result = comActActRegistDAO.insert(comActActRegistDO);
+            if (result > 0) {
+                AddComActIntegralUserDTO addComActIntegralUserDTO=new AddComActIntegralUserDTO();
+                addComActIntegralUserDTO.setUserId(userId);
+                addComActIntegralUserDTO.setIntegralType(8);
+                addComActIntegralUserDTO.setActivityType(2);
+                addComActIntegralUserDTO.setCommunityId(comPbActivityDO.getCommunityId());
+                addComActIntegralUserDTO.setServiceId(activityId);
+                comActIntegralUserTradeService.addIntegralTradeAdmin(addComActIntegralUserDTO);
+//            ValueOperations<String, String> opsForValue = stringRedisTemplate.opsForValue();
+//            opsForValue.set(activitySignInKey, "", 1800L, TimeUnit.SECONDS);
+                return R.ok();
+            }
+            return R.fail("网络错误,请重试");
+        }
+
+
     }
 
     /**

--
Gitblit v1.7.1