| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | private SysConfMapper sysConfDao; |
| | | @Resource |
| | | private ComEldersAuthHistoryRecordMapper comEldersAuthHistoryRecordMapper; |
| | | @Resource |
| | | private ComEldersAuthStatisticsMapper comEldersAuthStatisticsMapper; |
| | | |
| | | @Value("${domain.aesKey:}") |
| | | private String aesKey; |
| | | |
| | | /** |
| | | * 新增高龄认证 |
| | |
| | | * @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(); |
| | |
| | | */ |
| | | @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()); |
| | | |
| | |
| | | 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()); |
| | |
| | | * @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() |
| | |
| | | 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); |
| | |
| | | |
| | | 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)){//视频认证 |
| | |
| | | } |
| | | } |
| | | } |
| | | 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()); |
| | | } |
| | | } |
| | | }); |
| | | } |
| | |
| | | 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("未在系统找到相符的高龄老人!请检查信息是否正确,或联系社区工作人员"); |
| | | } |
| | |
| | | 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) { |
| | |
| | | } |
| | | 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); |
| | | } |
| | | } |