From 3cb6ee6e1e4ea8b7cc65033f9420b3ae0029b63c Mon Sep 17 00:00:00 2001
From: tangxiaobao <303826152@qq.com>
Date: 星期三, 18 八月 2021 18:53:24 +0800
Subject: [PATCH] Merge branch 'txb'
---
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/EldersAuthServiceImpl.java | 131 +++++++++++++++++++++++++++++++++++++++----
1 files changed, 118 insertions(+), 13 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 17bf70b..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,25 +11,35 @@
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.common.utlis.IdCard;
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.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;
@@ -53,6 +63,13 @@
private ComEldersAuthElderlyMapper comEldersAuthElderlyMapper;
@Resource
private SysConfMapper sysConfDao;
+ @Resource
+ private ComEldersAuthHistoryRecordMapper comEldersAuthHistoryRecordMapper;
+ @Resource
+ private ComEldersAuthStatisticsMapper comEldersAuthStatisticsMapper;
+
+ @Value("${domain.aesKey:}")
+ private String aesKey;
/**
* 新增高龄认证
@@ -135,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();
@@ -234,29 +280,49 @@
*/
@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(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());
@@ -271,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()
@@ -287,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);
@@ -301,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)){//视频认证
@@ -313,7 +381,15 @@
}
}
}
- 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);
@@ -333,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("未在系统找到相符的高龄老人!请检查信息是否正确,或联系社区工作人员");
}
@@ -373,14 +455,15 @@
}
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 =
@@ -398,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