101captain
2022-04-19 00a59b93c16b24e7be77c6f1ce4866c75a2e0431
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/api/CommunityApi.java
@@ -1,10 +1,21 @@
package com.panzhihua.service_community.api;
import static java.util.stream.Collectors.toList;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.*;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import com.panzhihua.common.model.dtos.property.CommonPage;
import com.panzhihua.common.model.vos.LoginUserInfoVO;
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;
@@ -17,12 +28,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 +75,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 +141,12 @@
    private ComActEasyPhotoActivityService comActEasyPhotoActivityService;
    @Resource
    private ComActActEvaluateService comActActEvaluateService;
    @Resource
    private ComEldersAuthElderlyService comEldersAuthElderlyService;
    @Resource
    private ComActMicroWishOperationRecordService wishOperationRecordService;
    @Resource
    private ComActActEvaluateDAO comActActEvaluateDAO;
    /**
     * 新增社区活动
@@ -217,12 +272,15 @@
                        });
                    }
                    comActActivityVO1.setComActActPrizeVOList(comActActPrizeVOList);
                    Integer participantMax = comActActivityVO1.getParticipantMax();
                    if (participantMax.intValue() == 0) {
                        comActActivityVO1.setType(1);
                    } else {
                        comActActivityVO1.setType(2);
                    Integer volunteerMax = comActActivityVO1.getVolunteerMax();
                    if(comActActivityVO1.getType()==null){
                        if (volunteerMax.intValue() != 0) {
                            comActActivityVO1.setType(1);
                        } else {
                            comActActivityVO1.setType(2);
                        }
                    }
                    fillActivitySignList(id, comActActivityVO1);
                });
                page.setRecords(content);
            }
@@ -233,7 +291,7 @@
    /**
     * 社区后台分页查询社区活动
     *
     *
     * @param comActActivityVO
     *            查询参数
     * @return 返回结果
@@ -276,7 +334,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 +354,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 +406,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 +416,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 +428,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 +595,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 +629,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 +682,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 +830,11 @@
        return comActMicroWishService.pageMicroWish(comActMicroWishVO);
    }
    @PostMapping("pagemicrowish/applets")
    public R pageMicroWishApplets(@RequestBody ComActMicroWishVO comActMicroWishVO) {
        return comActMicroWishService.pageMicroWishApplets(comActMicroWishVO);
    }
    /**
     * 心愿详情
     *
@@ -755,7 +899,7 @@
    /**
     * 查询随手拍是否有活动
     *
     *
     * @return 活动详情
     */
    @PostMapping("getEasyPhotoActivity")
@@ -776,6 +920,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 +1190,7 @@
    /**
     * 查询所有建筑类型
     *
     *
     * @return 类型列表
     */
    @PostMapping("listbuildtype")
@@ -1054,7 +1200,7 @@
    /**
     * 分页查询 其他建筑
     *
     *
     * @param comMngStructOtherBuildVO
     *            分页查询参数
     * @return 查询结果
@@ -1066,19 +1212,28 @@
    /**
     * 增加志愿者
     *
     *
     * @param comMngVolunteerMngVO
     *            志愿者信息
     * @return 增加结果
     */
    @PostMapping("addvolunteer")
    R addVolunteer(@RequestBody ComMngVolunteerMngVO comMngVolunteerMngVO) {
        Long submitUserId = comMngVolunteerMngVO.getSubmitUserId();
        if (Objects.nonNull(submitUserId)) {
            //获取小程序用户信息
            R<LoginUserInfoVO> userInfoR = userService.getUserInfoByUserId(submitUserId.toString());
            LoginUserInfoVO userInfo = userInfoR.getData();
            if (Objects.nonNull(userInfo)) {
                comMngVolunteerMngVO.setIdCard(userInfo.getIdCard());
            }
        }
        return comMngVolunteerMngService.addVolunteer(comMngVolunteerMngVO);
    }
    /**
     * 获取志愿者详情
     *
     *
     * @param id
     * @return
     */
@@ -1255,8 +1410,9 @@
     * @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,@RequestParam(value = "type", required = false) Integer type) {
        return comActActivityService.listActivity(userId, status,type);
    }
    /**
@@ -1362,8 +1518,8 @@
     * @return 社区集合 按照创建顺序倒序排列
     */
    @PostMapping("listcommunityall")
    public R listCommunityAll() {
        return comActService.listCommunityAll();
    public R listCommunityAll(@RequestParam("areaCode") String areaCode) {
        return comActService.listCommunityAll(areaCode);
    }
    /**
@@ -1982,67 +2138,71 @@
        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("未查询到高龄老人库数据");
    }
    /**
@@ -2083,10 +2243,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());
                }
@@ -2153,6 +2314,16 @@
    }
    /**
     * 查询西区社区列表
     *
     * @return 社区列表
     */
    @GetMapping("/eventgrid/community/westList")
    public R getWestCommunityLists(@RequestParam("areaCode")String areaCode) {
        return comActService.getWestCommunityLists(areaCode);
    }
    /**
     * 随手拍发放奖励
     * 
     * @param grantRewardDTO
@@ -2175,6 +2346,20 @@
     */
    @PostMapping("easyphoto/getUserReward")
    public R getUserReward(@RequestParam("userId") Long userId, @RequestParam("communityId") Long communityId) {
        return comActEasyPhotoService.getUserReward(userId, communityId);
    }
    /**
     * 获取首页弹窗接口
     *
     * @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);
    }
@@ -2244,6 +2429,14 @@
    }
    /**
     * 定时任务针对活动结束后7天还未评价的用户默认好评
     */
    @PostMapping("activity/default-praise")
    public R timedTaskActivityDefaultPraise() {
        return comActActEvaluateService.timedTaskActivityDefaultPraise();
    }
    /**
     * 小程序-新增问卷调查浏览数量
     * 
     * @param questId
@@ -2278,4 +2471,136 @@
    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);
    }
    /**
     * [方法描述] 根据社区ID查询所属城市所在区区域代码,
     *
     * @param communityId
     *            社区ID
     * @return String 区域code
     * @author manailin
     * @date 2022/2/17 10:09
     */
    @GetMapping("act/getActBelongRegionCode")
    public String getActBelongRegionCode(@RequestParam("communityId") Long communityId) {
        return comActActivityService.getActBelongRegionCode(communityId);
    }
    /**
     * 党员活动统计
     * @param communityId
     * @param year
     * @return
     */
    @GetMapping("activity/partyMemberCount")
    public R partyMemberCount(@RequestParam("communityId")Long communityId,@RequestParam("year")String year){
        return comActActivityService.partyMemberCount(communityId,year);
    }
    /**
     * 党员活动详情数据
     * @return
     */
    @PostMapping("activity/partyMemberDetail")
    public R partyMemberDetail(@RequestBody CommonPage commonPage){
        return comActActivityService.partyMemberDetail(commonPage);
    }
    /**
     * 导出党员活动详情数据
     * @return
     */
    @PostMapping("activity/exportPartyMemberDetail")
    public R exportPartyMemberDetail(@RequestBody CommonPage commonPage){
        return comActActivityService.exportPartyMemberDetail(commonPage);
    }
}