|  |  |  | 
|---|
|  |  |  | package com.panzhihua.service_community.service.impl; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import cn.hutool.core.util.IdcardUtil; | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Map; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import javax.annotation.Resource; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.elder.ElderAuthStatisticHeaderDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.elder.PageElderAuthStatisticDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.community.elder.SignElderAuthStatisticDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.elders.ComEldersAuthHistoryVO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.elders.ComEldersAuthStatisticVO; | 
|---|
|  |  |  | import org.springframework.beans.BeanUtils; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Value; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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.panzhihua.common.model.dtos.elders.ComEldersAuthGetResultDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.elders.ComEldersAuthPageDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.dtos.elders.ComEldersAuthUserAddAppDTO; | 
|---|
|  |  |  | import com.panzhihua.common.model.helper.AESUtil; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.R; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.community.*; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.community.EldersAuthDetailsVO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.community.EldersAuthFeedbackVO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.community.EldersAuthVO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.elders.ComElderAuthUserAppVO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.partybuilding.ComEldersAuthHistoryExcelVO; | 
|---|
|  |  |  | import com.panzhihua.common.model.vos.user.SysUserVO; | 
|---|
|  |  |  | import com.panzhihua.common.utlis.AgeUtils; | 
|---|
|  |  |  | import com.panzhihua.common.utlis.IdCard; | 
|---|
|  |  |  | import com.panzhihua.common.utlis.DateUtils; | 
|---|
|  |  |  | import com.panzhihua.common.utlis.StringUtils; | 
|---|
|  |  |  | import com.panzhihua.service_community.dao.*; | 
|---|
|  |  |  | import com.panzhihua.service_community.model.dos.*; | 
|---|
|  |  |  | import com.panzhihua.service_community.service.EldersAuthService; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.springframework.stereotype.Service; | 
|---|
|  |  |  | import org.springframework.beans.BeanUtils; | 
|---|
|  |  |  | import org.springframework.transaction.annotation.Transactional; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import javax.annotation.Resource; | 
|---|
|  |  |  | import java.util.ArrayList; | 
|---|
|  |  |  | import java.util.Date; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import cn.hutool.core.util.IdcardUtil; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * @auther lyq | 
|---|
|  |  |  | 
|---|
|  |  |  | private ComEldersAuthElderlyMapper comEldersAuthElderlyMapper; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private SysConfMapper sysConfDao; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ComEldersAuthHistoryRecordMapper comEldersAuthHistoryRecordMapper; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ComEldersAuthStatisticsMapper comEldersAuthStatisticsMapper; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ComActDAO comActDAO; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ComElderAuthRecordsDAO comElderAuthRecordsDAO; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ComElderAuthElderliesDAO comElderAuthElderliesDAO; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ComPensionAuthHistoryRecordMapper comPensionAuthHistoryRecordMapper; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ComPensionAuthRecordDAO comPensionAuthRecordDAO; | 
|---|
|  |  |  | @Resource | 
|---|
|  |  |  | private ComPensionAuthPensionerDAO comPensionAuthPensionerDAO; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Value("${domain.aesKey:}") | 
|---|
|  |  |  | private String aesKey; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 新增高龄认证 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param eldersAuthAddDTO | 
|---|
|  |  |  | * @return 新增结果 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public R add(EldersAuthAddDTO eldersAuthAddDTO){ | 
|---|
|  |  |  | public R add(EldersAuthAddDTO eldersAuthAddDTO) { | 
|---|
|  |  |  | EldersAuthDO eldersAuthDO = new EldersAuthDO(); | 
|---|
|  |  |  | BeanUtils.copyProperties(eldersAuthAddDTO, eldersAuthDO); | 
|---|
|  |  |  | eldersAuthDO.setCreateAt(new Date()); | 
|---|
|  |  |  | eldersAuthDO.setCreateBy(eldersAuthAddDTO.getSumitUserId()); | 
|---|
|  |  |  | if(eldersAuthDAO.insert(eldersAuthDO)>0){ | 
|---|
|  |  |  | if (eldersAuthDAO.insert(eldersAuthDO) > 0) { | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.fail(); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 修改高龄认证 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param eldersAuthEditDTO | 
|---|
|  |  |  | * @return 维护结果 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public R edit(EldersAuthEditDTO eldersAuthEditDTO){ | 
|---|
|  |  |  | public R edit(EldersAuthEditDTO eldersAuthEditDTO) { | 
|---|
|  |  |  | EldersAuthDO eldersAuthDO = new EldersAuthDO(); | 
|---|
|  |  |  | BeanUtils.copyProperties(eldersAuthEditDTO, eldersAuthDO); | 
|---|
|  |  |  | eldersAuthDO.setUpdateAt(new Date()); | 
|---|
|  |  |  | eldersAuthDO.setUpdateBy(eldersAuthEditDTO.getSumitUserId()); | 
|---|
|  |  |  | if(eldersAuthDAO.updateById(eldersAuthDO)>0){ | 
|---|
|  |  |  | if (eldersAuthDAO.updateById(eldersAuthDO) > 0) { | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.fail(); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 分页查找高龄认证 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param pageEldersAuthDTO | 
|---|
|  |  |  | * @return 维护结果 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public R<IPage<EldersAuthVO>> query(PageEldersAuthDTO pageEldersAuthDTO){ | 
|---|
|  |  |  | public R<IPage<EldersAuthVO>> query(PageEldersAuthDTO pageEldersAuthDTO) { | 
|---|
|  |  |  | Page page = new Page<>(); | 
|---|
|  |  |  | page.setSize(pageEldersAuthDTO.getPageSize()); | 
|---|
|  |  |  | page.setCurrent(pageEldersAuthDTO.getPageNum()); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 删除高龄认证 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param EldersAuthDeleteDTO | 
|---|
|  |  |  | * @return 平台用户信息 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public R delete(EldersAuthDeleteDTO EldersAuthDeleteDTO){ | 
|---|
|  |  |  | public R delete(EldersAuthDeleteDTO EldersAuthDeleteDTO) { | 
|---|
|  |  |  | return R.fail(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 查询高龄认证详细信息 | 
|---|
|  |  |  | * @param id 高龄认证 id | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param id | 
|---|
|  |  |  | *            高龄认证 id | 
|---|
|  |  |  | * @return 查找结果 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public R<EldersAuthDetailsVO> eldersAuthDetails(Long id){ | 
|---|
|  |  |  | public R<EldersAuthDetailsVO> eldersAuthDetails(Long id) { | 
|---|
|  |  |  | EldersAuthDetailsVO eldersAuthDetailsVO = eldersAuthDAO.selectDetails(id); | 
|---|
|  |  |  | if(eldersAuthDetailsVO!=null) { | 
|---|
|  |  |  | //社区反馈 | 
|---|
|  |  |  | if (eldersAuthDetailsVO != null) { | 
|---|
|  |  |  | // 社区反馈 | 
|---|
|  |  |  | List<EldersAuthFeedbackDO> list = | 
|---|
|  |  |  | eldersAuthFeedbackDAO.selectList(new LambdaQueryWrapper<EldersAuthFeedbackDO>() | 
|---|
|  |  |  | .eq(EldersAuthFeedbackDO::getAuthId, eldersAuthDetailsVO.getId())); | 
|---|
|  |  |  | eldersAuthFeedbackDAO.selectList(new LambdaQueryWrapper<EldersAuthFeedbackDO>() | 
|---|
|  |  |  | .eq(EldersAuthFeedbackDO::getAuthId, eldersAuthDetailsVO.getId())); | 
|---|
|  |  |  | List<EldersAuthFeedbackVO> listVO = new ArrayList<>(); | 
|---|
|  |  |  | list.forEach(feedDo ->{ | 
|---|
|  |  |  | list.forEach(feedDo -> { | 
|---|
|  |  |  | EldersAuthFeedbackVO eldersAuthFeedbackVO = new EldersAuthFeedbackVO(); | 
|---|
|  |  |  | BeanUtils.copyProperties(feedDo, eldersAuthFeedbackVO); | 
|---|
|  |  |  | listVO.add(eldersAuthFeedbackVO); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.fail(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 新增高龄认证社区反馈 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param eldersAuthFeedbackAddDTO | 
|---|
|  |  |  | * @return 新增结果 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public R addFeedback(EldersAuthFeedbackAddDTO eldersAuthFeedbackAddDTO){ | 
|---|
|  |  |  | @Transactional(rollbackFor = Exception.class) | 
|---|
|  |  |  | public R addFeedback(EldersAuthFeedbackAddDTO eldersAuthFeedbackAddDTO) { | 
|---|
|  |  |  | EldersAuthDO eldersAuthDO = eldersAuthDAO.selectById(eldersAuthFeedbackAddDTO.getAuthId()); | 
|---|
|  |  |  | if (eldersAuthDO == null) { | 
|---|
|  |  |  | return R.fail("认证记录不存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (eldersAuthDO.getType() == null) { | 
|---|
|  |  |  | return R.fail("认证方式未知"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (eldersAuthDO.getType().intValue() != 1) { | 
|---|
|  |  |  | return R.fail("当前认证方式不能进行反馈"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | EldersAuthFeedbackDO eldersAuthFeedbackDO = new EldersAuthFeedbackDO(); | 
|---|
|  |  |  | eldersAuthFeedbackDO.setCreateBy(eldersAuthFeedbackAddDTO.getUserId()); | 
|---|
|  |  |  | eldersAuthFeedbackDO.setCreateAt(new Date()); | 
|---|
|  |  |  | BeanUtils.copyProperties(eldersAuthFeedbackAddDTO, eldersAuthFeedbackDO); | 
|---|
|  |  |  | if(eldersAuthFeedbackDAO.insert(eldersAuthFeedbackDO)>0){ | 
|---|
|  |  |  | if (eldersAuthFeedbackDAO.insert(eldersAuthFeedbackDO) > 0) { | 
|---|
|  |  |  | eldersAuthDO.setStatus("1"); | 
|---|
|  |  |  | eldersAuthDO.setIdCard(null); | 
|---|
|  |  |  | int updated = eldersAuthDAO.updateById(eldersAuthDO); | 
|---|
|  |  |  | if (updated != 1) { | 
|---|
|  |  |  | throw new ServiceException("更新认证记录状态失败"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | Long familyUserId = eldersAuthDO.getFamilyUserId(); | 
|---|
|  |  |  | ComEldersAuthUserDO comEldersAuthUserDO = comEldersAuthUserMapper.selectById(familyUserId); | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * ComEldersAuthUserDO comEldersAuthUserDOToUpdate = new ComEldersAuthUserDO(); | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * comEldersAuthUserDOToUpdate.setId(comEldersAuthUserDO.getId()); | 
|---|
|  |  |  | * comEldersAuthUserDOToUpdate.setIsAuth(2);//是否已认证(1.是 2.否) int updatedEAU = | 
|---|
|  |  |  | * comEldersAuthUserMapper.updateById(comEldersAuthUserDOToUpdate); if(updatedEAU!=1){ throw new | 
|---|
|  |  |  | * ServiceException("更新认证记录状态失败"); } | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.fail(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 查找高龄认证导出数据 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param pageEldersAuthDTO | 
|---|
|  |  |  | * @return 维护结果 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | public R<List<ExcelElderAuthDTO>> queryExportData(PageEldersAuthDTO pageEldersAuthDTO){ | 
|---|
|  |  |  | public R<List<ExcelElderAuthDTO>> queryExportData(PageEldersAuthDTO pageEldersAuthDTO) { | 
|---|
|  |  |  | Page page = new Page<>(); | 
|---|
|  |  |  | page.setSize(pageEldersAuthDTO.getPageSize()); | 
|---|
|  |  |  | page.setCurrent(10000); | 
|---|
|  |  |  | 
|---|
|  |  |  | Page page = new Page<>(); | 
|---|
|  |  |  | page.setSize(pageComEldersRecordsDTO.getPageSize()); | 
|---|
|  |  |  | page.setCurrent(pageComEldersRecordsDTO.getPageNum()); | 
|---|
|  |  |  | List<ComEldersAuthRecordVO> eldersAuthDOList = eldersAuthDAO.selectEldersRecordByPage(page, pageComEldersRecordsDTO); | 
|---|
|  |  |  | List<ComEldersAuthRecordVO> eldersAuthDOList = | 
|---|
|  |  |  | eldersAuthDAO.selectEldersRecordByPage(page, pageComEldersRecordsDTO); | 
|---|
|  |  |  | return R.ok(eldersAuthDOList); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R<ComEldersAuthElderlyDetailsVO> comEldersAuthElderlyDetails(Long id) { | 
|---|
|  |  |  | EldersAuthDO eldersAuthDO = eldersAuthDAO.selectById(id); | 
|---|
|  |  |  | if(eldersAuthDO == null){ | 
|---|
|  |  |  | if (eldersAuthDO == null) { | 
|---|
|  |  |  | return R.fail("未查询到认证记录"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ComEldersAuthElderlyDetailsVO comEldersAuthElderlyDetailsVO = new ComEldersAuthElderlyDetailsVO(); | 
|---|
|  |  |  | 
|---|
|  |  |  | String communityName = eldersAuthDAO.selectCommunityNameByAuth(id); | 
|---|
|  |  |  | comEldersAuthElderlyDetailsVO.setCommunityName(communityName); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<EldersAuthFeedbackDO> eldersAuthFeedbackDOList = eldersAuthFeedbackDAO.selectList(new LambdaQueryWrapper<EldersAuthFeedbackDO>().eq(EldersAuthFeedbackDO::getAuthId, id)); | 
|---|
|  |  |  | List<EldersAuthFeedbackDO> eldersAuthFeedbackDOList = eldersAuthFeedbackDAO | 
|---|
|  |  |  | .selectList(new LambdaQueryWrapper<EldersAuthFeedbackDO>().eq(EldersAuthFeedbackDO::getAuthId, id)); | 
|---|
|  |  |  | List<EldersAuthFeedbackVO> eldersAuthFeedbackVOList = new ArrayList<>(); | 
|---|
|  |  |  | eldersAuthFeedbackDOList.forEach(edo ->{ | 
|---|
|  |  |  | eldersAuthFeedbackDOList.forEach(edo -> { | 
|---|
|  |  |  | EldersAuthFeedbackVO eldersAuthFeedbackVO = new EldersAuthFeedbackVO(); | 
|---|
|  |  |  | BeanUtils.copyProperties(edo, eldersAuthFeedbackVO); | 
|---|
|  |  |  | eldersAuthFeedbackVOList.add(eldersAuthFeedbackVO); | 
|---|
|  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R communityAuthType(EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO) { | 
|---|
|  |  |  | Long communityId = eldersAuthTypeQueryDTO.getCommunityId(); | 
|---|
|  |  |  | List<SysConfDO> confDOList = | 
|---|
|  |  |  | sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>().eq(SysConfDO::getCommunityId, communityId) | 
|---|
|  |  |  | .orderByDesc(SysConfDO::getCreateAt)); | 
|---|
|  |  |  | if(confDOList==null || confDOList.size()==0){ | 
|---|
|  |  |  | List<SysConfDO> confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>() | 
|---|
|  |  |  | .eq(SysConfDO::getCommunityId, communityId).eq(SysConfDO::getCode,"ELDER_AUTH_TYPE_" + communityId).orderByDesc(SysConfDO::getCreateAt)); | 
|---|
|  |  |  | if (confDOList == null || confDOList.size() == 0) { | 
|---|
|  |  |  | SysConfDO sysConfDO = new SysConfDO(); | 
|---|
|  |  |  | sysConfDO.setCode("ELDER_AUTH_TYPE"); | 
|---|
|  |  |  | sysConfDO.setCode("ELDER_AUTH_TYPE_" + communityId); | 
|---|
|  |  |  | sysConfDO.setName("高龄认证类型"); | 
|---|
|  |  |  | sysConfDO.setValue(2+"");//核验类型(1.视频认证 2.人脸核验) | 
|---|
|  |  |  | sysConfDO.setValue(2 + "");// 核验类型(1.视频认证 2.人脸核验) | 
|---|
|  |  |  | sysConfDO.setDescription("高龄认证默认添加的核验类型"); | 
|---|
|  |  |  | sysConfDO.setCommunityId(communityId); | 
|---|
|  |  |  | sysConfDO.setCreateBy(eldersAuthTypeQueryDTO.getUserId()); | 
|---|
|  |  |  | int inserted = sysConfDao.insert(sysConfDO); | 
|---|
|  |  |  | if(inserted!=1){ | 
|---|
|  |  |  | if (inserted != 1) { | 
|---|
|  |  |  | throw new ServiceException("添加高龄认证默认添加的核验类型失败"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | confDOList = | 
|---|
|  |  |  | sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>().eq(SysConfDO::getCommunityId, eldersAuthTypeQueryDTO.getOperUserId()) | 
|---|
|  |  |  | .orderByDesc(SysConfDO::getCreateAt)); | 
|---|
|  |  |  | confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>() | 
|---|
|  |  |  | .eq(SysConfDO::getCommunityId, eldersAuthTypeQueryDTO.getOperUserId()) | 
|---|
|  |  |  | .orderByDesc(SysConfDO::getCreateAt)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(confDOList!=null && confDOList.size()>0){ | 
|---|
|  |  |  | SysConfDO  latest = confDOList.get(0); | 
|---|
|  |  |  | if (confDOList != null && confDOList.size() > 0) { | 
|---|
|  |  |  | SysConfDO latest = confDOList.get(0); | 
|---|
|  |  |  | SysConfVO sysConfVO = new SysConfVO(); | 
|---|
|  |  |  | BeanUtils.copyProperties(latest, sysConfVO); | 
|---|
|  |  |  | return R.ok(sysConfVO.getValue()); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 人脸核验新增高龄认证记录 | 
|---|
|  |  |  | * @param authGetResultDTO  请求参数 | 
|---|
|  |  |  | * @return  新增结果 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param authGetResultDTO | 
|---|
|  |  |  | *            请求参数 | 
|---|
|  |  |  | * @return 新增结果 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional(rollbackFor = Exception.class) | 
|---|
|  |  |  | public R addAuthByEldersApp(ComEldersAuthGetResultDTO authGetResultDTO){ | 
|---|
|  |  |  | public R addAuthByEldersApp(ComEldersAuthGetResultDTO authGetResultDTO) throws Exception { | 
|---|
|  |  |  | ComEldersAuthUserDO authUserDO = comEldersAuthUserMapper.selectById(authGetResultDTO.getAuthUserId()); | 
|---|
|  |  |  | if(authUserDO != null){ | 
|---|
|  |  |  | if (authUserDO != null) { | 
|---|
|  |  |  | String idCard = authUserDO.getIdCard(); | 
|---|
|  |  |  | EldersAuthDO eldersAuthDO = new EldersAuthDO(); | 
|---|
|  |  |  | eldersAuthDO.setIdCard(authUserDO.getIdCard()); | 
|---|
|  |  |  | eldersAuthDO.setIdCard(idCard); | 
|---|
|  |  |  | eldersAuthDO.setAuthUserName(authUserDO.getName()); | 
|---|
|  |  |  | eldersAuthDO.setCreateBy(authGetResultDTO.getUserId()); | 
|---|
|  |  |  | eldersAuthDO.setCreateAt(new Date()); | 
|---|
|  |  |  | eldersAuthDO.setSumitUserId(authGetResultDTO.getUserId()); | 
|---|
|  |  |  | String domicile = this.baseMapper.selectDomicile(eldersAuthDO.getIdCard()); | 
|---|
|  |  |  | if(org.springframework.util.StringUtils.isEmpty(domicile)){ | 
|---|
|  |  |  | String domicile = this.baseMapper.selectDomicile(idCard); | 
|---|
|  |  |  | if (org.springframework.util.StringUtils.isEmpty(domicile)) { | 
|---|
|  |  |  | domicile = "暂无"; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | eldersAuthDO.setDomicile(domicile); | 
|---|
|  |  |  | eldersAuthDO.setBirthDay(IdCard.birthDay(authUserDO.getIdCard())); | 
|---|
|  |  |  | eldersAuthDO.setBirthDay(IdcardUtil.getBirthDate(idCard)); | 
|---|
|  |  |  | eldersAuthDO.setFamilyUserId(authUserDO.getId()); | 
|---|
|  |  |  | eldersAuthDO.setAge(IdcardUtil.getAgeByIdCard(eldersAuthDO.getIdCard())); | 
|---|
|  |  |  | Integer age = IdcardUtil.getAgeByIdCard(idCard); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | eldersAuthDO.setAge(age); | 
|---|
|  |  |  | eldersAuthDO.setType(2); | 
|---|
|  |  |  | eldersAuthDO.setVerificationResult(authGetResultDTO.getVerificationResult()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | this.baseMapper.insert(eldersAuthDO); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | // 认证成功 添加认证记录 | 
|---|
|  |  |  | List<ComEldersAuthHistoryRecordDO> authHistoryRecordDOList = | 
|---|
|  |  |  | comEldersAuthHistoryRecordMapper.selectList(new QueryWrapper<ComEldersAuthHistoryRecordDO>().lambda() | 
|---|
|  |  |  | .eq(ComEldersAuthHistoryRecordDO::getIdCard, eldersAuthDO.getIdCard()) | 
|---|
|  |  |  | .ge(ComEldersAuthHistoryRecordDO::getCreateAt, DateUtils.getFirstDayOfMonth())); | 
|---|
|  |  |  | if (authHistoryRecordDOList.isEmpty()) { | 
|---|
|  |  |  | ComEldersAuthHistoryRecordDO authHistoryRecordDO = new ComEldersAuthHistoryRecordDO(); | 
|---|
|  |  |  | authHistoryRecordDO.setUserId(authGetResultDTO.getAuthUserId()); | 
|---|
|  |  |  | authHistoryRecordDO.setAuthId(eldersAuthDO.getId()); | 
|---|
|  |  |  | BeanUtils.copyProperties(eldersAuthDO, authHistoryRecordDO); | 
|---|
|  |  |  | authHistoryRecordDO.setId(null); | 
|---|
|  |  |  | authHistoryRecordDO.setBrithday(AgeUtils.getAgeFormatBirthday(IdcardUtil.getBirthByIdCard(idCard))); | 
|---|
|  |  |  | authHistoryRecordDO.setAge(age); | 
|---|
|  |  |  | authHistoryRecordDO.setIsAuth(1); | 
|---|
|  |  |  | authHistoryRecordDO.setDomicile(domicile); | 
|---|
|  |  |  | comEldersAuthHistoryRecordMapper.insert(authHistoryRecordDO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | authUserDO.setIsAuth(ComEldersAuthUserDO.isAuth.yes); | 
|---|
|  |  |  | authUserDO.setIdCard(AESUtil.encrypt128(authUserDO.getIdCard(), aesKey)); | 
|---|
|  |  |  | comEldersAuthUserMapper.updateById(authUserDO); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | return R.ok(eldersAuthDO.getId()); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 高龄认证分页接口 | 
|---|
|  |  |  | * @param authPageDTO   请求参数 | 
|---|
|  |  |  | * @return  查询结果 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param authPageDTO | 
|---|
|  |  |  | *            请求参数 | 
|---|
|  |  |  | * @return 查询结果 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R pageEldersByApp(ComEldersAuthPageDTO authPageDTO){ | 
|---|
|  |  |  | //判断当前用户是否是高龄老人,如果是则将这个人新增到高龄老人的列表里 | 
|---|
|  |  |  | public R pageEldersByApp(ComEldersAuthPageDTO authPageDTO) throws Exception { | 
|---|
|  |  |  | // 判断当前用户是否是高龄老人,如果是则将这个人新增到高龄老人的列表里 | 
|---|
|  |  |  | SysUserVO userVO = this.eldersAuthDAO.getSysUserByUserId(authPageDTO.getUserId()); | 
|---|
|  |  |  | if(userVO != null){ | 
|---|
|  |  |  | //查询当前用户是否已存在用户关联中 | 
|---|
|  |  |  | ComEldersAuthUserDO oldAuthUserDO = comEldersAuthUserMapper.selectOne(new QueryWrapper<ComEldersAuthUserDO>().lambda() | 
|---|
|  |  |  | .eq(ComEldersAuthUserDO::getIdCard,userVO.getIdCard())); | 
|---|
|  |  |  | if(oldAuthUserDO == null){ | 
|---|
|  |  |  | //查询老人库是否存在当前用户信息 | 
|---|
|  |  |  | ComEldersAuthElderlyDO authElderlyDO = comEldersAuthElderlyMapper.selectOne(new QueryWrapper<ComEldersAuthElderlyDO>().lambda() | 
|---|
|  |  |  | .eq(ComEldersAuthElderlyDO::getIdCard,userVO.getIdCard())); | 
|---|
|  |  |  | if(authElderlyDO != null){ | 
|---|
|  |  |  | if (userVO != null) { | 
|---|
|  |  |  | String idCard = userVO.getIdCard(); | 
|---|
|  |  |  | userVO.setIdCard(AESUtil.encrypt128(userVO.getIdCard(), aesKey)); | 
|---|
|  |  |  | // 查询当前用户是否已存在用户关联中 | 
|---|
|  |  |  | ComEldersAuthUserDO oldAuthUserDO = | 
|---|
|  |  |  | comEldersAuthUserMapper.selectOne(new QueryWrapper<ComEldersAuthUserDO>().lambda() | 
|---|
|  |  |  | .eq(ComEldersAuthUserDO::getIdCard, userVO.getIdCard())); | 
|---|
|  |  |  | if (oldAuthUserDO == null) { | 
|---|
|  |  |  | // 查询老人库是否存在当前用户信息 | 
|---|
|  |  |  | ComEldersAuthElderlyDO authElderlyDO = | 
|---|
|  |  |  | comEldersAuthElderlyMapper.selectOne(new QueryWrapper<ComEldersAuthElderlyDO>().lambda() | 
|---|
|  |  |  | .eq(ComEldersAuthElderlyDO::getIdCard, userVO.getIdCard())); | 
|---|
|  |  |  | if (authElderlyDO != null) { | 
|---|
|  |  |  | ComEldersAuthUserDO authUserDO = new ComEldersAuthUserDO(); | 
|---|
|  |  |  | authUserDO.setUserId(userVO.getUserId()); | 
|---|
|  |  |  | authUserDO.setRelation(ComEldersAuthUserDO.relation.br); | 
|---|
|  |  |  | authUserDO.setName(userVO.getName()); | 
|---|
|  |  |  | authUserDO.setIdCard(userVO.getIdCard()); | 
|---|
|  |  |  | authUserDO.setIdCard(idCard); | 
|---|
|  |  |  | authUserDO.setCommunityId(authElderlyDO.getCommunityId()); | 
|---|
|  |  |  | authUserDO.setBigAgeId(authElderlyDO.getId()); | 
|---|
|  |  |  | comEldersAuthUserMapper.insert(authUserDO); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | IPage<ComElderAuthUserAppVO> authUserAppVOIPage = comEldersAuthUserMapper.findByPage(new Page(authPageDTO.getPageNum(),authPageDTO.getPageSize()),authPageDTO.getUserId()); | 
|---|
|  |  |  | if(!authUserAppVOIPage.getRecords().isEmpty()){ | 
|---|
|  |  |  | IPage<ComElderAuthUserAppVO> authUserAppVOIPage = comEldersAuthUserMapper | 
|---|
|  |  |  | .findByPage(new Page(authPageDTO.getPageNum(), authPageDTO.getPageSize()), authPageDTO.getUserId()); | 
|---|
|  |  |  | if (!authUserAppVOIPage.getRecords().isEmpty()) { | 
|---|
|  |  |  | authUserAppVOIPage.getRecords().forEach(authUser -> { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | if(authUser.getIsAuth().equals(ComEldersAuthUserDO.isAuth.yes)){ | 
|---|
|  |  |  | if (authUser.getIsAuth().equals(ComEldersAuthUserDO.isAuth.yes)) { | 
|---|
|  |  |  | List<EldersAuthDO> authDOS = eldersAuthDAO.selectList(new QueryWrapper<EldersAuthDO>().lambda() | 
|---|
|  |  |  | .eq(EldersAuthDO::getSumitUserId,authPageDTO.getUserId()).orderByDesc(EldersAuthDO::getCreateAt)); | 
|---|
|  |  |  | if(!authDOS.isEmpty()){ | 
|---|
|  |  |  | .eq(EldersAuthDO::getFamilyUserId, authUser.getElderId()) | 
|---|
|  |  |  | .orderByDesc(EldersAuthDO::getCreateAt)); | 
|---|
|  |  |  | if (!authDOS.isEmpty()) { | 
|---|
|  |  |  | EldersAuthDO authDO = authDOS.get(0); | 
|---|
|  |  |  | if(authDO.getType().equals(1)){//视频认证 | 
|---|
|  |  |  | Integer count = eldersAuthFeedbackDAO.selectCount(new QueryWrapper<EldersAuthFeedbackDO>().lambda() | 
|---|
|  |  |  | .eq(EldersAuthFeedbackDO::getAuthId,authDO.getId())); | 
|---|
|  |  |  | if(count > 0){ | 
|---|
|  |  |  | if (authDO.getType().equals(1)) {// 视频认证 | 
|---|
|  |  |  | Integer count = eldersAuthFeedbackDAO.selectCount(new QueryWrapper<EldersAuthFeedbackDO>() | 
|---|
|  |  |  | .lambda().eq(EldersAuthFeedbackDO::getAuthId, authDO.getId())); | 
|---|
|  |  |  | if (count > 0) { | 
|---|
|  |  |  | authUser.setIsFeedback(1); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | authUser.setAge(AgeUtils.getAgeFromBirthTimes(IdCard.birthDay(authUser.getIdCard()).getTime())); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ComEldersAuthUserDO authUserDO = comEldersAuthUserMapper.selectById(authUser.getElderId()); | 
|---|
|  |  |  | if (authUserDO != null) { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | authUser.setAge(IdcardUtil.getAgeByIdCard(authUserDO.getIdCard())); | 
|---|
|  |  |  | } catch (NullPointerException e) { | 
|---|
|  |  |  | log.error("获取用户年龄出错了:" + authUser.getIdCard()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(authUserAppVOIPage); | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 添加高龄老人接口 | 
|---|
|  |  |  | * @param authUserAddAppDTO 请求参数 | 
|---|
|  |  |  | * @return  添加结果 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param authUserAddAppDTO | 
|---|
|  |  |  | *            请求参数 | 
|---|
|  |  |  | * @return 添加结果 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R addEldersByApp(ComEldersAuthUserAddAppDTO authUserAddAppDTO){ | 
|---|
|  |  |  | public R addEldersByApp(ComEldersAuthUserAddAppDTO authUserAddAppDTO) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ComEldersAuthUserDO authUserDO = comEldersAuthUserMapper.selectOne(new QueryWrapper<ComEldersAuthUserDO>().lambda() | 
|---|
|  |  |  | .eq(ComEldersAuthUserDO::getIdCard,authUserAddAppDTO.getIdCard())); | 
|---|
|  |  |  | if(authUserDO != null){ | 
|---|
|  |  |  | ComEldersAuthUserDO authUserDO = comEldersAuthUserMapper.selectOne(new QueryWrapper<ComEldersAuthUserDO>() | 
|---|
|  |  |  | .lambda().eq(ComEldersAuthUserDO::getIdCard, authUserAddAppDTO.getIdCard())); | 
|---|
|  |  |  | if (authUserDO != null) { | 
|---|
|  |  |  | return R.fail("当前老人已存在"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ComEldersAuthElderlyDO authElderlyDO = comEldersAuthElderlyMapper.selectOne(new QueryWrapper<ComEldersAuthElderlyDO>().lambda() | 
|---|
|  |  |  | .eq(ComEldersAuthElderlyDO::getIdCard,authUserAddAppDTO.getIdCard())); | 
|---|
|  |  |  | if(authElderlyDO == null){ | 
|---|
|  |  |  | String encryptedIdCard = authUserAddAppDTO.getIdCard(); | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | encryptedIdCard = AESUtil.encrypt128(authUserAddAppDTO.getIdCard(), aesKey); | 
|---|
|  |  |  | } catch (Exception e) { | 
|---|
|  |  |  | e.printStackTrace(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ComEldersAuthElderlyDO authElderlyDO = comEldersAuthElderlyMapper.selectOne( | 
|---|
|  |  |  | new QueryWrapper<ComEldersAuthElderlyDO>().lambda().eq(ComEldersAuthElderlyDO::getIdCard, encryptedIdCard)); | 
|---|
|  |  |  | if (authElderlyDO == null) { | 
|---|
|  |  |  | return R.fail("未在系统找到相符的高龄老人!请检查信息是否正确,或联系社区工作人员"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | authUserDO = new ComEldersAuthUserDO(); | 
|---|
|  |  |  | BeanUtils.copyProperties(authUserAddAppDTO,authUserDO); | 
|---|
|  |  |  | BeanUtils.copyProperties(authUserAddAppDTO, authUserDO); | 
|---|
|  |  |  | authUserDO.setBigAgeId(authElderlyDO.getId()); | 
|---|
|  |  |  | authUserDO.setName(authElderlyDO.getName()); | 
|---|
|  |  |  | if(comEldersAuthUserMapper.insert(authUserDO) > 0){ | 
|---|
|  |  |  | if (comEldersAuthUserMapper.insert(authUserDO) > 0) { | 
|---|
|  |  |  | return R.ok(authUserDO.getId()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 修改高龄老人接口 | 
|---|
|  |  |  | * @param authUserAddAppDTO 请求参数 | 
|---|
|  |  |  | * @return  修改结果 | 
|---|
|  |  |  | * | 
|---|
|  |  |  | * @param authUserAddAppDTO | 
|---|
|  |  |  | *            请求参数 | 
|---|
|  |  |  | * @return 修改结果 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R editEldersByApp(ComEldersAuthUserAddAppDTO authUserAddAppDTO){ | 
|---|
|  |  |  | public R editEldersByApp(ComEldersAuthUserAddAppDTO authUserAddAppDTO) { | 
|---|
|  |  |  |  | 
|---|
|  |  |  | ComEldersAuthUserDO authUserDO = comEldersAuthUserMapper.selectById(authUserAddAppDTO.getElderId()); | 
|---|
|  |  |  | if(authUserDO == null){ | 
|---|
|  |  |  | if (authUserDO == null) { | 
|---|
|  |  |  | return R.fail("未查询到老人信息"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(StringUtils.isNotEmpty(authUserAddAppDTO.getName())){ | 
|---|
|  |  |  | if (StringUtils.isNotEmpty(authUserAddAppDTO.getName())) { | 
|---|
|  |  |  | authUserDO.setName(authUserAddAppDTO.getName()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(authUserAddAppDTO.getRelation() != null){ | 
|---|
|  |  |  | if (authUserAddAppDTO.getRelation() != null) { | 
|---|
|  |  |  | authUserDO.setRelation(authUserAddAppDTO.getRelation()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if(comEldersAuthUserMapper.updateById(authUserDO) > 0){ | 
|---|
|  |  |  | if (comEldersAuthUserMapper.updateById(authUserDO) > 0) { | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.fail(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R pageQueryEldersAuthRecord(PageEldersAuthRecordDTO pageEldersAuthElderlyDTO) { | 
|---|
|  |  |  | Page page = new Page(); | 
|---|
|  |  |  | page.setCurrent(pageEldersAuthElderlyDTO.getPageNum()); | 
|---|
|  |  |  | page.setSize(pageEldersAuthElderlyDTO.getPageSize()); | 
|---|
|  |  |  | return R.ok(eldersAuthDAO.selectCommunityEldersRecordByPage(page, pageEldersAuthElderlyDTO)); | 
|---|
|  |  |  | IPage<ComEldersAuthRecordForCommunityVO> ipage = | 
|---|
|  |  |  | eldersAuthDAO.selectCommunityEldersRecordByPage(page, pageEldersAuthElderlyDTO); | 
|---|
|  |  |  | return R.ok(ipage); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R setCommunityAuthType(Long communityId, Integer type) { | 
|---|
|  |  |  | List<SysConfDO> authConf = | 
|---|
|  |  |  | sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>() | 
|---|
|  |  |  | .eq(SysConfDO::getCommunityId, communityId) | 
|---|
|  |  |  | .eq(SysConfDO::getCode, "ELDER_AUTH_TYPE") | 
|---|
|  |  |  | .orderByDesc(SysConfDO::getCreateAt)); | 
|---|
|  |  |  | if(authConf!=null && authConf.size()>0){ | 
|---|
|  |  |  | sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>().eq(SysConfDO::getCommunityId, communityId) | 
|---|
|  |  |  | .eq(SysConfDO::getCode, "ELDER_AUTH_TYPE_" + communityId).orderByDesc(SysConfDO::getCreateAt)); | 
|---|
|  |  |  | if (authConf != null && authConf.size() > 0) { | 
|---|
|  |  |  | SysConfDO first = authConf.get(0); | 
|---|
|  |  |  | first.setValue(type+""); | 
|---|
|  |  |  | first.setValue(type + ""); | 
|---|
|  |  |  | int updated = sysConfDao.updateById(first); | 
|---|
|  |  |  | if(updated == 1){ | 
|---|
|  |  |  | if (updated == 1) { | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.fail(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R getAuthHistoryList(PageEldersAuthHistoryDTO pageEldersAuthElderlyDTO) { | 
|---|
|  |  |  | return R.ok(comEldersAuthStatisticsMapper.findByPage( | 
|---|
|  |  |  | new Page(pageEldersAuthElderlyDTO.getPageNum(), pageEldersAuthElderlyDTO.getPageSize()), | 
|---|
|  |  |  | pageEldersAuthElderlyDTO)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R getAuthHistoryExport(PageEldersAuthHistoryDTO pageEldersAuthElderlyDTO) { | 
|---|
|  |  |  | Date startTime = | 
|---|
|  |  |  | DateUtils.getYearMonthStart(pageEldersAuthElderlyDTO.getYear(), pageEldersAuthElderlyDTO.getMonth()); | 
|---|
|  |  |  | Date endTime = | 
|---|
|  |  |  | DateUtils.getYearMonthEnd(pageEldersAuthElderlyDTO.getYear(), pageEldersAuthElderlyDTO.getMonth()); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<ComEldersAuthHistoryRecordDO> userList = | 
|---|
|  |  |  | comEldersAuthHistoryRecordMapper.selectList(new QueryWrapper<ComEldersAuthHistoryRecordDO>().lambda() | 
|---|
|  |  |  | .eq(ComEldersAuthHistoryRecordDO::getCommunityId, pageEldersAuthElderlyDTO.getCommunityId()) | 
|---|
|  |  |  | .ge(ComEldersAuthHistoryRecordDO::getCreateAt, startTime) | 
|---|
|  |  |  | .le(ComEldersAuthHistoryRecordDO::getCreateAt, endTime)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | List<ComEldersAuthHistoryExcelVO> authHistoryExcelVOS = new ArrayList<>(); | 
|---|
|  |  |  | userList.forEach(user -> { | 
|---|
|  |  |  | ComEldersAuthHistoryExcelVO authHistoryExcelVO = new ComEldersAuthHistoryExcelVO(); | 
|---|
|  |  |  | BeanUtils.copyProperties(user, authHistoryExcelVO); | 
|---|
|  |  |  | authHistoryExcelVOS.add(authHistoryExcelVO); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | return R.ok(authHistoryExcelVOS); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional(rollbackFor = Exception.class) | 
|---|
|  |  |  | public R timedTaskEldersAuthJobHandler(){ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Date nowDate = new Date(); | 
|---|
|  |  |  | //查询所有启用中社区 | 
|---|
|  |  |  | List<ComActDO> actList = comActDAO.selectList(new QueryWrapper<ComActDO>().lambda().eq(ComActDO::getState,0)); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | actList.forEach(act -> { | 
|---|
|  |  |  | //查询社区老人认证统计信息,并存储到数据库中 | 
|---|
|  |  |  | Map<String,Object> resultMap = this.baseMapper.getEldersAuthStatistics(act.getCommunityId()); | 
|---|
|  |  |  | if(resultMap != null){ | 
|---|
|  |  |  | ComEldersAuthStatisticsDO authStatisticsDO = new ComEldersAuthStatisticsDO(); | 
|---|
|  |  |  | authStatisticsDO.setCommunityId(act.getCommunityId()); | 
|---|
|  |  |  | authStatisticsDO.setMonth(DateUtils.getMonth(nowDate) + 1); | 
|---|
|  |  |  | authStatisticsDO.setYear(DateUtils.getYear(nowDate)); | 
|---|
|  |  |  | authStatisticsDO.setCreateAt(nowDate); | 
|---|
|  |  |  | authStatisticsDO.setSum(Integer.parseInt(resultMap.get("oldCount").toString())); | 
|---|
|  |  |  | authStatisticsDO.setNoAuthSum(Integer.parseInt(resultMap.get("noCount").toString())); | 
|---|
|  |  |  | authStatisticsDO.setAuthSum(Integer.parseInt(resultMap.get("yesCount").toString())); | 
|---|
|  |  |  | comEldersAuthStatisticsMapper.insert(authStatisticsDO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | //重置所有人的认证状态 | 
|---|
|  |  |  | comEldersAuthUserMapper.updateAuthStatus(); | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 身份认证定时任务 | 
|---|
|  |  |  | * @return  执行结果 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | @Transactional(rollbackFor = Exception.class) | 
|---|
|  |  |  | public R timedTaskEldersRecordAuthJobHandler(){ | 
|---|
|  |  |  | Date nowDate = new Date(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //高龄认证本期期数 | 
|---|
|  |  |  | String elderAuthPeriod = DateUtils.getCurrentDateString_YYYY_MM(); | 
|---|
|  |  |  | //养老认证本期期数 | 
|---|
|  |  |  | String pensionAuthPeriod = DateUtils.getCurrentDateString_YYYY(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //查询所有老人信息并加入到老人认证历史记录表中,如果不存在则新增,存在则不做操作 | 
|---|
|  |  |  | List<ComElderAuthElderliesDO> authElderliesList = comElderAuthElderliesDAO.getAuthElderLiesList(); | 
|---|
|  |  |  | authElderliesList.forEach(authElderlies -> { | 
|---|
|  |  |  | //查询高龄认证记录 | 
|---|
|  |  |  | ComEldersAuthHistoryRecordDO authHistoryRecordDO = comEldersAuthHistoryRecordMapper.selectOne(new QueryWrapper<ComEldersAuthHistoryRecordDO>().lambda() | 
|---|
|  |  |  | .eq(ComEldersAuthHistoryRecordDO::getElderliesId,authElderlies.getId()) | 
|---|
|  |  |  | .eq(ComEldersAuthHistoryRecordDO::getAuthPeriod,elderAuthPeriod)); | 
|---|
|  |  |  | if(authHistoryRecordDO == null){ | 
|---|
|  |  |  | authHistoryRecordDO = new ComEldersAuthHistoryRecordDO(); | 
|---|
|  |  |  | BeanUtils.copyProperties(authElderlies,authHistoryRecordDO); | 
|---|
|  |  |  | authHistoryRecordDO.setIsAuth(ComEldersAuthHistoryRecordDO.isAuth.no); | 
|---|
|  |  |  | authHistoryRecordDO.setElderliesId(authElderlies.getId()); | 
|---|
|  |  |  | authHistoryRecordDO.setAuthPeriod(elderAuthPeriod); | 
|---|
|  |  |  | authHistoryRecordDO.setCreateAt(nowDate); | 
|---|
|  |  |  | authHistoryRecordDO.setBrithday(IdcardUtil.getBirthByIdCard(authElderlies.getIdCard())); | 
|---|
|  |  |  | authHistoryRecordDO.setAge(IdcardUtil.getAgeByIdCard(authElderlies.getIdCard())); | 
|---|
|  |  |  | comEldersAuthHistoryRecordMapper.insert(authHistoryRecordDO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | //查询所有养老人员信息并加入到老人认证历史记录表中,如果不存在则新增,存在则不做操作 | 
|---|
|  |  |  | List<ComPensionAuthPensionerDO> pensionAuthPensionerList = comPensionAuthPensionerDAO.getAuthPensionList(); | 
|---|
|  |  |  | pensionAuthPensionerList.forEach(authPension -> { | 
|---|
|  |  |  | //查询养老认证记录 | 
|---|
|  |  |  | ComPensionAuthHistoryRecordDO pensionAuthDO = comPensionAuthHistoryRecordMapper.selectOne(new QueryWrapper<ComPensionAuthHistoryRecordDO>().lambda() | 
|---|
|  |  |  | .eq(ComPensionAuthHistoryRecordDO::getElderliesId,authPension.getId()) | 
|---|
|  |  |  | .eq(ComPensionAuthHistoryRecordDO::getAuthPeriod,pensionAuthPeriod)); | 
|---|
|  |  |  | if(pensionAuthDO == null){ | 
|---|
|  |  |  | pensionAuthDO = new ComPensionAuthHistoryRecordDO(); | 
|---|
|  |  |  | BeanUtils.copyProperties(authPension,pensionAuthDO); | 
|---|
|  |  |  | pensionAuthDO.setIsAuth(ComPensionAuthHistoryRecordDO.isAuth.no); | 
|---|
|  |  |  | pensionAuthDO.setElderliesId(authPension.getId()); | 
|---|
|  |  |  | pensionAuthDO.setAuthPeriod(pensionAuthPeriod); | 
|---|
|  |  |  | pensionAuthDO.setCreateAt(nowDate); | 
|---|
|  |  |  | pensionAuthDO.setBrithday(IdcardUtil.getBirthByIdCard(authPension.getIdCard())); | 
|---|
|  |  |  | pensionAuthDO.setAge(IdcardUtil.getAgeByIdCard(authPension.getIdCard())); | 
|---|
|  |  |  | comPensionAuthHistoryRecordMapper.insert(pensionAuthDO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R setAuthType(Long communityId, Integer type){ | 
|---|
|  |  |  | List<SysConfDO> authConf = | 
|---|
|  |  |  | sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>().eq(SysConfDO::getCommunityId, communityId) | 
|---|
|  |  |  | .eq(SysConfDO::getCode, "ELDER_AUTH_TYPE_" + communityId).orderByDesc(SysConfDO::getCreateAt)); | 
|---|
|  |  |  | if (authConf != null && authConf.size() > 0) { | 
|---|
|  |  |  | SysConfDO first = authConf.get(0); | 
|---|
|  |  |  | first.setValue(type + ""); | 
|---|
|  |  |  | int updated = sysConfDao.updateById(first); | 
|---|
|  |  |  | if (updated == 1) { | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.fail(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R getAuthType(EldersAuthTypeQueryDTO eldersAuthTypeQueryDTO){ | 
|---|
|  |  |  | Long communityId = eldersAuthTypeQueryDTO.getCommunityId(); | 
|---|
|  |  |  | List<SysConfDO> confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>() | 
|---|
|  |  |  | .eq(SysConfDO::getCommunityId, communityId).eq(SysConfDO::getCode,"ELDER_AUTH_TYPE_" + communityId).orderByDesc(SysConfDO::getCreateAt)); | 
|---|
|  |  |  | if (confDOList == null || confDOList.size() == 0) { | 
|---|
|  |  |  | SysConfDO sysConfDO = new SysConfDO(); | 
|---|
|  |  |  | sysConfDO.setCode("ELDER_AUTH_TYPE_" + communityId); | 
|---|
|  |  |  | sysConfDO.setName("高龄认证类型"); | 
|---|
|  |  |  | sysConfDO.setValue(2 + "");// 核验类型(1.视频认证 2.人脸核验) | 
|---|
|  |  |  | sysConfDO.setDescription("高龄认证默认添加的核验类型"); | 
|---|
|  |  |  | sysConfDO.setCommunityId(communityId); | 
|---|
|  |  |  | sysConfDO.setCreateBy(eldersAuthTypeQueryDTO.getUserId()); | 
|---|
|  |  |  | int inserted = sysConfDao.insert(sysConfDO); | 
|---|
|  |  |  | if (inserted != 1) { | 
|---|
|  |  |  | throw new ServiceException("添加高龄认证默认添加的核验类型失败"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | confDOList = sysConfDao.selectList(new LambdaQueryWrapper<SysConfDO>() | 
|---|
|  |  |  | .eq(SysConfDO::getCommunityId, communityId) | 
|---|
|  |  |  | .orderByDesc(SysConfDO::getCreateAt)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | if (confDOList != null && confDOList.size() > 0) { | 
|---|
|  |  |  | SysConfDO latest = confDOList.get(0); | 
|---|
|  |  |  | SysConfVO sysConfVO = new SysConfVO(); | 
|---|
|  |  |  | BeanUtils.copyProperties(latest, sysConfVO); | 
|---|
|  |  |  | return R.ok(sysConfVO.getValue()); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 高龄认证统计-分页查询 | 
|---|
|  |  |  | * @param pageElderAuthStatisticDTO 请求参数 | 
|---|
|  |  |  | * @return  高龄认证统计列表 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R pageAuthStatisticAdmin(PageElderAuthStatisticDTO pageElderAuthStatisticDTO){ | 
|---|
|  |  |  | IPage<ComEldersAuthStatisticVO> authStatisticPage = comEldersAuthHistoryRecordMapper.pageAuthStatisticAdmin( | 
|---|
|  |  |  | new Page(pageElderAuthStatisticDTO.getPageNum(),pageElderAuthStatisticDTO.getPageSize()),pageElderAuthStatisticDTO); | 
|---|
|  |  |  | authStatisticPage.getRecords().forEach(authStatistic -> { | 
|---|
|  |  |  | authStatistic.setAge(IdcardUtil.getAgeByIdCard(authStatistic.getIdCard())); | 
|---|
|  |  |  | authStatistic.setBirthday(IdcardUtil.getBirth(authStatistic.getIdCard())); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | return R.ok(authStatisticPage); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 高龄认证统计-标记 | 
|---|
|  |  |  | * @param signElderAuthStatisticDTO 请求参数 | 
|---|
|  |  |  | * @return  标记结果 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R signAuthStatisticAdmin(SignElderAuthStatisticDTO signElderAuthStatisticDTO){ | 
|---|
|  |  |  | ComEldersAuthHistoryRecordDO authHistoryRecordDO = comEldersAuthHistoryRecordMapper.selectById(signElderAuthStatisticDTO.getId()); | 
|---|
|  |  |  | if(authHistoryRecordDO == null){ | 
|---|
|  |  |  | return R.fail("未查询到该记录"); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | authHistoryRecordDO.setMark(signElderAuthStatisticDTO.getMark()); | 
|---|
|  |  |  | if(comEldersAuthHistoryRecordMapper.updateById(authHistoryRecordDO) > 0){ | 
|---|
|  |  |  | return R.ok(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return R.fail(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 高龄认证统计-统计表头数据 | 
|---|
|  |  |  | * @param statisticHeaderDTO 请求参数 | 
|---|
|  |  |  | * @return  统计表头数据 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @Override | 
|---|
|  |  |  | public R getAuthHeaderStatisticAdmin(ElderAuthStatisticHeaderDTO statisticHeaderDTO){ | 
|---|
|  |  |  | return R.ok(comEldersAuthHistoryRecordMapper.getAuthHeaderStatisticAdmin(statisticHeaderDTO)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|