huanghongfa
2021-09-02 177249c76aeea0b4bf8d8816d4994e3b445b45ce
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
@@ -1,19 +1,74 @@
package com.panzhihua.service_community.api;
import cn.hutool.core.util.IdcardUtil;
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 org.springframework.beans.BeanUtils;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.panzhihua.common.exceptions.ServiceException;
import com.panzhihua.common.model.dtos.community.*;
import com.panzhihua.common.model.dtos.community.ComActEasyPhotoCommentDTO;
import com.panzhihua.common.model.dtos.community.ComActEasyPhotoCommentUserDTO;
import com.panzhihua.common.model.dtos.community.EldersAuthAddByFamilyDTO;
import com.panzhihua.common.model.dtos.community.EldersAuthAddDTO;
import com.panzhihua.common.model.dtos.community.EldersAuthDeleteDTO;
import com.panzhihua.common.model.dtos.community.EldersAuthEditDTO;
import com.panzhihua.common.model.dtos.community.EldersAuthFeedbackAddDTO;
import com.panzhihua.common.model.dtos.community.GrantRewardDTO;
import com.panzhihua.common.model.dtos.community.PageComActDTO;
import com.panzhihua.common.model.dtos.community.PageComActEasyPhotoCommentDTO;
import com.panzhihua.common.model.dtos.community.PageEldersAuthDTO;
import com.panzhihua.common.model.dtos.community.PageQuestnaireAnswerDTO;
import com.panzhihua.common.model.dtos.community.PageQuestnaireDTO;
import com.panzhihua.common.model.dtos.community.PageQuestnaireSubDetailsDTO;
import com.panzhihua.common.model.dtos.community.easyPhoto.ExportEasyPhotoDTO;
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.*;
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.ComActActivityVO;
import com.panzhihua.common.model.vos.community.ComActDynVO;
import com.panzhihua.common.model.vos.community.ComActEasyPhotoVO;
import com.panzhihua.common.model.vos.community.ComActMessageBackVO;
import com.panzhihua.common.model.vos.community.ComActMessageVO;
import com.panzhihua.common.model.vos.community.ComActMicroWishVO;
import com.panzhihua.common.model.vos.community.ComActVO;
import com.panzhihua.common.model.vos.community.ComMngStructAreaVO;
import com.panzhihua.common.model.vos.community.ComMngStructHouseVO;
import com.panzhihua.common.model.vos.community.ComMngStructOtherBuildVO;
import com.panzhihua.common.model.vos.community.ComMngVolunteerMngAppletsVO;
import com.panzhihua.common.model.vos.community.ComMngVolunteerMngVO;
import com.panzhihua.common.model.vos.community.EldersAuthDetailsVO;
import com.panzhihua.common.model.vos.community.EldersAuthVO;
import com.panzhihua.common.model.vos.community.ResetComActMessageVO;
import com.panzhihua.common.model.vos.community.SignactivityVO;
import com.panzhihua.common.model.vos.community.TodoEventsVO;
import com.panzhihua.common.model.vos.community.questnaire.EditComActQuestnaireVo;
import com.panzhihua.common.model.vos.community.questnaire.QuestnaireVO;
import com.panzhihua.common.model.vos.community.questnaire.UsersAnswerQuestnaireVO;
@@ -21,24 +76,44 @@
import com.panzhihua.common.model.vos.user.SysUserNoticeVO;
import com.panzhihua.common.model.vos.user.UserPhoneVO;
import com.panzhihua.common.service.user.UserService;
import com.panzhihua.common.utlis.*;
import com.panzhihua.common.utlis.AgeUtils;
import com.panzhihua.common.utlis.ClazzUtils;
import com.panzhihua.common.utlis.DateUtils;
import com.panzhihua.common.utlis.IdCard;
import com.panzhihua.common.utlis.WxUtil;
import com.panzhihua.common.utlis.WxXCXTempSend;
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.*;
import com.panzhihua.service_community.service.*;
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.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.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.util.IdcardUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
@@ -50,6 +125,10 @@
@RestController
@RequestMapping("/")
public class CommunityApi {
    @Resource
    public ComMngPopulationDAO comMngPopulationDAO;
    @Resource
    public ComEldersAuthUserService comEldersAuthUserService;
    @Resource
    private ComActActivityService comActActivityService;
    @Resource
@@ -81,20 +160,19 @@
    @Resource
    private EldersAuthService eldersAuthService;
    @Resource
    public ComMngPopulationDAO comMngPopulationDAO;
    @Resource
    private ComActActSignDAO comActActSignDAO;
    @Resource
    public ComEldersAuthUserService comEldersAuthUserService;
    @Resource
    private ComEldersAuthHistoryRecordMapper comEldersAuthHistoryRecordMapper;
    @Resource
    private ComActEasyPhotoActivityService comActEasyPhotoActivityService;
    @Resource
    private ComActActEvaluateService comActActEvaluateService;
    /**
     * 新增社区活动
     *
     * @param comActActivityVO 新增信息
     * @param comActActivityVO
     *            新增信息
     * @return 新增结果
     */
    @PostMapping("addactivity")
@@ -131,7 +209,8 @@
    /**
     * 编辑社区活动
     *
     * @param comActActivityVO 编辑内容
     * @param comActActivityVO
     *            编辑内容
     * @return 编辑结果
     */
    @PostMapping("putactivity")
@@ -144,7 +223,8 @@
            Integer hasPrize = comActActivityVO.getHasPrize();
            Long actActivityVOId = comActActivityVO.getId();
            if (!ObjectUtils.isEmpty(comActActPrizeVOList) && hasPrize.intValue() == 1) {
                comActActPrizeService.remove(new QueryWrapper<ComActActPrizeDO>().lambda().eq(ComActActPrizeDO::getActivityId, actActivityVOId));
                comActActPrizeService.remove(
                    new QueryWrapper<ComActActPrizeDO>().lambda().eq(ComActActPrizeDO::getActivityId, actActivityVOId));
                if (!ObjectUtils.isEmpty(comActActPrizeVOList)) {
                    List<ComActActPrizeDO> comActActPrizeDOS = new ArrayList<>();
                    comActActPrizeVOList.forEach(comActActPrizeVO -> {
@@ -159,7 +239,8 @@
                    }
                }
            }else if(hasPrize.intValue() == 0){
                boolean remove = comActActPrizeService.remove(new QueryWrapper<ComActActPrizeDO>().lambda().eq(ComActActPrizeDO::getActivityId, actActivityVOId));
                boolean remove = comActActPrizeService.remove(
                    new QueryWrapper<ComActActPrizeDO>().lambda().eq(ComActActPrizeDO::getActivityId, actActivityVOId));
                log.info("删除社区活动奖品结果【{}】,社区活动id【{}】",remove,actActivityVOId);
            }
        }
@@ -169,14 +250,16 @@
    /**
     * 删除社区活动
     *
     * @param comActActivityVO 活动主键
     * @param comActActivityVO
     *            活动主键
     * @return 删除结果
     */
    @PostMapping("deleteactivity")
    public R deleteActivity(@RequestBody ComActActivityVO comActActivityVO) {
        boolean remove = comActActivityService.removeById(comActActivityVO.getId());
        if (remove) {
            comActActPrizeService.remove(new QueryWrapper<ComActActPrizeDO>().lambda().eq(ComActActPrizeDO::getActivityId, comActActivityVO.getId()));
            comActActPrizeService.remove(new QueryWrapper<ComActActPrizeDO>().lambda()
                .eq(ComActActPrizeDO::getActivityId, comActActivityVO.getId()));
            return R.ok();
        }
        return R.fail();
@@ -185,7 +268,8 @@
    /**
     * 分页查询社区活动
     *
     * @param comActActivityVO 查询参数
     * @param comActActivityVO
     *            查询参数
     * @return 分页集合
     */
    @PostMapping("pageactivity")
@@ -198,7 +282,8 @@
                content.forEach(comActActivityVO1 -> {
                    List<ComActActPrizeVO> comActActPrizeVOList = new ArrayList<>();
                    Long id = comActActivityVO1.getId();
                    List<ComActActPrizeDO> list = comActActPrizeService.list(new QueryWrapper<ComActActPrizeDO>().lambda().eq(ComActActPrizeDO::getActivityId, id));
                    List<ComActActPrizeDO> list = comActActPrizeService
                        .list(new QueryWrapper<ComActActPrizeDO>().lambda().eq(ComActActPrizeDO::getActivityId, id));
                    if (!ObjectUtils.isEmpty(list)) {
                        list.forEach(comActActPrizeDO -> {
                            ComActActPrizeVO comActActPrizeVO = new ComActActPrizeVO();
@@ -223,7 +308,9 @@
    /**
     * 社区后台分页查询社区活动
     * @param comActActivityVO 查询参数
     *
     * @param comActActivityVO
     *            查询参数
     * @return 返回结果
     */
    @PostMapping("pageactivitycommunityback")
@@ -234,7 +321,8 @@
    /**
     * 发布活动
     *
     * @param comActActivityVO 主键id 发布时间
     * @param comActActivityVO
     *            主键id 发布时间
     * @return 发布结果
     */
    @PostMapping("releaseactivity")
@@ -245,7 +333,8 @@
    /**
     * 取消活动
     *
     * @param comActActivityVO 取消原因
     * @param comActActivityVO
     *            取消原因
     * @return 取消结果
     */
    @PostMapping("cancelactivity")
@@ -256,16 +345,20 @@
    /**
     * 活动详情
     *
     * @param id 活动id
     * @param id
     *            活动id
     * @return 详情
     */
    @PostMapping("detailactivity")
    public R detailActivity(@RequestParam("id") Long id, @RequestParam(value = "userId",required = false) Long userId) {
    public R detailActivity(@RequestParam("id") Long id,
        @RequestParam(value = "userId", required = false) Long userId) {
        ComActActivityVO comActActivityVO = comActActivityService.inforActivity(id, userId);
        if (ObjectUtils.isEmpty(comActActivityVO)) {
            return R.fail("活动不存在");
        }
        List<ComActActPrizeDO> comActActPrizeDOS = comActActPrizeService.list(new QueryWrapper<ComActActPrizeDO>().lambda().eq(ComActActPrizeDO::getActivityId, id));
        //活动奖品
        List<ComActActPrizeDO> comActActPrizeDOS = comActActPrizeService
            .list(new QueryWrapper<ComActActPrizeDO>().lambda().eq(ComActActPrizeDO::getActivityId, id));
        if (!ObjectUtils.isEmpty(comActActPrizeDOS)) {
            List<ComActActPrizeVO> comActActPrizeVOS = new ArrayList<>();
            comActActPrizeDOS.forEach(comActActPrizeDO -> {
@@ -275,18 +368,55 @@
            });
            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());
                }
            });
        }
        //签到时间
        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());
                }
            }
        });
        //活动报名名单
        ActivitySignVO activitySignVO = new ActivitySignVO();
        activitySignVO.setActivityId(id);
        R r = comActActivityService.listActivitySigns(activitySignVO);
        if (R.isOk(r)) {
            List<ActivitySignVO> activitySignVOS = JSONArray.parseArray(JSONArray.toJSONString( r.getData()),ActivitySignVO.class);
            List<ActivitySignVO> activitySignVOS =
                JSONArray.parseArray(JSONArray.toJSONString(r.getData()), ActivitySignVO.class);
            if (!ObjectUtils.isEmpty(activitySignVOS)) {
                for (ActivitySignVO signVO:activitySignVOS) {
                    if(StringUtils.isEmpty(signVO.getName())){
                        signVO.setName(signVO.getNickName());
                    }
                }
                List<ActivitySignVO> collect = activitySignVOS.stream().filter(activitySignVO1 -> activitySignVO1.getIsVolunteer() == 1).collect(Collectors.toList());
                List<ActivitySignVO> collect = activitySignVOS.stream()
                    .filter(activitySignVO1 -> activitySignVO1.getIsVolunteer() == 1).collect(Collectors.toList());
                if (!ObjectUtils.isEmpty(collect)) {
                    int size = collect.size();
                    if (size>=6) {
@@ -295,7 +425,8 @@
                        comActActivityVO.setActivityVolunteerList(collect);
                    }
                }
                List<ActivitySignVO> collect1 = activitySignVOS.stream().filter(activitySignVO1 -> activitySignVO1.getIsVolunteer() == 0).collect(Collectors.toList());
                List<ActivitySignVO> collect1 = activitySignVOS.stream()
                    .filter(activitySignVO1 -> activitySignVO1.getIsVolunteer() == 0).collect(Collectors.toList());
                if (!ObjectUtils.isEmpty(collect1)) {
                    int size = collect1.size();
                    if (size>=6) {
@@ -312,9 +443,54 @@
    }
    /**
     * 活动签到
     *
     * @param comActActRegistVO 请求参数
     * @return 签到结果
     */
    @PostMapping("activity/sign-in")
    public R activitySignIn(@RequestBody ComActActRegistVO comActActRegistVO) {
        return comActActivityService.activitySignIn(comActActRegistVO);
    }
    /**
     * 用户签到列表
     *
     * @param userId 用户id
     * @return 用户签到记录列表
     */
    @GetMapping("/sign-in/user/list")
    public R listSignInActivity(@RequestParam("userId") Long userId) {
        return comActActivityService.listSignInActivity(userId);
    }
    /**
     * 社区活动评价
     *
     * @param comActActEvaluateVO 社区评价VO
     * @return 评价结果
     */
    @PostMapping("activity/evaluate")
    public R activityEvaluate(@RequestBody ComActActEvaluateVO comActActEvaluateVO) {
        return comActActEvaluateService.activityEvaluate(comActActEvaluateVO);
    }
    /**
     * 用户评价列表
     *
     * @param userId 用户id
     * @return 当前用户对所有活动的评价列表
     */
    @GetMapping("/evaluate/user/list")
    public R listEvaluate(@RequestParam("userId") Long userId) {
        return comActActEvaluateService.listEvaluate(userId);
    }
    /**
     * 分页活动报名名单
     *
     * @param activitySignVO 查询参数
     * @param activitySignVO
     *            查询参数
     * @return 报名人员集合
     */
    @PostMapping("listactivitysign")
@@ -325,7 +501,8 @@
    /**
     * 活动报名名单
     *
     * @param activitySignVO 查询参数
     * @param activitySignVO
     *            查询参数
     * @return 报名人员集合
     */
    @PostMapping("listactivitysigns")
@@ -334,9 +511,106 @@
    }
    /**
     * description  getSignLists  查询活动报名名单
     * @param    activitySignVO  查询参数
     * @return    R   查询结果
     * @author txb
     * @date 2021/8/24 14:03
     */
    @PostMapping("activity/sign/getList")
    public R getSignLists(@RequestBody ActivitySignVO activitySignVO){
        return comActActivityService.getSignLists(activitySignVO);
    }
    /**
     * description  listActivityRegists  分页查询活动评价
     * @param    comActActEvaluateVO  活动评价vo
     * @return    R   分页查询结果
     * @author txb
     * @date 2021/8/24 14:03
     */
    @PostMapping("activity/evaluate/page")
    public R pageActivityEvaluates(@RequestBody ComActActEvaluateVO comActActEvaluateVO) {
        return comActActivityService.pageActivityEvaluates(comActActEvaluateVO);
    }
    /**
     * description  getEvaluateLists  查询活动评价
     * @param    comActActEvaluateVO  查询参数
     * @return    R   查询结果
     * @author txb
     * @date 2021/8/24 14:03
     */
    @PostMapping("activity/evaluate/getList")
    public R getEvaluateLists(@RequestBody ComActActEvaluateVO comActActEvaluateVO){
        return comActActivityService.getEvaluateLists(comActActEvaluateVO);
    }
    /**
     * description  pageActivityRegists  分页查询活动签到
     * @param    comActActRegistVO  活动签到vo
     * @return    R   分页查询结果
     * @author txb
     * @date 2021/8/24 14:03
     */
    @PostMapping("activity/regist/page")
    public R pageActivityRegists(@RequestBody ComActActRegistVO comActActRegistVO) {
        return comActActivityService.pageActivityRegists(comActActRegistVO);
    }
    /**
     * description  getRegistLists  查询活动签到
     * @param    comActActRegistVO  查询参数
     * @return    R   查询结果
     * @author txb
     * @date 2021/8/25 9:33
     */
    @PostMapping("activity/regist/getList")
    public R getRegistLists(@RequestBody ComActActRegistVO comActActRegistVO){
        return comActActivityService.getRegistLists(comActActRegistVO);
    }
    /**
     * description  getRegistLists  查询活动未签到
     * @param    comActActRegistVO  查询参数
     * @return    R   查询结果
     * @author txb
     * @date 2021/8/25 9:33
     */
    @PostMapping("activity/noRegist/getList")
    public R getNoRegistLists(@RequestBody ComActActRegistVO comActActRegistVO){
        return comActActivityService.getNoRegistLists(comActActRegistVO);
    }
    /**
     * description  activityStagistics  活动数据统计
     * @param activityId 活动id
     * @return    R   统计结果
     * @author txb
     * @date 2021/8/25 13:33
     */
    @GetMapping("activity/statistics")
    public R activityStatistics(@RequestParam("activityId") Long activityId){
        return comActActivityService.activityStatistics(activityId);
    }
    /**
     * 获取活动历史封面  getPictureList
     * @param userId 用户id
     * @return    R   统计结果
     * @author txb
     * @date 2021/8/27 13:33
     */
    @GetMapping("/activity/picture/getList")
    public R getPictureList(@RequestParam("userId") Long userId){
        return comActActivityService.getPictureList(userId);
    }
    /**
     * 新增社区动态
     *
     * @param comActDynVO 新增信息
     * @param comActDynVO
     *            新增信息
     * @return 新增结果
     */
    @PostMapping("adddynamic")
@@ -349,11 +623,13 @@
            Integer isTopping = comActDynVO.getIsTopping();
            boolean b = isTopping.intValue() == 1;
            if (b) {
                List<ComActDynDO> list = comActDynService.list(new QueryWrapper<ComActDynDO>().lambda().eq(ComActDynDO::getIsTopping, 1).eq(ComActDynDO::getCommunityId, comActDynVO.getCommunityId()));
                List<ComActDynDO> list = comActDynService.list(new QueryWrapper<ComActDynDO>().lambda()
                    .eq(ComActDynDO::getIsTopping, 1).eq(ComActDynDO::getCommunityId, comActDynVO.getCommunityId()));
                if (!ObjectUtils.isEmpty(list)) {
                    int size = list.size();
                    if (size == 4) {
                        List<ComActDynDO> collect = list.stream().sorted(Comparator.comparing(ComActDynDO::getCreateAt)).collect(Collectors.toList());
                        List<ComActDynDO> collect = list.stream().sorted(Comparator.comparing(ComActDynDO::getCreateAt))
                            .collect(Collectors.toList());
                        ComActDynDO comActDynDO1 = collect.get(0);
                        comActDynDO1.setIsTopping(0);
                        boolean update = comActDynService.updateById(comActDynDO1);
@@ -371,7 +647,8 @@
    /**
     * 编辑社区动态
     *
     * @param comActDynVO 编辑内容
     * @param comActDynVO
     *            编辑内容
     * @return 编辑结果
     */
    @PostMapping("putdynamic")
@@ -399,11 +676,13 @@
        if (update) {
//            最多只能设置三条置顶状态,后边设置会取消先前设置的置顶
            if (b) {
                List<ComActDynDO> list = comActDynService.list(new QueryWrapper<ComActDynDO>().lambda().eq(ComActDynDO::getIsTopping, 1).eq(ComActDynDO::getCommunityId, comActDynVO.getCommunityId()));
                List<ComActDynDO> list = comActDynService.list(new QueryWrapper<ComActDynDO>().lambda()
                    .eq(ComActDynDO::getIsTopping, 1).eq(ComActDynDO::getCommunityId, comActDynVO.getCommunityId()));
                if (!ObjectUtils.isEmpty(list)) {
                    int size = list.size();
                    if (size == 4) {
                        List<ComActDynDO> collect = list.stream().sorted(Comparator.comparing(ComActDynDO::getUpdateAt)).collect(Collectors.toList());
                        List<ComActDynDO> collect = list.stream().sorted(Comparator.comparing(ComActDynDO::getUpdateAt))
                            .collect(Collectors.toList());
                        ComActDynDO comActDynDO1 = collect.get(0);
                        comActDynDO1.setIsTopping(0);
                        boolean updateById = comActDynService.updateById(comActDynDO1);
@@ -421,7 +700,8 @@
    /**
     * 删除社区动态
     *
     * @param comActDynVO 动态id
     * @param comActDynVO
     *            动态id
     * @return 删除结果
     */
    @PostMapping("deletedynamic")
@@ -436,7 +716,8 @@
    /**
     * 分页查询社区动态
     *
     * @param comActDynVO 查询参数
     * @param comActDynVO
     *            查询参数
     * @return 动态集合
     */
    @PostMapping("pagedynamic")
@@ -447,7 +728,8 @@
    /**
     * 管理后台分页查询社区动态
     *
     * @param comActDynVO 查询参数
     * @param comActDynVO
     *            查询参数
     * @return 动态集合
     */
    @PostMapping("pagedynamicByAdmin")
@@ -458,7 +740,8 @@
    /**
     * 社区动态详情
     *
     * @param id 动态id
     * @param id
     *            动态id
     * @return 详情
     */
    @PostMapping("detaildynamic")
@@ -466,11 +749,11 @@
        return comActDynService.detailDynamic(id);
    }
    /**
     * 分页查询随手拍
     *
     * @param comActEasyPhotoVO 查询参数
     * @param comActEasyPhotoVO
     *            查询参数
     * @return 心愿列表
     */
    @PostMapping("pageeasyphoto")
@@ -481,13 +764,15 @@
    /**
     * 城管安排
     *
     * @param comActEasyPhotoVO 查询参数
     * @param comActEasyPhotoVO
     *            查询参数
     * @return 心愿列表
     */
    @PostMapping("updatePageeasyphoto")
    public R updatePageeasyphoto(@RequestBody ComActEasyPhotoVO comActEasyPhotoVO) {
        return comActEasyPhotoService.updatePageeasyphoto(comActEasyPhotoVO);
    }
    /**
     * 城管导出
     */
@@ -499,8 +784,10 @@
    /**
     * 随手拍详情
     *
     * @param id     随手拍主键
     * @param userId 登录用户
     * @param id
     *            随手拍主键
     * @param userId
     *            登录用户
     * @return 详情内容
     */
    @PostMapping("detaileasyphoto")
@@ -511,8 +798,10 @@
    /**
     * 随手拍删除
     *
     * @param id     随手拍主键
     * @param userId 登录用户
     * @param id
     *            随手拍主键
     * @param userId
     *            登录用户
     * @return 详情内容
     */
    @PostMapping("deleteEasyPhoto")
@@ -528,10 +817,12 @@
        }
        return R.fail();
    }
    /**
     * 分页查询微心愿
     *
     * @param comActMicroWishVO 查询参数
     * @param comActMicroWishVO
     *            查询参数
     * @return 分页集合
     */
    @PostMapping("pagemicrowish")
@@ -542,8 +833,10 @@
    /**
     * 心愿详情
     *
     * @param id     查询主键
     * @param userId 登录用户id
     * @param id
     *            查询主键
     * @param userId
     *            登录用户id
     * @return 心愿内容
     */
    @PostMapping("detailmicrowish")
@@ -554,7 +847,8 @@
    /**
     * 审核、分配、反馈心愿
     *
     * @param comActMicroWishVO 具体操作
     * @param comActMicroWishVO
     *            具体操作
     * @return 操作结果
     */
    @PostMapping("putlmicrowish")
@@ -565,7 +859,8 @@
    /**
     * 分页展示我的所有活动 时间倒序排列
     *
     * @param comActActivityVO 分页参数
     * @param comActActivityVO
     *            分页参数
     * @return 分页集合
     */
    @PostMapping("pagemyactivity")
@@ -576,7 +871,8 @@
    /**
     * 报名/取消报名社区活动
     *
     * @param signactivityVO 报名参数
     * @param signactivityVO
     *            报名参数
     * @return 报名 取消报名 结果
     */
    @PostMapping("signactivity")
@@ -587,7 +883,8 @@
    /**
     * 上传随手拍
     *
     * @param comActEasyPhotoVO 上传数据
     * @param comActEasyPhotoVO
     *            上传数据
     * @return 上传结果
     */
    @PostMapping("addeasyphoto")
@@ -597,6 +894,7 @@
    /**
     * 查询随手拍是否有活动
     *
     * @return  活动详情
     */
    @PostMapping("getEasyPhotoActivity")
@@ -607,7 +905,8 @@
    /**
     * 发布微心愿
     *
     * @param comActMicroWishVO 发布内容
     * @param comActMicroWishVO
     *            发布内容
     * @return 发布结果
     */
    @PostMapping("addmicrowish")
@@ -624,7 +923,8 @@
    /**
     * 点赞/取消点赞随手拍
     *
     * @param comActEasyPhotoVO 操作参数
     * @param comActEasyPhotoVO
     *            操作参数
     * @return 操作结果
     */
    @PostMapping("puteasyphoto")
@@ -635,7 +935,8 @@
    /**
     * 点赞/取消点赞微心愿
     *
     * @param comActMicroWishVO 操作参数
     * @param comActMicroWishVO
     *            操作参数
     * @return 操作结果
     */
    @PostMapping("putmicrowish")
@@ -646,8 +947,10 @@
    /**
     * 新增社区动态浏览记录
     *
     * @param id     动态主键
     * @param userId 登录用户id
     * @param id
     *            动态主键
     * @param userId
     *            登录用户id
     * @return 新增结果
     */
    @PostMapping("adddynamicuser")
@@ -658,7 +961,8 @@
    /**
     * 审核反馈随手拍
     *
     * @param comActEasyPhotoVO 操作参数
     * @param comActEasyPhotoVO
     *            操作参数
     * @return 操作结果
     */
    @PostMapping("puteasyphotostatus")
@@ -677,7 +981,8 @@
    /**
     * 新增社区
     *
     * @param comActVO 社区信息
     * @param comActVO
     *            社区信息
     * @return 新增结果
     */
    @PostMapping("addcommunity")
@@ -688,7 +993,8 @@
    /**
     * 编辑社区
     *
     * @param comActVO 编辑内容
     * @param comActVO
     *            编辑内容
     * @return 编辑结果
     */
    @PostMapping("putCommunity")
@@ -699,7 +1005,8 @@
    /**
     * 房屋信息
     *
     * @param userId 用户id
     * @param userId
     *            用户id
     * @return 房屋信息
     */
    @PostMapping("detailhouse")
@@ -710,7 +1017,8 @@
    /**
     * 新增小区
     *
     * @param comMngStructAreaVO 小区信息
     * @param comMngStructAreaVO
     *            小区信息
     * @return 新增结果
     */
    @PostMapping("addarea")
@@ -728,7 +1036,8 @@
    /**
     * 分页查询小区
     *
     * @param comMngStructAreaVO 查询参数
     * @param comMngStructAreaVO
     *            查询参数
     * @return 分页结果
     */
    @PostMapping("pagearea")
@@ -739,7 +1048,8 @@
    /**
     * 编辑小区
     *
     * @param comMngStructAreaVO 编辑内容
     * @param comMngStructAreaVO
     *            编辑内容
     * @return 编辑结果
     */
    @PostMapping("putarea")
@@ -747,11 +1057,11 @@
        return comMngStructAreaService.putArea(comMngStructAreaVO);
    }
    /**
     * 删除小区
     *
     * @param comMngStructAreaVO 地址编码
     * @param comMngStructAreaVO
     *            地址编码
     * @return 删除结果
     */
    @PostMapping("deletearea")
@@ -771,7 +1081,8 @@
    /**
     * 小区批量建房
     *
     * @param batchhouseVO 建房参数
     * @param batchhouseVO
     *            建房参数
     * @return 建房结果
     */
    @PostMapping("batchhouse")
@@ -797,7 +1108,8 @@
    /**
     * 展示下级建筑
     *
     * @param houseCode 房屋编号
     * @param houseCode
     *            房屋编号
     * @return 下级建筑列表
     */
    @PostMapping("listsubordinatebuilding")
@@ -808,7 +1120,8 @@
    /**
     * 添加同级地址
     *
     * @param batchhouseVO 添加地址
     * @param batchhouseVO
     *            添加地址
     * @return 添加结果
     */
    @PostMapping("addhouse")
@@ -828,7 +1141,6 @@
                }
            }
        }
        return r;
    }
@@ -836,7 +1148,8 @@
    /**
     * 编辑地址
     *
     * @param comMngStructHouseVO 编辑内容
     * @param comMngStructHouseVO
     *            编辑内容
     * @return 编辑结果
     */
    @PutMapping("puthouse")
@@ -847,7 +1160,8 @@
    /**
     * 删除地址
     *
     * @param comMngStructHouseVO 删除指定地址和所有下级
     * @param comMngStructHouseVO
     *            删除指定地址和所有下级
     * @return 删除结果
     */
    @PostMapping("deletehouse")
@@ -858,7 +1172,8 @@
    /**
     * 新增其他建筑
     *
     * @param comMngStructOtherBuildVO 建筑参数
     * @param comMngStructOtherBuildVO
     *            建筑参数
     * @return 新增结果
     */
    @PostMapping("addotherbuild")
@@ -868,6 +1183,7 @@
    /**
     * 查询所有建筑类型
     *
     * @return 类型列表
     */
    @PostMapping("listbuildtype")
@@ -877,7 +1193,9 @@
    /**
     * 分页查询 其他建筑
     * @param comMngStructOtherBuildVO 分页查询参数
     *
     * @param comMngStructOtherBuildVO
     *            分页查询参数
     * @return 查询结果
     */
    @PostMapping("pageotherbuild")
@@ -887,7 +1205,9 @@
    /**
     * 增加志愿者
     * @param comMngVolunteerMngVO 志愿者信息
     *
     * @param comMngVolunteerMngVO
     *            志愿者信息
     * @return 增加结果
     */
    @PostMapping("addvolunteer")
@@ -897,6 +1217,7 @@
    /**
     * 获取志愿者详情
     *
     * @param id
     * @return
     */
@@ -907,7 +1228,9 @@
    /**
     * 删除志愿者
     * @param comMngVolunteerMngVO 手机号
     *
     * @param comMngVolunteerMngVO
     *            手机号
     * @return 删除结果
     */
    @PostMapping("deletevolunteer")
@@ -917,7 +1240,9 @@
    /**
     * 编辑志愿者
     * @param comMngVolunteerMngVO 编辑内容
     *
     * @param comMngVolunteerMngVO
     *            编辑内容
     * @return 编辑结果
     */
    @PostMapping("putvolunteer")
@@ -927,7 +1252,9 @@
    /**
     * 分页展示志愿者
     * @param comMngVolunteerMngVO 查询参数
     *
     * @param comMngVolunteerMngVO
     *            查询参数
     * @return 分页集合返回
     */
    @PostMapping("pagevolunteer")
@@ -937,7 +1264,9 @@
    /**
     * 分页展示志愿者审核
     * @param comMngVolunteerMngVO 查询参数
     *
     * @param comMngVolunteerMngVO
     *            查询参数
     * @return 查询结果
     */
    @PostMapping("pagevolunteerexamine")
@@ -947,7 +1276,9 @@
    /**
     * 志愿者审核详情
     * @param id 主键
     *
     * @param id
     *            主键
     * @return 详情
     */
    @PostMapping("detailvolunteerexamine")
@@ -957,7 +1288,9 @@
    /**
     * 志愿者审核
     * @param comMngVolunteerMngVO 审核操作
     *
     * @param comMngVolunteerMngVO
     *            审核操作
     * @return 审核结果
     */
    @PostMapping("putvolunteerexamine")
@@ -967,7 +1300,9 @@
    /**
     * 删除志愿者审核
     * @param comMngVolunteerMngVO 主键
     *
     * @param comMngVolunteerMngVO
     *            主键
     * @return 删除结果
     */
    @PostMapping("deletevolunteerexamine")
@@ -977,7 +1312,9 @@
    /**
     * 查询区域
     * @param comActVO 登录人的经纬度、或者指定区域的社区
     *
     * @param comActVO
     *            登录人的经纬度、或者指定区域的社区
     * @return 社区集合
     */
    @PostMapping("listcommunity")
@@ -987,7 +1324,9 @@
    /**
     * 用户修改手机号对应的志愿者手机号也要修改
     * @param userPhoneVO 新旧手机号
     *
     * @param userPhoneVO
     *            新旧手机号
     * @return 修改结果
     */
    @PostMapping("putvolunteerphone")
@@ -997,8 +1336,11 @@
    /**
     * 房屋地址下拉列表
     * @param parentCode 父级编码
     * @param areaId 小区id
     *
     * @param parentCode
     *            父级编码
     * @param areaId
     *            小区id
     * @return 下级列表
     */
    @PostMapping("listhouses")
@@ -1016,7 +1358,9 @@
    /**
     * 新增房屋
     * @param comMngStructHouseVO 房屋信息
     *
     * @param comMngStructHouseVO
     *            房屋信息
     * @return 新增结果
     */
    @PostMapping("addhouses")
@@ -1032,7 +1376,9 @@
    /**
     * 查询小区
     * @param communityId 社区id
     *
     * @param communityId
     *            社区id
     * @return 小区集合
     */
    @PostMapping("listarea")
@@ -1042,7 +1388,9 @@
    /**
     * 用户参加的所有社区活动
     * @param userId 用户id
     *
     * @param userId
     *            用户id
     * @return 活动列表
     */
    @PostMapping("listactivity")
@@ -1052,7 +1400,9 @@
    /**
     * 用户确认心愿
     * @param comActMicroWishVO 用户评价
     *
     * @param comActMicroWishVO
     *            用户评价
     * @return 确认结果
     */
    @PostMapping("putmicrowishconfirm")
@@ -1062,7 +1412,9 @@
    /**
     * 建筑类型
     * @param communityId 社区id
     *
     * @param communityId
     *            社区id
     * @return 建筑集合
     */
    @PostMapping("listcommngstructbuildtype")
@@ -1072,7 +1424,9 @@
    /**
     * 增加删除建筑类型
     * @param systemmanagementConfigVO 操作内容
     *
     * @param systemmanagementConfigVO
     *            操作内容
     * @return  操作结果
     */
    @PostMapping("putcommngstructbuildtype")
@@ -1087,7 +1441,9 @@
    /**
     * 社区详情
     * @param communityId 社区id
     *
     * @param communityId
     *            社区id
     * @return 社区详情
     */
    @PostMapping("detailcommunity")
@@ -1097,7 +1453,9 @@
    /**
     * 小区详情
     * @param areaId 小区id
     *
     * @param areaId
     *            小区id
     * @return 小区信息
     */
    @PostMapping("detailarea")
@@ -1107,7 +1465,9 @@
    /**
     * 分页查询社区
     * @param pageComActDTO 查询参数
     *
     * @param pageComActDTO
     *            查询参数
     * @return 分页集合
     */
    @PostMapping("pagecommunity")
@@ -1117,7 +1477,9 @@
    /**
     * 志愿者详情
     * @param id 主键
     *
     * @param id
     *            主键
     * @return 志愿者
     */
    @PostMapping("detailvolunteer")
@@ -1135,6 +1497,7 @@
    /**
     * 查询平台所有的社区
     *
     * @return 社区集合 按照创建顺序倒序排列
     */
    @PostMapping("listcommunityall")
@@ -1144,12 +1507,16 @@
    /**
     * 社区管理后台数据看板 代办事件
     * @param communityId 社区id
     * @param userId 登录用户信息
     *
     * @param communityId
     *            社区id
     * @param userId
     *            登录用户信息
     * @return 代办事件列表
     */
    @PostMapping("indexdatacommunitybackstage")
    public R indexDataCommunityBackstage(@RequestParam("communityId") Long communityId, @RequestParam("userId")Long userId){
    public R indexDataCommunityBackstage(@RequestParam("communityId") Long communityId,
        @RequestParam("userId") Long userId) {
        List<TodoEventsVO> todoEventsVOS=new ArrayList<>();
        List<TodoEventsVO> todoEventsVOS1=comActEasyPhotoService.selectNeedToDo(communityId,userId);
        List<TodoEventsVO> todoEventsVOS2=comActMicroWishService.selectNeedToDo(communityId,userId);
@@ -1172,7 +1539,9 @@
    /**
     * 删除社区
     * @param communityId 社区id
     *
     * @param communityId
     *            社区id
     * @return 删除结果
     */
    @PostMapping("delectcommunity")
@@ -1182,14 +1551,17 @@
    /**
     * 定时任务刷新社区动态置顶状态
     *
     * @return 刷新结果
     */
    @PostMapping("timedtaskdynistopping")
    public R timedTaskDynIstopping(){
        return comActDynService.timedTaskDynIstopping();
    }
    /**
     * 定时任务刷新社区动态发布状态
     *
     * @return
     */
    @PostMapping("timedtaskdynstatus")
@@ -1199,6 +1571,7 @@
    /**
     * 定时任务查询所有要取消的社区活动
     *
     * @return  社区活动集合
     */
    @PostMapping("timedtaskactactivity")
@@ -1208,6 +1581,7 @@
    /**
     * 定时任务刷新社区活动的各个状态 除取消外
     *
     * @return 更新结果
     */
    @PostMapping("timedtaskactactivityall")
@@ -1217,6 +1591,7 @@
    /**
     * 定时任务刷新微心愿的状态
     *
     * @return 更新结果
     */
    @PostMapping("timedtaskactmicrowish")
@@ -1226,7 +1601,9 @@
    /**
     * 其他建筑详情
     * @param id 主键id
     *
     * @param id
     *            主键id
     * @return 建筑内容
     */
    @PostMapping("detailotherbuild")
@@ -1236,7 +1613,9 @@
    /**
     * 编辑其他建筑
     * @param comMngStructOtherBuildVO 编辑内容
     *
     * @param comMngStructOtherBuildVO
     *            编辑内容
     * @return 编辑结果
     */
    @PostMapping("putotherbuild")
@@ -1246,7 +1625,9 @@
    /**
     * 删除其他建筑
     * @param id 主键
     *
     * @param id
     *            主键
     * @return 删除结果
     */
    @PostMapping("deleteotherbuild")
@@ -1256,7 +1637,9 @@
    /**
     * 小程序分页查询随手拍
     * @param comActEasyPhotoVO 查询参数
     *
     * @param comActEasyPhotoVO
     *            查询参数
     * @return 返回结果
     */
    @PostMapping("pageeasyphotoapplets")
@@ -1266,7 +1649,9 @@
    /**
     * 随手拍评论分页查询
     * @param pageComActEasyPhotoCommentDTO 查询参数
     *
     * @param pageComActEasyPhotoCommentDTO
     *            查询参数
     * @return 查询结果
     */
    @PostMapping("pagecomacteasyphotocomment")
@@ -1276,7 +1661,9 @@
    /**
     * 评论点赞/取消点赞
     * @param comActEasyPhotoCommentUserDTO 操作
     *
     * @param comActEasyPhotoCommentUserDTO
     *            操作
     * @return 操作结果
     */
    @PostMapping("commentsign")
@@ -1286,7 +1673,9 @@
    /**
     * 随手拍--评论--新增评论
     * @param comActEasyPhotoCommentDTO 新增内容
     *
     * @param comActEasyPhotoCommentDTO
     *            新增内容
     * @return 新增结果
     */
    @PostMapping("addcomacteasyphotocomment")
@@ -1296,7 +1685,9 @@
    /**
     * 查询城市下属所有地区列表
     * @param cityAdcode 城市地址编码
     *
     * @param cityAdcode
     *            城市地址编码
     * @return 地区列表
     */
    @PostMapping("listareadistrict")
@@ -1306,7 +1697,9 @@
    /**
     * 首页图表数据汇总
     * @param communityId 社区id
     *
     * @param communityId
     *            社区id
     * @return 图表数据 IndexDataVO
     */
    @PostMapping("indexdatacommunitybackstageechart")
@@ -1316,8 +1709,11 @@
    /**
     * 选择导入的小区
     * @param param 小区名字 模糊查询
     * @param communityId 社区id
     *
     * @param param
     *            小区名字 模糊查询
     * @param communityId
     *            社区id
     * @return 小区集合 ComMngStructAreaVO
     */
    @PostMapping("listareas")
@@ -1327,16 +1723,21 @@
    /**
     * 检查小区是否已经批量设置过房屋并且返回小区房屋门号规则
     * @param id 小区id
     *
     * @param id
     *            小区id
     * @return ComMngStructAreaVO
     */
    @PostMapping("checkAreaHouse")
    public R checkAreaHouse(@RequestParam("id")Long id){
        return comMngStructAreaService.checkAreaHouse(id);
    }
    /**
     * 新增留言
     * @param comActMessageVO 新增留言信息
     *
     * @param comActMessageVO
     *            新增留言信息
     * @return 发布结果
     */
    @PostMapping("addmessage")
@@ -1344,41 +1745,52 @@
        //        微信内容审核
        return comActMessageService.addMessage(comActMessageVO);
    }
    /**
     * 我发的留言
     *
     * @return 结果集合
     */
    @PostMapping("pagemymessage")
    public R pageMyMessage (@RequestBody ComActMessageVO comActMessageVO){
        return comActMessageService.pageMyMessageApplets(comActMessageVO);
    }
    /**
     * 发给我的留言
     *
     * @return 结果集合
     */
    @PostMapping("pagesendtomemessage")
    public R pageSendToMessage (@RequestBody ComActMessageVO comActMessageVO){
        return comActMessageService.pageSendToMessageApplets(comActMessageVO);
    }
    /**
     * 根据id查询留言集合
     *
     * @return 结果集合
     */
    @PostMapping("pagemessagebyuser")
    public R pageMessageByUser (@RequestBody ComActMessageVO comActMessageVO){
        return comActMessageService.pageMessageByUserApplets(comActMessageVO);
    }
    /**
     * 社区留言
     *
     * @return 结果集合
     */
    @PostMapping("pagemycommunitymessage")
    public R pageMyCommunityMessage (@RequestBody ComActMessageVO comActMessageVO){
        return comActMessageService.pageMyCommunityMessageApplets(comActMessageVO);
    }
    /**
     * 新增留言回复
     * @param comActMessageBackVO 新增留言回复信息
     *
     * @param comActMessageBackVO
     *            新增留言回复信息
     * @return 发布结果
     */
    @PostMapping("addmessageback")
@@ -1386,6 +1798,7 @@
        //        微信内容审核
        return comActMessageService.addMessageBack(comActMessageBackVO);
    }
    @PostMapping("deletemessage")
    public R deleteMessage(@RequestBody ComActMessageVO comActMessageVO) {
        return comActMessageService.deleteMessage(comActMessageVO);
@@ -1399,7 +1812,8 @@
    /**
     * 留言详情
     *
     * @param id 主键
     * @param id
     *            主键
     * @return 详情内容
     */
    @PostMapping("detailmessage")
@@ -1409,6 +1823,7 @@
    /**
     * 导出房屋信息
     *
     * @param areaId
     * @return
     */
@@ -1419,8 +1834,11 @@
    /**
     * 查看用户问卷调查详细
     * @param userId 用户ID
     * @param questId 问卷ID
     *
     * @param userId
     *            用户ID
     * @param questId
     *            问卷ID
     * @return 用户问卷调查详细
     */
    @GetMapping("questnaire/usersanswer")
@@ -1430,7 +1848,9 @@
    /**
     * 查看问卷调查详细
     * @param questId 问卷ID
     *
     * @param questId
     *            问卷ID
     * @return 用户问卷调查详细
     */
    @GetMapping("questnaire/view")
@@ -1450,8 +1870,11 @@
    /**
     * 小程序-问卷调查详情
     * @param userId    用户id
     * @param questId   问卷id
     *
     * @param userId
     *            用户id
     * @param questId
     *            问卷id
     * @return  问卷调查详情
     */
    @GetMapping("questnaire/view/detail")
@@ -1461,7 +1884,9 @@
    /**
     * 社区后台-查询问卷调查详情
     * @param questId   问卷id
     *
     * @param questId
     *            问卷id
     * @return  问卷调查详情
     */
    @GetMapping("questnaire/admin/detail")
@@ -1469,9 +1894,9 @@
        return comActQuestnaireService.getQuesDetailAdmin(questId);
    }
    /**
     * 新增社区问卷
     *
     * @param questnaireVO
     * @return
     */
@@ -1482,7 +1907,9 @@
    /**
     * 小程序-社区问卷列表
     * @param pageQuestnaireDTO 请求参数
     *
     * @param pageQuestnaireDTO
     *            请求参数
     * @return  社区问卷列表
     */
    @PostMapping("questnaire/pagequestnaire")
@@ -1492,7 +1919,9 @@
    /**
     * 社区后台-社区问卷列表
     * @param pageQuestnaireDTO 请求参数
     *
     * @param pageQuestnaireDTO
     *            请求参数
     * @return  社区问卷列表
     */
    @PostMapping("questnaire/admin/pagequestnaire")
@@ -1502,6 +1931,7 @@
    /**
     * 编辑问卷——问卷、题目、选项
     *
     * @param questnaireVO
     * @return
     */
@@ -1512,6 +1942,7 @@
    /**
     * 修改问卷状态
     *
     * @param editComActQuestnaireVo
     * @return
     */
@@ -1522,7 +1953,9 @@
    /**
     * 删除问卷  ——隐藏
     * @param questId 调查问卷Id
     *
     * @param questId
     *            调查问卷Id
     * @return
     */
    @Transactional(rollbackFor = Exception.class)
@@ -1533,7 +1966,9 @@
    /**
     * 查看用户问卷调查统计信息
     * @param questId 问卷ID
     *
     * @param questId
     *            问卷ID
     * @return 用户问卷调查统计信息
     */
    @GetMapping("questnaire/stat")
@@ -1544,16 +1979,19 @@
    /**
     * 问卷答题结果
     *
     * @param questId 问卷ID
     * @param questId
     *            问卷ID
     */
    @PostMapping("questnaire/answerslist")
    public R answerResultList(@RequestParam("questId")Long questId){
        return  comActQuestnaireService.answerResultList(questId);
    }
    /**
     * 问卷题目 答卷信息
     *
     * @param pageQuestnaireSubDetailsDTO 问卷ID
     * @param pageQuestnaireSubDetailsDTO
     *            问卷ID
     */
    @PostMapping("questnaire/qaqeustanswerdetails")
    public R qaQeustAnswerDetails(@RequestBody PageQuestnaireSubDetailsDTO pageQuestnaireSubDetailsDTO){
@@ -1562,6 +2000,7 @@
    /**
     * 社区问卷回答用户分页
     *
     * @param pageQuestnaireAnswerDTO
     * @return 分页数据
     */
@@ -1580,8 +2019,11 @@
    /**
     * 小程序-用户弹窗添加不在提醒接口
     * @param questId   问卷id
     * @param userId    用户id
     *
     * @param questId
     *            问卷id
     * @param userId
     *            用户id
     * @return  添加结果
     */
    @GetMapping("questnaire/add/noNotice")
@@ -1591,6 +2033,7 @@
    /**
     * 删除微心愿
     *
     * @param id
     * @return
     */
@@ -1599,58 +2042,61 @@
        return comActMicroWishService.deleteMicroWish(id);
    }
    /**
     * 新增高龄认证
     *
     * @param eldersAuthAddDTO
     * @return 新增结果
     */
    @PostMapping("/eldersauth/add")
    R add(@RequestBody EldersAuthAddDTO eldersAuthAddDTO){
        return eldersAuthService.add(eldersAuthAddDTO);
    };
    }
    /**
     * 修改高龄认证
     *
     * @param eldersAuthEditDTO
     * @return 维护结果
     */
    @PostMapping("/eldersauth/edit")
    R edit(@RequestBody EldersAuthEditDTO eldersAuthEditDTO){
        return eldersAuthService.edit(eldersAuthEditDTO);
    };
    }
    /**
     * 分页查找高龄认证
     *
     * @param pageEldersAuthDTO
     * @return 维护结果
     */
    @PostMapping("/eldersauth/page")
    R<IPage<EldersAuthVO>> query(@RequestBody PageEldersAuthDTO pageEldersAuthDTO){
        return eldersAuthService.query(pageEldersAuthDTO);
    };
    }
    /**
     * 删除高龄认证
     *
     * @param EldersAuthDeleteDTO
     * @return 平台用户信息
     */
    @PostMapping("/eldersauth/delete")
    R delete(@RequestBody EldersAuthDeleteDTO EldersAuthDeleteDTO){
        return eldersAuthService.delete(EldersAuthDeleteDTO);
    };
    }
    /**
     * 查询高龄认证详细信息
     * @param id 高龄认证 id
     *
     * @param id
     *            高龄认证 id
     * @return 查找结果
     */
    @PostMapping("/eldersauth/{id}")
    R<EldersAuthDetailsVO> eldersAuthDetails(@PathVariable("id") Long id){
        return eldersAuthService.eldersAuthDetails(id);
    };
    }
    @PostMapping("/eldersauth/getMyfamilyElders/{userId}")
    R<List<ComMngFamilyInfoVO>> getMyfamilyElders(@PathVariable("userId") Long userId){
@@ -1716,8 +2162,10 @@
                throw  new ServiceException("添加认证失败,更新认证状态");
            }
            //认证成功  添加认证记录
            List<ComEldersAuthHistoryRecordDO> authHistoryRecordDOList = comEldersAuthHistoryRecordMapper.selectList(new QueryWrapper<ComEldersAuthHistoryRecordDO>()
                    .lambda().eq(ComEldersAuthHistoryRecordDO::getIdCard,idCard).ge(ComEldersAuthHistoryRecordDO::getCreateAt, DateUtils.getFirstDayOfMonth()));
            List<ComEldersAuthHistoryRecordDO> authHistoryRecordDOList =
                comEldersAuthHistoryRecordMapper.selectList(new QueryWrapper<ComEldersAuthHistoryRecordDO>().lambda()
                    .eq(ComEldersAuthHistoryRecordDO::getIdCard, idCard)
                    .ge(ComEldersAuthHistoryRecordDO::getCreateAt, DateUtils.getFirstDayOfMonth()));
            if(authHistoryRecordDOList.isEmpty()){
                ComEldersAuthHistoryRecordDO authHistoryRecordDO = new ComEldersAuthHistoryRecordDO();
                authHistoryRecordDO.setUserId(eldersAuthAddByFamilyDTO.getFamilyUserId());
@@ -1738,7 +2186,9 @@
    /**
     * 新增高龄认证社区反馈
     * @param {classNameFirstLower}AddDTO 添加高龄认证社区反馈传递对象
     *
     * @param {classNameFirstLower}AddDTO
     *            添加高龄认证社区反馈传递对象
     * @return 新增结果
     */
    @PostMapping("/eldersauth/addFeedback")
@@ -1756,8 +2206,8 @@
            sysUserNoticeVO.setTitle("高龄认证社区反馈");
            sysUserNoticeVO.setBusinessType(13);
            sysUserNoticeVO.setBusinessTitle(" ");
            sysUserNoticeVO.setBusinessContent("你提交【" +eldersAuthDO.getAuthUserName() + "】的高龄认证,社区反馈:"
                    + eldersAuthFeedbackAddDTO.getFeedBack());
            sysUserNoticeVO.setBusinessContent(
                "你提交【" + eldersAuthDO.getAuthUserName() + "】的高龄认证,社区反馈:" + eldersAuthFeedbackAddDTO.getFeedBack());
            sysUserNoticeVO.setBusinessId(eldersAuthDO.getId());
            sysUserNoticeVO.setStatus(0);
            sysUserNoticeVO.setBusinessStatus(2);
@@ -1773,8 +2223,9 @@
                try {
                    WxXCXTempSend util = new WxXCXTempSend();
                    String accessToken = util.getAppAccessToken();
                    WxUtil.sendSubscribeRZSH(openid,accessToken,"高龄认证"
                            ,DateUtils.format(eldersAuthDO.getCreateAt(),DateUtils.ymdhms_format),eldersAuthFeedbackAddDTO.getFeedBack());
                    WxUtil.sendSubscribeRZSH(openid, accessToken, "高龄认证",
                        DateUtils.format(eldersAuthDO.getCreateAt(), DateUtils.ymdhms_format),
                        eldersAuthFeedbackAddDTO.getFeedBack());
                }catch (Exception e){
                    log.error("推送审核状态订阅消息失败,失败原因:" + e.getMessage());
                }
@@ -1783,9 +2234,9 @@
        return addR;
    }
    /**
     * 查询导出高龄老人
     *
     * @param pageEldersAuthDTO
     * @return
     */
