From 5a278a0965b417e7f39e8c209e2ff401f415066a Mon Sep 17 00:00:00 2001
From: 101captain <237651143@qq.com>
Date: 星期一, 21 二月 2022 14:07:48 +0800
Subject: [PATCH] Merge branch 'hemenkou_dev' into dev

---
 springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java |  638 +++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 459 insertions(+), 179 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
index 5d0ee28..4894eb4 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
@@ -1,15 +1,36 @@
 package com.panzhihua.service_community.api;
 
-import java.util.*;
-import java.util.stream.Collectors;
+import static java.util.stream.Collectors.toList;
+
+import java.math.BigDecimal;
+import java.math.RoundingMode;
+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 javax.annotation.Resource;
 
+import com.panzhihua.common.model.vos.community.ComActActivityTypeVO;
+import com.panzhihua.common.model.vos.community.volunteer.ComMngVolunteerExcelVO;
+import com.panzhihua.common.model.vos.user.SysTemplateConfigVO;
+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;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.*;
+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;
@@ -17,12 +38,46 @@
 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.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;
+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;
@@ -30,13 +85,17 @@
 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 cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.IdcardUtil;
 import lombok.extern.slf4j.Slf4j;
 
@@ -92,6 +151,12 @@
     private ComActEasyPhotoActivityService comActEasyPhotoActivityService;
     @Resource
     private ComActActEvaluateService comActActEvaluateService;
+    @Resource
+    private ComEldersAuthElderlyService comEldersAuthElderlyService;
+    @Resource
+    private ComActMicroWishOperationRecordService wishOperationRecordService;
+    @Resource
+    private ComActActEvaluateDAO comActActEvaluateDAO;
 
     /**
      * 新增社区活动
@@ -217,12 +282,13 @@
                         });
                     }
                     comActActivityVO1.setComActActPrizeVOList(comActActPrizeVOList);
-                    Integer participantMax = comActActivityVO1.getParticipantMax();
-                    if (participantMax.intValue() == 0) {
+                    Integer volunteerMax = comActActivityVO1.getVolunteerMax();
+                    if (volunteerMax.intValue() != 0) {
                         comActActivityVO1.setType(1);
                     } else {
                         comActActivityVO1.setType(2);
                     }
+                    fillActivitySignList(id, comActActivityVO1);
                 });
                 page.setRecords(content);
             }
@@ -233,7 +299,7 @@
 
     /**
      * 社区后台分页查询社区活动
-     * 
+     *
      * @param comActActivityVO
      *            查询参数
      * @return 返回结果
@@ -276,7 +342,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("活动不存在");
@@ -294,22 +362,47 @@
             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());
+        IPage<ComActActEvaluateVO> comActActEvaluatePage = comActActEvaluateDAO.getEvaluateListPage(new Page(pageNum,pageSize),id);
+        comActActivityVO.setComActActEvaluateVOList(comActActEvaluatePage.getRecords());
+        //活动评价总数
+        comActActivityVO.setEvaluateAmount(comActActEvaluatePage.getTotal());
+        List<ComActActEvaluateDO> comActActEvaluateList = comActActEvaluateDAO
+                .selectList(new QueryWrapper<ComActActEvaluateDO>().lambda().eq(ComActActEvaluateDO::getActivityId, id));
+        if (comActActEvaluateList != null && comActActEvaluateList.size() > 0) {
+            BigDecimal starNum = BigDecimal.ZERO;
+            //总星级
+            for (ComActActEvaluateDO evaluate:comActActEvaluateList) {
+                starNum = starNum.add(BigDecimal.valueOf(evaluate.getStarLevel()==null?0:evaluate.getStarLevel()));
+            }
+            //评分星级(如果无评分默认5分)=总星级/总评价人数
+            if(starNum.compareTo(BigDecimal.ZERO) == 0){
+                comActActivityVO.setEvaluateLevel(BigDecimal.valueOf(5));
+            }else{
+                comActActivityVO.setEvaluateLevel(starNum.divide(BigDecimal.valueOf(comActActEvaluateList.size()),2, RoundingMode.HALF_UP));
+            }
+        }else{
+            comActActivityVO.setEvaluateLevel(BigDecimal.valueOf(5));
         }
+        //当前用户对活动的评分
+        ComActActEvaluateVO userActEvaluateVO = comActActEvaluateDAO.getEvaluateListByUserId(id,userId);
+        if(userActEvaluateVO != null){
+            comActActivityVO.setMyRating(userActEvaluateVO.getStarLevel());
+        }
+        fillActivitySignList(id, comActActivityVO);
+        comActActivityVO.setIntegral(0);
+        return R.ok(comActActivityVO);
+    }
+
+    /**
+     * 填充活动报名名单
+     * @param activityId 活动id
+     * @param comActActivityVO 需填充VO
+     */
+    private void fillActivitySignList(Long activityId, ComActActivityVO comActActivityVO) {
         //活动报名名单
         ActivitySignVO activitySignVO = new ActivitySignVO();
-        activitySignVO.setActivityId(id);
+        activitySignVO.setActivityId(activityId);
+        activitySignVO.setStatus(1);
         R r = comActActivityService.listActivitySigns(activitySignVO);
         if (R.isOk(r)) {
             List<ActivitySignVO> activitySignVOS =
@@ -321,7 +414,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) {
@@ -331,7 +424,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) {
@@ -343,8 +436,50 @@
             }
 
         }
