springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/CommunityApi.java
@@ -120,7 +120,9 @@ @ApiOperation(value = "社区活动/志愿者活动签到") @PostMapping("activity/sign-in") public R activitySignIn(@RequestBody ComActActRegistVO comActActRegistVO) { comActActRegistVO.setUserId(this.getUserId()); LoginUserInfoVO loginUserInfo = this.getLoginUserInfo(); comActActRegistVO.setUserId(loginUserInfo.getUserId()); comActActRegistVO.setIsVolunteer(loginUserInfo.getIsVolunteer()); return communityService.activitySignIn(comActActRegistVO); } springcloud_k8s_panzhihuazhihuishequ/applets/src/main/java/com/panzhihua/applets/api/UserApi.java
@@ -1,17 +1,17 @@ package com.panzhihua.applets.api; import static java.util.stream.Collectors.toList; import java.util.ArrayList; import java.util.Comparator; import java.util.Date; import java.util.List; import java.util.Optional; import java.util.TreeSet; import java.util.concurrent.atomic.AtomicBoolean; import java.util.stream.Collectors; import javax.annotation.Resource; import com.panzhihua.common.model.vos.community.ComActActEvaluateVO; import org.springframework.beans.BeanUtils; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.util.ObjectUtils; @@ -36,6 +36,7 @@ import com.panzhihua.common.model.dtos.user.SysUserFeedbackDTO; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComActActEvaluateVO; import com.panzhihua.common.model.vos.community.ComActActRegistVO; import com.panzhihua.common.model.vos.community.ComActActivityVO; import com.panzhihua.common.model.vos.community.ComActEasyPhotoVO; @@ -275,18 +276,24 @@ if (!ObjectUtils.isEmpty(comActActivityVOS)) { List<ComActActivityVO> collect = comActActivityVOS.stream() .sorted(Comparator.comparing(ComActActivityVO::getSingDate).reversed()).collect(Collectors.toList()); //当前用户最近签到时间 //当前用户签到记录列表 R r2 = communityService.listSignInActivity(userId); if (R.isOk(r2) && !ObjectUtils.isEmpty(r2.getData())) { ArrayList<ComActActRegistVO> comActActRegistVOS = JSONArray.parseArray(JSONArray.toJSONString(r2.getData()), ComActActRegistVO.class).stream() .sorted(Comparator.comparing(ComActActRegistVO::getCreateAt).reversed()) .collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(f -> String.join("", f.getUserId().toString(), f.getActivityId().toString())))), ArrayList::new)); collect.forEach(comActActivityVO -> comActActRegistVOS.forEach(activitySignInVO -> { if (comActActivityVO.getId().equals(activitySignInVO.getActivityId())) { comActActivityVO.setActivitySignInDate(activitySignInVO.getCreateAt()); List<ComActActRegistVO> comActActRegistVOS = JSONArray.parseArray(JSONArray.toJSONString(r2.getData()), ComActActRegistVO.class).stream() .sorted(Comparator.comparing(ComActActRegistVO::getCreateAt).reversed()).collect(toList()); collect.forEach(comActActivityVO -> { ArrayList<ComActActRegistVO> currentList = new ArrayList<>(); comActActRegistVOS.forEach(activitySignInVO -> { if (comActActivityVO.getId().equals(activitySignInVO.getActivityId())) { currentList.add(activitySignInVO); } }); if (currentList.size() > 10) { comActActivityVO.setActivitySignInList(currentList.subList(0, 10)); } else { comActActivityVO.setActivitySignInList(currentList); } })); }); } //当前用户活动评分 R r3 = communityService.listEvaluate(userId); springcloud_k8s_panzhihuazhihuishequ/common/src/main/java/com/panzhihua/common/model/vos/community/ComActActivityVO.java
@@ -92,9 +92,8 @@ @ApiModelProperty("是否二维码签到 1 是 0否") private Integer isQrCode; @ApiModelProperty("用户最近签到时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private Date activitySignInDate; @ApiModelProperty("用户签到记录列表") private List<ComActActRegistVO> activitySignInList; @ApiModelProperty("联系人姓名") private String contactName; springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
@@ -1,18 +1,16 @@ package com.panzhihua.service_community.api; import static java.util.stream.Collectors.toList; import java.util.ArrayList; import java.util.Comparator; import java.util.Date; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.stream.Collectors; import javax.annotation.Resource; import cn.hutool.core.date.DateUtil; import com.panzhihua.service_community.model.dos.*; import com.panzhihua.service_community.service.*; import org.springframework.beans.BeanUtils; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; @@ -50,11 +48,11 @@ import com.panzhihua.common.model.dtos.community.questnaire.StatisticsSummaryDTO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.SystemmanagementConfigVO; import com.panzhihua.common.model.vos.community.ComActActRegistVO; import com.panzhihua.common.model.vos.community.ActivitySignVO; import com.panzhihua.common.model.vos.community.BatchhouseVO; import com.panzhihua.common.model.vos.community.ComActActEvaluateVO; import com.panzhihua.common.model.vos.community.ComActActPrizeVO; import com.panzhihua.common.model.vos.community.ComActActRegistVO; import com.panzhihua.common.model.vos.community.ComActActivityVO; import com.panzhihua.common.model.vos.community.ComActDynVO; import com.panzhihua.common.model.vos.community.ComActEasyPhotoVO; @@ -88,7 +86,36 @@ import com.panzhihua.service_community.dao.ComActActSignDAO; import com.panzhihua.service_community.dao.ComEldersAuthHistoryRecordMapper; import com.panzhihua.service_community.dao.ComMngPopulationDAO; import com.panzhihua.service_community.model.dos.ComActActEvaluateDO; import com.panzhihua.service_community.model.dos.ComActActPrizeDO; import com.panzhihua.service_community.model.dos.ComActDynDO; import com.panzhihua.service_community.model.dos.ComActEasyPhotoDO; import com.panzhihua.service_community.model.dos.ComActMicroWishDO; import com.panzhihua.service_community.model.dos.ComEldersAuthElderlyDO; import com.panzhihua.service_community.model.dos.ComEldersAuthHistoryRecordDO; import com.panzhihua.service_community.model.dos.ComEldersAuthUserDO; import com.panzhihua.service_community.model.dos.ComMngStructAreaDO; import com.panzhihua.service_community.model.dos.EldersAuthDO; import com.panzhihua.service_community.service.ComActActEvaluateService; import com.panzhihua.service_community.service.ComActActPrizeService; import com.panzhihua.service_community.service.ComActActivityService; import com.panzhihua.service_community.service.ComActDynService; import com.panzhihua.service_community.service.ComActEasyPhotoActivityService; import com.panzhihua.service_community.service.ComActEasyPhotoService; import com.panzhihua.service_community.service.ComActMessageService; import com.panzhihua.service_community.service.ComActMicroWishService; import com.panzhihua.service_community.service.ComActQuestnaireService; import com.panzhihua.service_community.service.ComActService; import com.panzhihua.service_community.service.ComEldersAuthElderlyService; import com.panzhihua.service_community.service.ComEldersAuthUserService; import com.panzhihua.service_community.service.ComMngStructAreaDistrictService; import com.panzhihua.service_community.service.ComMngStructAreaService; import com.panzhihua.service_community.service.ComMngStructHouseService; import com.panzhihua.service_community.service.ComMngStructOtherBuildService; import com.panzhihua.service_community.service.ComMngVolunteerMngService; import com.panzhihua.service_community.service.EldersAuthService; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdcardUtil; import lombok.extern.slf4j.Slf4j; @@ -370,18 +397,6 @@ } }); } //签到时间 Optional.ofNullable(userId).ifPresent(currentUserId -> { R listSignInResult = comActActivityService.listSignInActivity(currentUserId); if (R.isOk(listSignInResult) && !ObjectUtils.isEmpty(listSignInResult.getData())) { Optional<ComActActRegistVO> optional = JSONArray.parseArray(JSONArray.toJSONString(listSignInResult.getData()), ComActActRegistVO.class).stream() .filter(activitySignInVO -> activitySignInVO.getActivityId().equals(id)) .sorted(Comparator.comparing(ComActActRegistVO::getCreateAt).reversed()).findFirst(); if (optional.isPresent()) { comActActivityVO.setActivitySignInDate(optional.get().getCreateAt()); } } }); fillActivitySignList(id, comActActivityVO); comActActivityVO.setIntegral(0); return R.ok(comActActivityVO); @@ -407,7 +422,7 @@ } } List<ActivitySignVO> collect = activitySignVOS.stream() .filter(activitySignVO1 -> activitySignVO1.getIsVolunteer() == 1).collect(Collectors.toList()); .filter(activitySignVO1 -> activitySignVO1.getIsVolunteer() == 1).collect(toList()); if (!ObjectUtils.isEmpty(collect)) { int size = collect.size(); if (size >= 6) { @@ -417,7 +432,7 @@ } } List<ActivitySignVO> collect1 = activitySignVOS.stream() .filter(activitySignVO1 -> activitySignVO1.getIsVolunteer() == 0).collect(Collectors.toList()); .filter(activitySignVO1 -> activitySignVO1.getIsVolunteer() == 0).collect(toList()); if (!ObjectUtils.isEmpty(collect1)) { int size = collect1.size(); if (size >= 6) { @@ -630,7 +645,7 @@ int size = list.size(); if (size == 4) { List<ComActDynDO> collect = list.stream().sorted(Comparator.comparing(ComActDynDO::getCreateAt)) .collect(Collectors.toList()); .collect(toList()); ComActDynDO comActDynDO1 = collect.get(0); comActDynDO1.setIsTopping(0); boolean update = comActDynService.updateById(comActDynDO1); @@ -683,7 +698,7 @@ int size = list.size(); if (size == 4) { List<ComActDynDO> collect = list.stream().sorted(Comparator.comparing(ComActDynDO::getUpdateAt)) .collect(Collectors.toList()); .collect(toList()); ComActDynDO comActDynDO1 = collect.get(0); comActDynDO1.setIsTopping(0); boolean updateById = comActDynService.updateById(comActDynDO1); springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/dao/ComActActivityDAO.java
@@ -43,7 +43,7 @@ + "count(if(s.is_volunteer=1,s.id,null))volunteer_now, " + "count(if(s.is_volunteer=0,s.id,null))participant_now, " + "a.participant_max, " + "a.sign_up_begin, " + "a.sign_up_end, " + "ca.name as communityName " + "FROM " + "com_act_activity a " + "join sys_user u on a.sponsor_id=u.user_id " + "left join com_act_act_sign s on a.id=s.activity_id " + "left join sys_user u on a.sponsor_id=u.user_id " + "left join com_act_act_sign s on a.id=s.activity_id " + "left join com_act ca on a.community_id=ca.community_id " + " where 1=1 " + "<if test='comActActivityVO.choice == 0 '>" + "AND a.community_id=#{comActActivityVO.communityId} " + " </if> " springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComActActivityServiceImpl.java
@@ -46,6 +46,8 @@ import lombok.extern.slf4j.Slf4j; import static java.util.Objects.isNull; /** * @program: springcloud_k8s_panzhihuazhihuishequ * @description: 社区活动 @@ -742,6 +744,13 @@ @Override public R activitySignIn(ComActActRegistVO comActActRegistVO) { Long activityId = comActActRegistVO.getActivityId(); if (isNull(activityId)) { return R.fail("签到所属活动id不能为空!"); } ComActActivityDO comActActivityDO = comActActivityDAO.selectById(activityId); 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)) {