@@ -1796,8 +2247,11 @@
    /**
     * 设置社区认证方式
     * @param communityId 社区ID
     * @param type 核验类型(1.视频认证 2.人脸核验)
     *
     * @param communityId
     *            社区ID
     * @param type
     *            核验类型(1.视频认证 2.人脸核验)
     * @return
     */
    @PostMapping("/elders/setCommunityAuthType")
@@ -1807,6 +2261,7 @@
    /**
     * 随手拍活动定时任务
     *
     * @return  执行结果
     */
    @PostMapping("timeTaskEasyPhotoActivity")
@@ -1816,7 +2271,9 @@
    /**
     * 社区随手拍列表统计
     * @param communityId   社区id
     *
     * @param communityId
     *            社区id
     * @return  统计结果
     */
    @GetMapping("easyphoto/statistics")
@@ -1826,6 +2283,7 @@
    /**
     * 综治后台-查询社区列表
     *
     * @return  社区列表
     */
    @GetMapping("/eventgrid/community/list")
@@ -1835,7 +2293,9 @@
    /**
     * 随手拍发放奖励
     * @param grantRewardDTO    请求参数
     *
     * @param grantRewardDTO
     *            请求参数
     * @return  发放结果
     */
    @PostMapping("/easyphoto/grantReward")
