From cc1098fc00a50cb1591d182f04bc37066ff0a9e2 Mon Sep 17 00:00:00 2001 From: 罗元桥 <2376770955@qq.com> Date: 星期四, 05 八月 2021 15:12:39 +0800 Subject: [PATCH] Merge branch 'test' into 'master' --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java | 116 +++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 99 insertions(+), 17 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java index e99da5e..00201f9 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java @@ -11,12 +11,14 @@ 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.DateUtils; @@ -26,11 +28,18 @@ import com.panzhihua.service_community.model.dos.*; import com.panzhihua.service_community.service.EldersAuthService; import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import org.springframework.beans.BeanUtils; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import javax.crypto.BadPaddingException; +import javax.crypto.IllegalBlockSizeException; +import javax.crypto.NoSuchPaddingException; +import java.io.UnsupportedEncodingException; +import java.security.InvalidKeyException; +import java.security.NoSuchAlgorithmException; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -56,6 +65,11 @@ private SysConfMapper sysConfDao; @Resource private ComEldersAuthHistoryRecordMapper comEldersAuthHistoryRecordMapper; + @Resource + private ComEldersAuthStatisticsMapper comEldersAuthStatisticsMapper; + + @Value("${domain.aesKey:}") + private String aesKey; /** * 新增高龄认证 @@ -138,12 +152,41 @@ * @param eldersAuthFeedbackAddDTO * @return 新增结果 */ + @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){ + 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(); @@ -237,23 +280,26 @@ */ @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){ + 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()); + String domicile = this.baseMapper.selectDomicile(idCard); if(org.springframework.util.StringUtils.isEmpty(domicile)){ domicile = "暂无"; } eldersAuthDO.setDomicile(domicile); - eldersAuthDO.setBirthDay(IdcardUtil.getBirthDate(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()); @@ -268,14 +314,15 @@ authHistoryRecordDO.setAuthId(eldersAuthDO.getId()); BeanUtils.copyProperties(eldersAuthDO,authHistoryRecordDO); authHistoryRecordDO.setId(null); - authHistoryRecordDO.setBrithday(AgeUtils.getAgeFormatBirthday(IdcardUtil.getBirthByIdCard(eldersAuthDO.getIdCard()))); - authHistoryRecordDO.setAge(IdcardUtil.getAgeByIdCard(eldersAuthDO.getIdCard())); + 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()); @@ -290,13 +337,15 @@ * @return 查询结果 */ @Override - public R pageEldersByApp(ComEldersAuthPageDTO authPageDTO){ + public R pageEldersByApp(ComEldersAuthPageDTO authPageDTO) throws Exception{ //判断当前用户是否是高龄老人,如果是则将这个人新增到高龄老人的列表里 SysUserVO userVO = this.eldersAuthDAO.getSysUserByUserId(authPageDTO.getUserId()); 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())); + .eq(ComEldersAuthUserDO::getIdCard, userVO.getIdCard())); if(oldAuthUserDO == null){ //查询老人库是否存在当前用户信息 ComEldersAuthElderlyDO authElderlyDO = comEldersAuthElderlyMapper.selectOne(new QueryWrapper<ComEldersAuthElderlyDO>().lambda() @@ -306,7 +355,7 @@ 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); @@ -320,7 +369,7 @@ if(authUser.getIsAuth().equals(ComEldersAuthUserDO.isAuth.yes)){ List<EldersAuthDO> authDOS = eldersAuthDAO.selectList(new QueryWrapper<EldersAuthDO>().lambda() - .eq(EldersAuthDO::getSumitUserId,authPageDTO.getUserId()).orderByDesc(EldersAuthDO::getCreateAt)); + .eq(EldersAuthDO::getFamilyUserId,authUser.getElderId()).orderByDesc(EldersAuthDO::getCreateAt)); if(!authDOS.isEmpty()){ EldersAuthDO authDO = authDOS.get(0); if(authDO.getType().equals(1)){//视频认证 @@ -332,10 +381,14 @@ } } } - try { - authUser.setAge(IdcardUtil.getAgeByIdCard(authUser.getIdCard())); - }catch (NullPointerException e){ - log.error("获取用户年龄出错了:" + authUser.getIdCard()); + + ComEldersAuthUserDO authUserDO = comEldersAuthUserMapper.selectById(authUser.getElderId()); + if(authUserDO != null){ + try { + authUser.setAge(IdcardUtil.getAgeByIdCard(authUserDO.getIdCard())); + }catch (NullPointerException e){ + log.error("获取用户年龄出错了:" + authUser.getIdCard()); + } } }); } @@ -356,8 +409,14 @@ return R.fail("当前老人已存在"); } + 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,authUserAddAppDTO.getIdCard())); + .eq(ComEldersAuthElderlyDO::getIdCard, encryptedIdCard)); if(authElderlyDO == null){ return R.fail("未在系统找到相符的高龄老人!请检查信息是否正确,或联系社区工作人员"); } @@ -402,7 +461,8 @@ 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) { @@ -421,4 +481,26 @@ } return R.fail(); } + + @Override + public R getAuthHistoryList(PageEldersAuthHistoryDTO pageEldersAuthElderlyDTO){ + return R.ok(comEldersAuthStatisticsMapper.findByPage(new Page(pageEldersAuthElderlyDTO.getPageNum(),pageEldersAuthElderlyDTO.getPageSize()),pageEldersAuthElderlyDTO)); + } + + 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); + } } -- Gitblit v1.7.1