101captain
2021-11-09 e7f03acfa5ee4ad4fd6d1ee9e9ae9a5655488f6d
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
@@ -1,16 +1,17 @@
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.dao.ComActActEvaluateDAO;
import com.panzhihua.service_community.model.dos.*;
import com.panzhihua.service_community.service.*;
import org.springframework.beans.BeanUtils;
@@ -50,11 +51,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;
@@ -89,6 +90,7 @@
import com.panzhihua.service_community.dao.ComEldersAuthHistoryRecordMapper;
import com.panzhihua.service_community.dao.ComMngPopulationDAO;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.IdcardUtil;
import lombok.extern.slf4j.Slf4j;
@@ -146,6 +148,10 @@
    private ComActActEvaluateService comActActEvaluateService;
    @Resource
    private ComEldersAuthElderlyService comEldersAuthElderlyService;
    @Resource
    private ComActMicroWishOperationRecordService wishOperationRecordService;
    @Resource
    private ComActActEvaluateDAO comActActEvaluateDAO;
    /**
     * 新增社区活动
@@ -331,7 +337,9 @@
     */
    @PostMapping("detailactivity")
    public R detailActivity(@RequestParam("id") Long id,
        @RequestParam(value = "userId", required = false) Long userId) {
        @RequestParam(value = "userId", required = false) Long userId,
                            @RequestParam(value = "pageNum",defaultValue = "1", required = false) Long pageNum,
                            @RequestParam(value = "pageSize",defaultValue = "10", required = false) Long pageSize) {
        ComActActivityVO comActActivityVO = comActActivityService.inforActivity(id, userId);
        if (ObjectUtils.isEmpty(comActActivityVO)) {
            return R.fail("活动不存在");
@@ -349,39 +357,15 @@
            comActActivityVO.setComActActPrizeVOList(comActActPrizeVOS);
        }
        //活动评价
        List<ComActActEvaluateDO> comActActEvaluateDOList = comActActEvaluateService
                .list(new QueryWrapper<ComActActEvaluateDO>().lambda().eq(ComActActEvaluateDO::getActivityId, id));
        if (!ObjectUtils.isEmpty(comActActEvaluateDOList)) {
            List<ComActActEvaluateVO> comActActEvaluateVOList = new ArrayList<>();
            comActActEvaluateDOList.forEach(comActActEvaluateDO -> {
                ComActActEvaluateVO comActActEvaluateVO = new ComActActEvaluateVO();
                BeanUtils.copyProperties(comActActEvaluateDO, comActActEvaluateVO);
                comActActEvaluateVOList.add(comActActEvaluateVO);
            });
            comActActivityVO.setComActActEvaluateVOList(comActActEvaluateVOList);
            //活动评价总数
            comActActivityVO.setEvaluateAmount(comActActEvaluateDOList.size());
            //当前用户对活动的评分
            Optional.ofNullable(userId).ifPresent(currentUserId -> {
                Optional<ComActActEvaluateDO> optional = comActActEvaluateDOList.stream()
                        .filter(comActActEvaluateDO -> comActActEvaluateDO.getUserId().equals(currentUserId)).findFirst();
                if (optional.isPresent()) {
                    comActActivityVO.setMyRating(optional.get().getStarLevel());
                }
            });
        IPage<ComActActEvaluateVO> comActActEvaluatePage = comActActEvaluateDAO.getEvaluateListPage(new Page(pageNum,pageSize),id);
        comActActivityVO.setComActActEvaluateVOList(comActActEvaluatePage.getRecords());
        //活动评价总数
        comActActivityVO.setEvaluateAmount(comActActEvaluatePage.getTotal());
        //当前用户对活动的评分
        ComActActEvaluateVO userActEvaluateVO = comActActEvaluateDAO.getEvaluateListByUserId(id,userId);
        if(userActEvaluateVO != null){
            comActActivityVO.setMyRating(userActEvaluateVO.getStarLevel());
        }
        //签到时间
        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 +391,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 +401,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 +614,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 +667,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);
@@ -831,6 +815,11 @@
        return comActMicroWishService.pageMicroWish(comActMicroWishVO);
    }
    @PostMapping("pagemicrowish/applets")
    public R pageMicroWishApplets(@RequestBody ComActMicroWishVO comActMicroWishVO) {
        return comActMicroWishService.pageMicroWishApplets(comActMicroWishVO);
    }
    /**
     * 心愿详情
     *
@@ -916,6 +905,8 @@
        BeanUtils.copyProperties(comActMicroWishVO, comActMicroWishDO);
        boolean save = comActMicroWishService.save(comActMicroWishDO);
        if (save) {
            wishOperationRecordService.addOperationRecord("用户提交微心愿",comActMicroWishVO.getSponsorId()
                    ,comActMicroWishDO.getId(), ComActMicroWishOperationRecordDO.type.ytj,"用户提交微心愿",null);
            return R.ok();
        }
        return R.fail();
@@ -2297,6 +2288,16 @@
    }
    /**
     * 查询西区社区列表
     *
     * @return 社区列表
     */
    @GetMapping("/eventgrid/community/westList")
    public R getWestCommunityLists() {
        return comActService.getWestCommunityLists();
    }
    /**
     * 随手拍发放奖励
     * 
     * @param grantRewardDTO
@@ -2444,4 +2445,25 @@
    public R easyPhotoNoHandleList(@RequestParam("communityId") Long communityId) {
        return comActEasyPhotoService.easyPhotoNoHandleList(communityId);
    }
    /**
     * 微心愿处理人列表
     * @param communityId   社区id
     * @param type  处理人类型(1.后台用户  2.党员  3.志愿者)
     * @return  处理人列表
     */
    @GetMapping("wish/handle/list/admin")
    public R wishHandleListAdmin(@RequestParam(value = "communityId") Long communityId,@RequestParam("type") Integer type){
        return R.ok(comActMicroWishService.wishHandleListAdmin(communityId,type));
    }
    /**
     * 社区后台分页查询微心愿
     * @param comActMicroWishVO 请求参数
     * @return  微心愿列表
     */
    @PostMapping("pagemicrowishAdmin")
    public R pageMicroWishAdmin(@RequestBody ComActMicroWishVO comActMicroWishVO) {
        return comActMicroWishService.pageMicroWishAdmin(comActMicroWishVO);
    }
}