@@ -1845,8 +2305,11 @@
    /**
     * 获取最新活动和用户最新收益
     * @param userId    用户id
     * @param communityId   社区id
     *
     * @param userId
     *            用户id
     * @param communityId
     *            社区id
     * @return  最新活动和用户最新收益
     */
    @PostMapping("easyphoto/getUserReward")
@@ -1856,7 +2319,9 @@
    /**
     * 读取用户随手拍奖励
     * @param userId    用户id
     *
     * @param userId
     *            用户id
     * @return  读取结果
     */
    @PostMapping("easyphoto/readUserReward")
@@ -1874,7 +2339,9 @@
    /**
     * 问卷调查统计汇总
     * @param summaryDTO   请求参数
     *
     * @param summaryDTO
     *            请求参数
     * @return  统计汇总
     */
    @PostMapping("questnaire/statisticsSummary")
@@ -1884,7 +2351,9 @@
    /**
     * 问卷调查统计汇总导出数据查询
     * @param questId   调查问卷id
     *
     * @param questId
     *            调查问卷id
     * @return  调查统计汇总导出数据
     */
    @GetMapping("questnaire/statisticsSummary/export")
@@ -1894,11 +2363,14 @@
    /**
     * 问卷调查统计汇总表头统计
     * @param questId   调查问卷id
     *
     * @param questId
     *            调查问卷id
     * @return  问卷调查统计汇总表头统计数据
     */
    @GetMapping("questnaire/statisticsSummary/header")
    public R statisticsSummaryHeader(@RequestParam("questId") Long questId,@RequestParam("communityId") Long communityId) {
    public R statisticsSummaryHeader(@RequestParam("questId") Long questId,
        @RequestParam("communityId") Long communityId) {
        return comActQuestnaireService.statisticsSummaryHeader(questId,communityId);
    }
@@ -1911,8 +2383,18 @@
    }
    /**
     * 定时任务针对活动结束后7天还未评价的用户默认好评
     */
    @PostMapping("activity/default-praise")
    public R timedTaskActivityDefaultPraise() {
        return comActActEvaluateService.timedTaskActivityDefaultPraise();
    }
    /**
     * 小程序-新增问卷调查浏览数量
     * @param questId   问卷调查id
     *
     * @param questId
     *            问卷调查id
     * @return  增加结果
     */
    @GetMapping("questnaire/add/view")
@@ -1922,7 +2404,9 @@
    /**
     * 社区后台-切换随手拍公示状态
     * @param comActEasyPhotoVO 请求参数
     *
     * @param comActEasyPhotoVO
     *            请求参数
     * @return  切换结果
     */
    @PostMapping("easyphoto/switch/publicity")
@@ -1932,7 +2416,9 @@
    /**
     * 查询社区待处理随手拍id集合
     * @param communityId   社区id
     *
     * @param communityId
     *            社区id
     * @return  社区待处理随手拍id集合
     */
    @GetMapping("easyphoto/noHandle/list")