-        comActActivityVO.setIntegral(0);
-        return R.ok(comActActivityVO);
+    }
+
+    /**
+     * 活动签到
+     *
+     * @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);
     }
 
     /**
@@ -468,6 +603,18 @@
     }
 
     /**
+     * 获取系统预置图库  getSysPictureList
+     * @param type 图库类型
+     * @return    R   系统图库集
+     * @author txb
+     * @date 2021/8/27 13:33
+     */
+    @GetMapping("/activity/sysPicture/getList")
+    public R getSysPictureList(@RequestParam(value = "type") Integer type){
+        return comActActivityService.getSysPictureList(type);
+    }
+
+    /**
      * 新增社区动态
      *
      * @param comActDynVO
@@ -490,7 +637,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);
@@ -543,7 +690,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);
@@ -691,6 +838,11 @@
         return comActMicroWishService.pageMicroWish(comActMicroWishVO);
     }
 
+    @PostMapping("pagemicrowish/applets")
+    public R pageMicroWishApplets(@RequestBody ComActMicroWishVO comActMicroWishVO) {
+        return comActMicroWishService.pageMicroWishApplets(comActMicroWishVO);
+    }
+
     /**
      * 心愿详情
      *
@@ -755,7 +907,7 @@
 
     /**
      * 查询随手拍是否有活动
-     * 
+     *
      * @return 活动详情
      */
     @PostMapping("getEasyPhotoActivity")
@@ -776,6 +928,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();
@@ -1044,7 +1198,7 @@
 
     /**
      * 查询所有建筑类型
-     * 
+     *
      * @return 类型列表
      */
     @PostMapping("listbuildtype")
@@ -1054,7 +1208,7 @@
 
     /**
      * 分页查询 其他建筑
-     * 
+     *
      * @param comMngStructOtherBuildVO
      *            分页查询参数
      * @return 查询结果
@@ -1066,7 +1220,7 @@
 
     /**
      * 增加志愿者
-     * 
+     *
      * @param comMngVolunteerMngVO
      *            志愿者信息
      * @return 增加结果
@@ -1078,7 +1232,7 @@
 
     /**
      * 获取志愿者详情
-     * 
+     *
      * @param id
      * @return
      */
