From 1a4b45c6109d0b5b30ee96cc76d744b54069aa2e Mon Sep 17 00:00:00 2001
From: huanghongfa <huanghongfa123456>
Date: 星期六, 18 十二月 2021 13:52:09 +0800
Subject: [PATCH] 添加通过社区id获取社区登录账号密码接口
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java | 185 ++++++++++++++++++++++++++++------------------
1 files changed, 112 insertions(+), 73 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 9c7d622..e3eb9f9 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,24 @@
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.math.BigDecimal;
+import java.math.RoundingMode;
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 +33,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
@@ -101,7 +110,7 @@
if (status.intValue() == 2) {// 点击‘保存并发布’ 按钮
// 报名结束时间大于当前时间则设置为“进行中”
if (comActActivityVO.getSignUpEnd() != null && now.getTime() < comActActivityVO.getSignUpEnd().getTime()) {
- comActActivityDO.setStatus(4);
+ comActActivityDO.setStatus(3);
}
}
@@ -170,7 +179,7 @@
// 结束时间大于当前时间则设置为“进行中”
Date now = new Date();
if (comActActivityVO.getSignUpEnd() != null && now.getTime() < comActActivityVO.getSignUpEnd().getTime()) {
- comActActivityDO.setStatus(4);
+ comActActivityDO.setStatus(3);
}
boolean b = this.updateById(comActActivityDO);
if (b) {
@@ -200,15 +209,15 @@
page.setSize(pageSize);
page.setCurrent(pageNum);
IPage<ComActActivityVO> iPage = comActActivityDAO.pageActivity(page, comActActivityVO);
- List<ComActActivityVO> records = iPage.getRecords();
- if (!ObjectUtils.isEmpty(records)) {
- records.forEach(comActActivityVO1 -> {
- Integer status = comActActivityVO1.getStatus();
- if (status.intValue() == 3) {
- comActActivityVO1.setStatus(4);
- }
- });
- }
+// List<ComActActivityVO> records = iPage.getRecords();
+// if (!ObjectUtils.isEmpty(records)) {
+// records.forEach(comActActivityVO1 -> {
+// Integer status = comActActivityVO1.getStatus();
+// if (status.intValue() == 3) {
+// comActActivityVO1.setStatus(4);
+// }
+// });
+// }
return R.ok(iPage);
}
@@ -221,10 +230,12 @@
*/
@Override
public R releaseActivity(ComActActivityVO comActActivityVO) {
- ComActActivityDO comActActivityDO = new ComActActivityDO();
- comActActivityDO.setId(comActActivityVO.getId());
+ ComActActivityDO comActActivityDO = comActActivityDAO.selectById(comActActivityVO.getId());
comActActivityDO.setPublishAt(comActActivityVO.getPublishAt());
- comActActivityDO.setStatus(comActActivityVO.getStatus());
+ comActActivityDO.setStatus(3);
+ if (comActActivityVO.getPublishAt().after(comActActivityDO.getSignUpEnd())) {
+ comActActivityVO.setStatus(4);
+ }
int update = comActActivityDAO.updateById(comActActivityDO);
if (update > 0) {
return R.ok();
@@ -445,9 +456,11 @@
//审查用户是否有该活动报名权限(是否活动指定参与人群)
String currentUserTags = loginUserInfoVO.getTags();
String attendPeople = actActivityDO.getAattendPeople();
- if (isNotBlank(attendPeople)) {
+ if (isVolunteer.intValue() == 0 && isNotBlank(attendPeople)) {
if (isBlank(currentUserTags)) {
- return R.fail("您不是指定参与人群!");
+ currentUserTags = "全部居民";
+ } else {
+ currentUserTags = currentUserTags.concat(",全部居民");
}
List<String> currentUserTagList = Arrays.asList(currentUserTags.split(","));
boolean checkResult = currentUserTagList.stream().anyMatch(currentUserTag -> attendPeople.contains(currentUserTag));
@@ -547,33 +560,34 @@
*/
@Override
public R timedTaskActActivity() {
- List<Long> longs = comActActivityDAO.selectTimedTaskActActivity();
- if (ObjectUtils.isEmpty(longs)) {
- return R.fail("没有需要取消的社区活动");
- }
- List<ComActActivityDO> comActActivityDOS = comActActivityDAO.selectBatchIds(longs);
- List<ComActActivityVO> comActActivityVOS = new ArrayList<>();
- if (!ObjectUtils.isEmpty(comActActivityDOS)) {
- comActActivityDOS.forEach(comActActivityDO -> {
- ComActActivityVO comActActivityVO = new ComActActivityVO();
- BeanUtils.copyProperties(comActActivityDO, comActActivityVO);
- List<ComActActSignDO> comActActSignDOS = comActActSignDAO.selectList(new QueryWrapper<ComActActSignDO>()
- .lambda().eq(ComActActSignDO::getActivityId, comActActivityDO.getId()));
- if (!ObjectUtils.isEmpty(comActActSignDOS)) {
- List<ActivitySignVO> activitySignVOList = new ArrayList<>();
- comActActSignDOS.forEach(comActActSignDO -> {
- ActivitySignVO activitySignVO = new ActivitySignVO();
- BeanUtils.copyProperties(comActActSignDO, activitySignVO);
- activitySignVOList.add(activitySignVO);
- comActActivityVO.setActivitySignVOList(activitySignVOList);
- });
- }
- comActActivityVOS.add(comActActivityVO);
- });
- int num = comActActivityDAO.updateIdBatch(longs);
- log.info("定时任务--一共取消社区活动数量【{}】", num);
- }
- return R.ok(comActActivityVOS);
+// List<Long> longs = comActActivityDAO.selectTimedTaskActActivity();
+// if (ObjectUtils.isEmpty(longs)) {
+// return R.fail("没有需要取消的社区活动");
+// }
+// List<ComActActivityDO> comActActivityDOS = comActActivityDAO.selectBatchIds(longs);
+// List<ComActActivityVO> comActActivityVOS = new ArrayList<>();
+// if (!ObjectUtils.isEmpty(comActActivityDOS)) {
+// comActActivityDOS.forEach(comActActivityDO -> {
+// ComActActivityVO comActActivityVO = new ComActActivityVO();
+// BeanUtils.copyProperties(comActActivityDO, comActActivityVO);
+// List<ComActActSignDO> comActActSignDOS = comActActSignDAO.selectList(new QueryWrapper<ComActActSignDO>()
+// .lambda().eq(ComActActSignDO::getActivityId, comActActivityDO.getId()));
+// if (!ObjectUtils.isEmpty(comActActSignDOS)) {
+// List<ActivitySignVO> activitySignVOList = new ArrayList<>();
+// comActActSignDOS.forEach(comActActSignDO -> {
+// ActivitySignVO activitySignVO = new ActivitySignVO();
+// BeanUtils.copyProperties(comActActSignDO, activitySignVO);
+// activitySignVOList.add(activitySignVO);
+// comActActivityVO.setActivitySignVOList(activitySignVOList);
+// });
+// }
+// comActActivityVOS.add(comActActivityVO);
+// });
+// int num = comActActivityDAO.updateIdBatch(longs);
+// log.info("定时任务--一共取消社区活动数量【{}】", num);
+// }
+// return R.ok(comActActivityVOS);
+ return R.ok();
}
/**
@@ -587,15 +601,15 @@
int num = comActActivityDAO.updateStatusToNotBegin();
log.info("定时任务--修改社区活动发布状态活动数量【{}】", num);
// 修改报名状态 变为报名中
- int num1 = comActActivityDAO.updateStatusToBeginSign();
- log.info("定时任务--修改社区活动报名状态活动数量【{}】", num1);
+// int num1 = comActActivityDAO.updateStatusToBeginSign();
+// log.info("定时任务--修改社区活动报名状态活动数量【{}】", num1);
+ int num3 = comActActivityDAO.updateStatusToBeginAfterSingEnd();
+ log.info("定时任务--报名结束修改社区活动进行状态活动数量【{}】", num3);
// 查询已经结束的活动,需要计算积分
List<Long> activityEndIds = comActActivityDAO.getActivityEndIds();
// 修改进行状态 变为进行中或者已结束
int num2 = comActActivityDAO.updateStatusToBeginActiveOrEnd();
log.info("定时任务--修改社区活动进行状态活动数量【{}】", num2);
- int num3 = comActActivityDAO.updateStatusToBeginAfterSingEnd();
- log.info("定时任务--报名结束修改社区活动进行状态活动数量【{}】", num3);
return R.ok(activityEndIds);
}
@@ -623,11 +637,20 @@
iPage.getRecords().forEach(vo ->{
List<ComActActEvaluateDO> comActActEvaluateDOList = comActActEvaluateDAO
.selectList(new QueryWrapper<ComActActEvaluateDO>().lambda().eq(ComActActEvaluateDO::getActivityId, vo.getId()));
- if (comActActEvaluateDOList != null && comActActEvaluateDOList.size() != 0) {
+ if (comActActEvaluateDOList != null && comActActEvaluateDOList.size() > 0) {
+ BigDecimal starNum = BigDecimal.ZERO;
//总星级
- int starNum = comActActEvaluateDOList.stream().mapToInt(ComActActEvaluateDO::getStarLevel).sum();
- //评分星级=总星级/总评价人数
- vo.setEvaluateLevel(Double.valueOf(starNum/comActActEvaluateDOList.size()));
+ for (ComActActEvaluateDO evaluateDO:comActActEvaluateDOList) {
+ starNum = starNum.add(BigDecimal.valueOf(evaluateDO.getStarLevel()==null?0:evaluateDO.getStarLevel()));
+ }
+ //评分星级(如果无评分默认5分)=总星级/总评价人数
+ if(starNum.compareTo(BigDecimal.ZERO) == 0){
+ vo.setEvaluateLevel(BigDecimal.valueOf(5));
+ }else{
+ vo.setEvaluateLevel(starNum.divide(BigDecimal.valueOf(comActActEvaluateDOList.size()),2, RoundingMode.HALF_UP));
+ }
+ }else{
+ vo.setEvaluateLevel(BigDecimal.valueOf(5));
}
});
return R.ok(iPage);
@@ -708,7 +731,7 @@
// 查询所有即将开始的活动
List<ComActActivityDO> actActivityList = comActActivityDAO.selectList(new QueryWrapper<ComActActivityDO>()
.lambda().le(ComActActivityDO::getBeginAt, DateUtils.addDays(new Date(), 1))
- .ge(ComActActivityDO::getBeginAt, new Date()));
+ .ge(ComActActivityDO::getBeginAt, new Date()).notIn(ComActActivityDO::getStatus,5,6));
if (!actActivityList.isEmpty()) {
WxXCXTempSend util = new WxXCXTempSend();
try {
@@ -761,6 +784,7 @@
@Override
public R activitySignIn(ComActActRegistVO comActActRegistVO) {
Long activityId = comActActRegistVO.getActivityId();
+ Long userId = comActActRegistVO.getUserId();
if (isNull(activityId)) {
return R.fail("签到所属活动id不能为空!");
}
@@ -768,22 +792,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