From a469e6f48a0312cb6c5a183a89fb79b9807ef13d Mon Sep 17 00:00:00 2001
From: tangxiaobao <303826152@qq.com>
Date: 星期一, 06 九月 2021 18:20:17 +0800
Subject: [PATCH] 办事指南分页查询按时间降序排列
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java | 166 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 160 insertions(+), 6 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 3df20cb..288a8d7 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,14 +1,21 @@
package com.panzhihua.service_community.service.impl;
+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.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;
@@ -23,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;
@@ -46,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
@@ -54,6 +66,12 @@
private UserService userService;
@Resource
private ComActActEvaluateDAO comActActEvaluateDAO;
+ @Resource
+ private ComActActRegistDAO comActActRegistDAO;
+ @Resource
+ private StringRedisTemplate stringRedisTemplate;
+ @Resource
+ private ComActActPictureDAO comActActPictureDAO;
/**
* 新增社区活动
@@ -90,6 +108,14 @@
.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());
+ comActActPictureDO.setSysFlag(0);
+ comActActPictureDAO.insert(comActActPictureDO);
return R.ok(activityId);
}
@@ -270,15 +296,85 @@
}
@Override
- public R pageActivityRegists(ComActActEvaluateVO comActActEvaluateVO) {
+ public R getSignLists(ActivitySignVO activitySignVO) {
+ return R.ok(comActActSignDAO.getSignLists(activitySignVO));
+ }
+
+ @Override
+ public R pageActivityEvaluates(ComActActEvaluateVO comActActEvaluateVO) {
IPage<ComActActEvaluateVO> comActActEvaluateVOIPage = comActActEvaluateDAO
- .pageActivityRegists(new Page(comActActEvaluateVO.getPageNum(), comActActEvaluateVO.getPageSize()), comActActEvaluateVO);
+ .pageActivityEvaluates(new Page(comActActEvaluateVO.getPageNum(), comActActEvaluateVO.getPageSize()), comActActEvaluateVO);
return R.ok(comActActEvaluateVOIPage);
}
@Override
- public R getEvaluateListsByIds(List<Long> ids) {
- return R.ok(comActActEvaluateDAO.getEvaluateListsByIds(ids));
+ public R getEvaluateLists(ComActActEvaluateVO comActActEvaluateVO) {
+ return R.ok(comActActEvaluateDAO.getEvaluateLists(comActActEvaluateVO));
+ }
+
+ @Override
+ public R pageActivityRegists(ComActActRegistVO comActActRegistVO) {
+ IPage<ComActActRegistVO> comActActRegistVOIPage = comActActRegistDAO.pageActivityRegists(new Page(comActActRegistVO.getPageNum(), comActActRegistVO.getPageSize()), comActActRegistVO);
+ return R.ok(comActActRegistVOIPage);
+ }
+
+ @Override
+ public R getRegistLists(ComActActRegistVO comActActRegistVO) {
+ return R.ok(comActActRegistDAO.getRegistLists(comActActRegistVO));
+ }
+
+ @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) {
+ if (comActActivityStatisticsVO.getSignTotal().equals(0)){
+ comActActivityStatisticsVO.setSignTotalStr("不限");
+ comActActivityStatisticsVO.setNoSignTotalStr("");
+ comActActivityStatisticsVO.setSignPersent("");
+ }else {
+ comActActivityStatisticsVO.setSignTotalStr(String.valueOf(comActActivityStatisticsVO.getSignTotal()));
+ comActActivityStatisticsVO.setNoSignTotalStr(String.valueOf(Integer.valueOf(comActActivityStatisticsVO.getSignTotalStr()) - comActActivityStatisticsVO.getReallySignTotal()));
+ comActActivityStatisticsVO.setSignPersent(getPersent(comActActivityStatisticsVO.getReallySignTotal(),comActActivityStatisticsVO.getSignTotal()));
+ }
+ comActActivityStatisticsVO.setRegistPersent(getPersent(comActActivityStatisticsVO.getReallyRegistTotal(),comActActivityStatisticsVO.getRegistTotal()));
+ 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);
+ }
+
+ @Override
+ public R getSysPictureList(Integer type) {
+ List<ComActActPictureVO> comActActPictureVOS = new ArrayList<>();
+ List<ComActActPictureDO> comActActPictureDOS = comActActPictureDAO.selectList(new QueryWrapper<ComActActPictureDO>().lambda().
+ eq(ComActActPictureDO::getSysFlag, 1).eq(ComActActPictureDO :: getType, type));
+ if (comActActPictureDOS != null && comActActPictureDOS.size() != 0) {
+ comActActPictureDOS.forEach(comActActPictureDO -> {
+ ComActActPictureVO comActActPictureVO = new ComActActPictureVO();
+ BeanUtils.copyProperties(comActActPictureDO, comActActPictureVO);
+ comActActPictureVOS.add(comActActPictureVO);
+ });
+ }
+ return R.ok(comActActPictureVOS);
}
/**
@@ -624,4 +720,62 @@
return R.ok();
}
+ private String getPersent(int x, int y){
+ if (y == 0) {
+ return "";
+ }
+ if (x == 0) {
+ return "0.00%";
+ }
+ double d1 = x * 1.0;
+ double d2 = y * 1.0;
+ DecimalFormat decimalFormat = new DecimalFormat("##.00%");
+ 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