@@ -1089,7 +1243,7 @@
 
     /**
      * 删除志愿者
-     * 
+     *
      * @param comMngVolunteerMngVO
      *            手机号
      * @return 删除结果
@@ -1101,7 +1255,7 @@
 
     /**
      * 编辑志愿者
-     * 
+     *
      * @param comMngVolunteerMngVO
      *            编辑内容
      * @return 编辑结果
@@ -1113,7 +1267,7 @@
 
     /**
      * 分页展示志愿者
-     * 
+     *
      * @param comMngVolunteerMngVO
      *            查询参数
      * @return 分页集合返回
@@ -1125,7 +1279,7 @@
 
     /**
      * 分页展示志愿者审核
-     * 
+     *
      * @param comMngVolunteerMngVO
      *            查询参数
      * @return 查询结果
@@ -1137,7 +1291,7 @@
 
     /**
      * 志愿者审核详情
-     * 
+     *
      * @param id
      *            主键
      * @return 详情
@@ -1149,7 +1303,7 @@
 
     /**
      * 志愿者审核
-     * 
+     *
      * @param comMngVolunteerMngVO
      *            审核操作
      * @return 审核结果
@@ -1161,7 +1315,7 @@
 
     /**
      * 删除志愿者审核
-     * 
+     *
      * @param comMngVolunteerMngVO
      *            主键
      * @return 删除结果
@@ -1173,7 +1327,7 @@
 
     /**
      * 查询区域
-     * 
+     *
      * @param comActVO
      *            登录人的经纬度、或者指定区域的社区
      * @return 社区集合
@@ -1185,7 +1339,7 @@
 
     /**
      * 用户修改手机号对应的志愿者手机号也要修改
-     * 
+     *
      * @param userPhoneVO
      *            新旧手机号
      * @return 修改结果
@@ -1197,7 +1351,7 @@
 
     /**
      * 房屋地址下拉列表
-     * 
+     *
      * @param parentCode
      *            父级编码
      * @param areaId
@@ -1219,7 +1373,7 @@
 
     /**
      * 新增房屋
-     * 
+     *
      * @param comMngStructHouseVO
      *            房屋信息
      * @return 新增结果
@@ -1237,7 +1391,7 @@
 
     /**
      * 查询小区
-     * 
+     *
      * @param communityId
      *            社区id
      * @return 小区集合
@@ -1249,19 +1403,20 @@
 
     /**
      * 用户参加的所有社区活动
-     * 
+     *
      * @param userId
      *            用户id
      * @return 活动列表
      */
     @PostMapping("listactivity")
-    public R listActivity(@RequestParam("userId") Long userId) {
-        return comActActivityService.listActivity(userId);
+    public R listActivity(@RequestParam("userId") Long userId,
+                          @RequestParam(value = "status", required = false) Integer status) {
+        return comActActivityService.listActivity(userId, status);
     }
 
     /**
      * 用户确认心愿
-     * 
+     *
      * @param comActMicroWishVO
      *            用户评价
      * @return 确认结果
@@ -1273,7 +1428,7 @@
 
     /**
      * 建筑类型
-     * 
+     *
      * @param communityId
      *            社区id
      * @return 建筑集合
@@ -1285,7 +1440,7 @@
 
     /**
      * 增加删除建筑类型
-     * 
+     *
      * @param systemmanagementConfigVO
      *            操作内容
      * @return 操作结果
@@ -1302,7 +1457,7 @@
 
     /**
      * 社区详情
-     * 
+     *
      * @param communityId
      *            社区id
      * @return 社区详情
@@ -1314,7 +1469,7 @@
 
     /**
      * 小区详情
-     * 
+     *
      * @param areaId
      *            小区id
      * @return 小区信息
@@ -1326,7 +1481,7 @@
 
     /**
      * 分页查询社区
-     * 
+     *
      * @param pageComActDTO
      *            查询参数
      * @return 分页集合
@@ -1338,7 +1493,7 @@
 
     /**
      * 志愿者详情
-     * 
+     *
      * @param id
      *            主键
      * @return 志愿者
@@ -1358,17 +1513,17 @@
 
     /**
      * 查询平台所有的社区
-     * 
+     *
      * @return 社区集合 按照创建顺序倒序排列
      */
     @PostMapping("listcommunityall")
-    public R listCommunityAll() {
-        return comActService.listCommunityAll();
+    public R listCommunityAll(@RequestParam("areaCode") String areaCode) {
+        return comActService.listCommunityAll(areaCode);
     }
 
     /**
      * 社区管理后台数据看板 代办事件
-     * 
+     *
      * @param communityId
      *            社区id
      * @param userId
@@ -1400,7 +1555,7 @@
 
     /**
      * 删除社区
-     * 
+     *
      * @param communityId
      *            社区id
      * @return 删除结果
@@ -1412,7 +1567,7 @@
 
     /**
      * 定时任务刷新社区动态置顶状态
-     * 
+     *
      * @return 刷新结果
      */
     @PostMapping("timedtaskdynistopping")
@@ -1422,7 +1577,7 @@
 
     /**
      * 定时任务刷新社区动态发布状态
-     * 
+     *
      * @return
      */
     @PostMapping("timedtaskdynstatus")
@@ -1432,7 +1587,7 @@
 
     /**
      * 定时任务查询所有要取消的社区活动
-     * 
+     *
      * @return 社区活动集合
      */
     @PostMapping("timedtaskactactivity")
@@ -1442,7 +1597,7 @@
 
     /**
      * 定时任务刷新社区活动的各个状态 除取消外
-     * 
+     *
      * @return 更新结果
      */
     @PostMapping("timedtaskactactivityall")
@@ -1452,7 +1607,7 @@
 
     /**
      * 定时任务刷新微心愿的状态
-     * 
+     *
      * @return 更新结果
      */
     @PostMapping("timedtaskactmicrowish")
@@ -1462,7 +1617,7 @@
 
     /**
      * 其他建筑详情
-     * 
+     *
      * @param id
      *            主键id
      * @return 建筑内容
@@ -1474,7 +1629,7 @@
 
     /**
      * 编辑其他建筑
-     * 
+     *
      * @param comMngStructOtherBuildVO
      *            编辑内容
      * @return 编辑结果
@@ -1486,7 +1641,7 @@
 
     /**
      * 删除其他建筑
-     * 
+     *
      * @param id
      *            主键
      * @return 删除结果
@@ -1498,7 +1653,7 @@
 
     /**
      * 小程序分页查询随手拍
-     * 
+     *
      * @param comActEasyPhotoVO
      *            查询参数
      * @return 返回结果
@@ -1510,7 +1665,7 @@
 
     /**
      * 随手拍评论分页查询
-     * 
+     *
      * @param pageComActEasyPhotoCommentDTO
      *            查询参数
      * @return 查询结果
@@ -1522,7 +1677,7 @@
 
     /**
      * 评论点赞/取消点赞
-     * 
+     *
      * @param comActEasyPhotoCommentUserDTO
      *            操作
      * @return 操作结果
@@ -1534,7 +1689,7 @@
 
     /**
      * 随手拍--评论--新增评论
-     * 
+     *
      * @param comActEasyPhotoCommentDTO
      *            新增内容
      * @return 新增结果
@@ -1546,7 +1701,7 @@
 
     /**
      * 查询城市下属所有地区列表
-     * 
+     *
      * @param cityAdcode
      *            城市地址编码
      * @return 地区列表
@@ -1558,7 +1713,7 @@
 
     /**
      * 首页图表数据汇总
-     * 
+     *
      * @param communityId
      *            社区id
      * @return 图表数据 IndexDataVO
@@ -1570,7 +1725,7 @@
 
     /**
      * 选择导入的小区
-     * 
+     *
      * @param param
      *            小区名字 模糊查询
      * @param communityId
@@ -1584,7 +1739,7 @@
 
     /**
      * 检查小区是否已经批量设置过房屋并且返回小区房屋门号规则
-     * 
+     *
      * @param id
      *            小区id
      * @return ComMngStructAreaVO
@@ -1596,7 +1751,7 @@
 
     /**
      * 新增留言
-     * 
+     *
      * @param comActMessageVO
      *            新增留言信息
      * @return 发布结果
@@ -1609,7 +1764,7 @@
 
     /**
      * 我发的留言
-     * 
+     *
      * @return 结果集合
      */
     @PostMapping("pagemymessage")
@@ -1619,7 +1774,7 @@
 
     /**
      * 发给我的留言
-     * 
+     *
      * @return 结果集合
      */
     @PostMapping("pagesendtomemessage")
@@ -1629,7 +1784,7 @@
 
     /**
      * 根据id查询留言集合
-     * 
+     *
      * @return 结果集合
      */
     @PostMapping("pagemessagebyuser")
@@ -1639,7 +1794,7 @@
 
     /**
      * 社区留言
-     * 
+     *
      * @return 结果集合
      */
     @PostMapping("pagemycommunitymessage")
@@ -1649,7 +1804,7 @@
 
     /**
      * 新增留言回复
-     * 
+     *
      * @param comActMessageBackVO
      *            新增留言回复信息
      * @return 发布结果
@@ -1684,7 +1839,7 @@
 
     /**
      * 导出房屋信息
-     * 
+     *
      * @param areaId
      * @return
      */
@@ -1695,7 +1850,7 @@
 
     /**
      * 查看用户问卷调查详细
-     * 
+     *
      * @param userId
      *            用户ID
      * @param questId
@@ -1709,7 +1864,7 @@
 
     /**
      * 查看问卷调查详细
-     * 
+     *
      * @param questId
      *            问卷ID
      * @return 用户问卷调查详细
@@ -1731,7 +1886,7 @@
 
     /**
      * 小程序-问卷调查详情
-     * 
+     *
      * @param userId
      *            用户id
      * @param questId
@@ -1745,7 +1900,7 @@
 
     /**
      * 社区后台-查询问卷调查详情
-     * 
+     *
      * @param questId
      *            问卷id
      * @return 问卷调查详情
@@ -1757,7 +1912,7 @@
 
     /**
      * 新增社区问卷
-     * 
+     *
      * @param questnaireVO
      * @return
      */
@@ -1768,7 +1923,7 @@
 
     /**
      * 小程序-社区问卷列表
-     * 
+     *
      * @param pageQuestnaireDTO
      *            请求参数
      * @return 社区问卷列表
@@ -1780,7 +1935,7 @@
 
     /**
      * 社区后台-社区问卷列表
-     * 
+     *
      * @param pageQuestnaireDTO
      *            请求参数
      * @return 社区问卷列表
@@ -1792,7 +1947,7 @@
 
     /**
      * 编辑问卷——问卷、题目、选项
-     * 
+     *
      * @param questnaireVO
      * @return
      */
@@ -1803,7 +1958,7 @@
 
     /**
      * 修改问卷状态
-     * 
+     *
      * @param editComActQuestnaireVo
      * @return
      */
@@ -1814,7 +1969,7 @@
 
     /**
      * 删除问卷 ——隐藏
-     * 
+     *
      * @param questId
      *            调查问卷Id
      * @return
@@ -1827,7 +1982,7 @@
 
     /**
      * 查看用户问卷调查统计信息
-     * 
+     *
      * @param questId
      *            问卷ID
      * @return 用户问卷调查统计信息
@@ -1861,7 +2016,7 @@
 
     /**
      * 社区问卷回答用户分页
-     * 
+     *
      * @param pageQuestnaireAnswerDTO
      * @return 分页数据
      */
@@ -1880,7 +2035,7 @@
 
     /**
      * 小程序-用户弹窗添加不在提醒接口
-     * 
+     *
      * @param questId
      *            问卷id
      * @param userId
@@ -1894,7 +2049,7 @@
 
     /**
      * 删除微心愿
-     * 
+     *
      * @param id
      * @return
      */
@@ -1905,7 +2060,7 @@
 
     /**
      * 新增高龄认证
-     * 
+     *
      * @param eldersAuthAddDTO
      * @return 新增结果
      */
@@ -1916,7 +2071,7 @@
 
     /**
      * 修改高龄认证
-     * 
+     *
      * @param eldersAuthEditDTO
      * @return 维护结果
      */
@@ -1927,7 +2082,7 @@
 
     /**
      * 分页查找高龄认证
-     * 
+     *
      * @param pageEldersAuthDTO
      * @return 维护结果
      */
@@ -1938,7 +2093,7 @@
 
     /**
      * 删除高龄认证
-     * 
+     *
      * @param EldersAuthDeleteDTO
      * @return 平台用户信息
      */
@@ -1949,7 +2104,7 @@
 
     /**
      * 查询高龄认证详细信息
-     * 
+     *
      * @param id
      *            高龄认证 id
      * @return 查找结果
@@ -1982,72 +2137,76 @@
         if (authUserDO == null) {
             return R.fail("未查询到老人信息");
         }
-
-        Long elderId = authUserDO.getId();
-        boolean canReAuthThisMonth = comEldersAuthUserService.checkReAuthAgain(elderId);
-        if (!canReAuthThisMonth) {
-            return R.fail("当月已认证,不能再次进行认证");
-        }
-
+        //根据身份证获取出生日期并获取岁数
         String idCard = authUserDO.getIdCard();
-
-        Long loginUserId = eldersAuthAddByFamilyDTO.getUserId();
-        EldersAuthDO eldersAuthDO = new EldersAuthDO();
-        eldersAuthDO.setSumitUserId(loginUserId);
-        eldersAuthDO.setCreateBy(loginUserId);
-        eldersAuthDO.setCreateAt(new Date());
-        eldersAuthDO.setIdCard(idCard);
-        eldersAuthDO.setAuthUserName(authUserDO.getName());
-        eldersAuthDO.setVideoUrl(eldersAuthAddByFamilyDTO.getVideoUrl());
-        eldersAuthDO.setFamilyUserId(authUserDO.getId());
-        eldersAuthDO.setAge(IdcardUtil.getAgeByIdCard(idCard));
-        // 根据身份证查询出籍贯 出生日期
-        // String domicile = IdCard.domicile(eldersAuthDO.getIdCard());
-        String domicile = eldersAuthService.queryDomicile(eldersAuthDO.getIdCard());
-        if (StringUtils.isEmpty(domicile)) {
-            domicile = "暂无";
-        }
-
         Date birthDay = IdCard.birthDay(idCard);
-        eldersAuthDO.setDomicile(domicile);
-        eldersAuthDO.setBirthDay(birthDay);
-        int add = eldersAuthService.getBaseMapper().insert(eldersAuthDO);
-        if (add == 1) {
-            // 设置认证成功
-            Long familyUserId = eldersAuthDO.getFamilyUserId();
-            ComEldersAuthUserDO comEldersAuthUserDO = new ComEldersAuthUserDO();
-            comEldersAuthUserDO.setId(familyUserId);
-            comEldersAuthUserDO.setIsAuth(1);
-            boolean updated = comEldersAuthUserService.updateById(comEldersAuthUserDO);
-            if (!updated) {
-                throw new ServiceException("添加认证失败,更新认证状态");
-            }
-            // 认证成功 添加认证记录
-            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());
-                authHistoryRecordDO.setAuthId(eldersAuthDO.getId());
-                BeanUtils.copyProperties(eldersAuthDO, authHistoryRecordDO);
-                authHistoryRecordDO.setId(null);
-                authHistoryRecordDO.setBrithday(AgeUtils.getAgeFormatBirthday(IdcardUtil.getBirthByIdCard(idCard)));
-                authHistoryRecordDO.setAge(IdcardUtil.getAgeByIdCard(idCard));
-                authHistoryRecordDO.setIsAuth(1);
-                authHistoryRecordDO.setDomicile(domicile);
-                comEldersAuthHistoryRecordMapper.insert(authHistoryRecordDO);
-            }
-            return R.ok(eldersAuthDO.getId());
-        }
+        long year=DateUtil.betweenYear(birthDay,DateUtil.date(),true);
+        if(authUserDO.getBigAgeId()!=null){
+            ComEldersAuthElderlyDO comEldersAuthElderlyDO=comEldersAuthElderlyService.getById(authUserDO.getBigAgeId());
+            if(comEldersAuthElderlyDO!=null&&comEldersAuthElderlyDO.getIsExist()==ComEldersAuthElderlyDO.isExist.yes&&comEldersAuthElderlyDO.getIsBigAge()==ComEldersAuthElderlyDO.isBigAge.yes&&year>=80){
+                Long elderId = authUserDO.getId();
+                boolean canReAuthThisMonth = comEldersAuthUserService.checkReAuthAgain(elderId);
+                if (!canReAuthThisMonth) {
+                    return R.fail("当月已认证,不能再次进行认证");
+                }
+                Long loginUserId = eldersAuthAddByFamilyDTO.getUserId();
+                EldersAuthDO eldersAuthDO = new EldersAuthDO();
+                eldersAuthDO.setSumitUserId(loginUserId);
+                eldersAuthDO.setCreateBy(loginUserId);
+                eldersAuthDO.setCreateAt(new Date());
+                eldersAuthDO.setIdCard(idCard);
+                eldersAuthDO.setAuthUserName(authUserDO.getName());
+                eldersAuthDO.setVideoUrl(eldersAuthAddByFamilyDTO.getVideoUrl());
+                eldersAuthDO.setFamilyUserId(authUserDO.getId());
+                eldersAuthDO.setAge(IdcardUtil.getAgeByIdCard(idCard));
+                // 根据身份证查询出籍贯 出生日期
+                // String domicile = IdCard.domicile(eldersAuthDO.getIdCard());
+                String domicile = eldersAuthService.queryDomicile(eldersAuthDO.getIdCard());
+                if (StringUtils.isEmpty(domicile)) {
+                    domicile = "暂无";
+                }
+                eldersAuthDO.setDomicile(domicile);
+                eldersAuthDO.setBirthDay(birthDay);
+                int add = eldersAuthService.getBaseMapper().insert(eldersAuthDO);
+                if (add == 1) {
+                    // 设置认证成功
+                    Long familyUserId = eldersAuthDO.getFamilyUserId();
+                    ComEldersAuthUserDO comEldersAuthUserDO = new ComEldersAuthUserDO();
+                    comEldersAuthUserDO.setId(familyUserId);
+                    comEldersAuthUserDO.setIsAuth(1);
+                    boolean updated = comEldersAuthUserService.updateById(comEldersAuthUserDO);
+                    if (!updated) {
+                        throw new ServiceException("添加认证失败,更新认证状态");
+                    }
+                    // 认证成功 添加认证记录
+                    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());
+                        authHistoryRecordDO.setAuthId(eldersAuthDO.getId());
+                        BeanUtils.copyProperties(eldersAuthDO, authHistoryRecordDO);
+                        authHistoryRecordDO.setId(null);
+                        authHistoryRecordDO.setBrithday(AgeUtils.getAgeFormatBirthday(IdcardUtil.getBirthByIdCard(idCard)));
+                        authHistoryRecordDO.setAge(IdcardUtil.getAgeByIdCard(idCard));
+                        authHistoryRecordDO.setIsAuth(1);
+                        authHistoryRecordDO.setDomicile(domicile);
+                        comEldersAuthHistoryRecordMapper.insert(authHistoryRecordDO);
+                    }
+                    return R.ok(eldersAuthDO.getId());
+                }
 
-        return R.fail();
+            }
+            return R.fail("不满足认证条件");
+        }
+        return R.fail("未查询到高龄老人库数据");
     }
 
     /**
      * 新增高龄认证社区反馈
-     * 
+     *
      * @param {classNameFirstLower}AddDTO
      *            添加高龄认证社区反馈传递对象
      * @return 新增结果
@@ -2083,10 +2242,11 @@
                 String openid = map.get("openid");
                 try {
                     WxXCXTempSend util = new WxXCXTempSend();
+                    R<SysTemplateConfigVO> sysTemplateConfigVO=userService.selectTemplate(eldersAuthFeedbackAddDTO.getAreaCode(),5);
                     String accessToken = util.getAppAccessToken();
                     WxUtil.sendSubscribeRZSH(openid, accessToken, "高龄认证",
                         DateUtils.format(eldersAuthDO.getCreateAt(), DateUtils.ymdhms_format),
-                        eldersAuthFeedbackAddDTO.getFeedBack());
+                        eldersAuthFeedbackAddDTO.getFeedBack(),sysTemplateConfigVO.getData().getTemplateId());
                 } catch (Exception e) {
                     log.error("推送审核状态订阅消息失败,失败原因:" + e.getMessage());
                 }
@@ -2097,7 +2257,7 @@
 
     /**
      * 查询导出高龄老人
-     * 
+     *
      * @param pageEldersAuthDTO
      * @return
      */
@@ -2108,7 +2268,7 @@
 
     /**
      * 设置社区认证方式
-     * 
+     *
      * @param communityId
      *            社区ID
      * @param type
@@ -2122,7 +2282,7 @@
 
     /**
      * 随手拍活动定时任务
-     * 
+     *
      * @return 执行结果
      */
     @PostMapping("timeTaskEasyPhotoActivity")
@@ -2132,7 +2292,7 @@
 
     /**
      * 社区随手拍列表统计
-     * 
+     *
      * @param communityId
      *            社区id
      * @return 统计结果
@@ -2144,7 +2304,7 @@
 
     /**
      * 综治后台-查询社区列表
-     * 
+     *
      * @return 社区列表
      */
     @GetMapping("/eventgrid/community/list")
@@ -2153,8 +2313,18 @@
     }
 
     /**
+     * 查询西区社区列表
+     *
+     * @return 社区列表
+     */
+    @GetMapping("/eventgrid/community/westList")
+    public R getWestCommunityLists(@RequestParam("areaCode")String areaCode) {
+        return comActService.getWestCommunityLists(areaCode);
+    }
+
+    /**
      * 随手拍发放奖励
-     * 
+     *
      * @param grantRewardDTO
      *            请求参数
      * @return 发放结果
@@ -2166,7 +2336,7 @@
 
     /**
      * 获取最新活动和用户最新收益
-     * 
+     *
      * @param userId
      *            用户id
      * @param communityId
@@ -2179,8 +2349,22 @@
     }
 
     /**
+     * 获取首页弹窗接口
+     *
+     * @param userId
+     *            用户id
+     * @param communityId
+     *            社区id
+     * @return 首页弹窗接口
+     */
+    @PostMapping("easyphoto/getUserRewards")
+    public R getUserRewards(@RequestParam("userId") Long userId, @RequestParam("communityId") Long communityId) {
+        return comActEasyPhotoService.getUserReward(userId, communityId);
+    }
+
+    /**
      * 读取用户随手拍奖励
-     * 
+     *
      * @param userId
      *            用户id
      * @return 读取结果
@@ -2200,7 +2384,7 @@
 
     /**
      * 问卷调查统计汇总
-     * 
+     *
      * @param summaryDTO
      *            请求参数
      * @return 统计汇总
@@ -2212,7 +2396,7 @@
 
     /**
      * 问卷调查统计汇总导出数据查询
-     * 
+     *
      * @param questId
      *            调查问卷id
      * @return 调查统计汇总导出数据
@@ -2224,7 +2408,7 @@
 
     /**
      * 问卷调查统计汇总表头统计
-     * 
+     *
      * @param questId
      *            调查问卷id
      * @return 问卷调查统计汇总表头统计数据
@@ -2244,8 +2428,16 @@
     }
 
     /**
+     * 定时任务针对活动结束后7天还未评价的用户默认好评
+     */
+    @PostMapping("activity/default-praise")
+    public R timedTaskActivityDefaultPraise() {
+        return comActActEvaluateService.timedTaskActivityDefaultPraise();
+    }
+
+    /**
      * 小程序-新增问卷调查浏览数量
-     * 
+     *
      * @param questId
      *            问卷调查id
      * @return 增加结果
@@ -2257,7 +2449,7 @@
 
     /**
      * 社区后台-切换随手拍公示状态
-     * 
+     *
      * @param comActEasyPhotoVO
      *            请求参数
      * @return 切换结果
@@ -2269,7 +2461,7 @@
 
     /**
      * 查询社区待处理随手拍id集合
-     * 
+     *
      * @param communityId
      *            社区id
      * @return 社区待处理随手拍id集合
@@ -2278,4 +2470,92 @@
     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);
+    }
+
+    /**
+     * 活动报名签到情况
+     * @param id 活动主键id
+     * @return
+     */
+    @GetMapping("activity/sign-in/list")
+    public R listSignInRecord(@RequestParam("id") Long id) {
+        return comActActivityService.listSignInRecord(id);
+    }
+
+    /**
+     * 活动签到记录
+     * @param id 活动主键
+     * @param userId 用户id
+     * @return
+     */
+    @GetMapping("activity/regist/list")
+    public R listRegistRecord(@RequestParam("id")  Long id, @RequestParam("userId") Long userId) {
+        return comActActivityService.listRegistRecord(id, userId);
+    }
+
+    /**
+     * 获取活动类型(目前只有志愿者活动需要获取)
+     * @param communityId
+     * @param type
+     * @return
+     */
+    @GetMapping("activity/type/list")
+    public R listActivityType(@RequestParam("communityId") Long communityId, @RequestParam("type") Integer type) {
+        return comActActivityService.listActivityType(communityId, type);
+    }
+
+    /**
+     * 添加活动类型
+     * @param comActActivityTypeVO
+     * @return
+     */
+    @PostMapping("activity/type/add")
+    public R addActivityType(@RequestBody ComActActivityTypeVO comActActivityTypeVO) {
+        return comActActivityService.addActivityType(comActActivityTypeVO);
+    }
+
+    /**
+     * 我的评价
+     * @param userId
+     * @param activityId 活动id
+     * @return
+     */
+    @GetMapping("activity/my-evaluate")
+    public R listMyActivityEvaluate(@RequestParam("userId") Long userId, @RequestParam("activityId") Long activityId) {
+        return comActActEvaluateService.listMyActivityEvaluate(userId, activityId);
+    }
+
+    /**
+     * 志愿者导入
+     *
+     * @param list        志愿者数据列表
+     * @param communityId 社区id
+     * @param userId      用户id
+     * @return 导入结果
+     */
+    @PostMapping("/volunteer/import/admin")
+    public R importVolunteerAdmin(@RequestBody List<ComMngVolunteerExcelVO> list,
+                                  @RequestParam(value = "communityId") Long communityId, @RequestParam(value = "userId") Long userId) {
+        return comMngVolunteerMngService.importVolunteerAdmin(list,communityId,userId);
+    }
 }

--
Gitblit v1.7.1