From 2e64c232ab6b51b2cecf1ee96e1e9b709234f326 Mon Sep 17 00:00:00 2001 From: huanghongfa <huanghongfa123456> Date: 星期六, 21 八月 2021 16:35:14 +0800 Subject: [PATCH] 随手拍改版接口开发 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEldersAuthElderlyServiceImpl.java | 108 +++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 91 insertions(+), 17 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEldersAuthElderlyServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEldersAuthElderlyServiceImpl.java index b2adec5..6a82563 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEldersAuthElderlyServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEldersAuthElderlyServiceImpl.java @@ -1,27 +1,40 @@ package com.panzhihua.service_community.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.panzhihua.common.exceptions.ServiceException; import com.panzhihua.common.model.dtos.community.EldersAuthElderlyDTO; import com.panzhihua.common.model.dtos.community.PageComEldersAuthElderlyDTO; import com.panzhihua.common.model.dtos.community.PageEldersAuthElderlyDTO; +import com.panzhihua.common.model.helper.AESUtil; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.model.vos.community.ComEldersAuthElderlyVO; import com.panzhihua.common.model.vos.community.EldersAuthElderlyExcelVO; +import com.panzhihua.common.utlis.AgeUtils; +import com.panzhihua.common.utlis.IdCard; import com.panzhihua.service_community.dao.ComEldersAuthElderlyMapper; import com.panzhihua.service_community.model.dos.ComEldersAuthElderlyDO; import com.panzhihua.service_community.service.ComEldersAuthElderlyService; import com.panzhihua.service_community.service.EldersAuthService; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; +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.text.SimpleDateFormat; +import java.util.*; /** * 高龄老人库 serviceImpl @@ -38,12 +51,14 @@ @Resource private ComEldersAuthElderlyMapper comEldersAuthElderlyMapper; + @Value("${domain.aesKey:}") + private String aesKey; + @Resource private EldersAuthService eldersAuthService; @Override public R pageQueryEldersAuthElderly(PageEldersAuthElderlyDTO pageEldersAuthElderlyDTO) { - PageComEldersAuthElderlyDTO pageComEldersAuthElderlyDTO = new PageComEldersAuthElderlyDTO(); BeanUtils.copyProperties(pageEldersAuthElderlyDTO,pageComEldersAuthElderlyDTO); IPage<ComEldersAuthElderlyVO> page = comEldersAuthElderlyMapper.findByPage(new Page(pageEldersAuthElderlyDTO.getPageNum(),pageEldersAuthElderlyDTO.getPageSize()),pageComEldersAuthElderlyDTO); @@ -51,20 +66,68 @@ } @Override + @Transactional(rollbackFor = Exception.class) public R batchSave(List<EldersAuthElderlyExcelVO> list,Long communityId,Long createBy) { - List<ComEldersAuthElderlyDO> listDO = new ArrayList<>(); + List<ComEldersAuthElderlyDO> listNewDO = new ArrayList<>(); + List<ComEldersAuthElderlyDO> listUpdateDO = new ArrayList<>(); list.forEach(e->{ - ComEldersAuthElderlyDO comEldersAuthElderlyDO = new ComEldersAuthElderlyDO(); - comEldersAuthElderlyDO.setName(e.getName()); - comEldersAuthElderlyDO.setIdCard(e.getIdCard()); - comEldersAuthElderlyDO.setCommunityId(communityId); - comEldersAuthElderlyDO.setCreateBy(createBy); - comEldersAuthElderlyDO.setDomicile(eldersAuthService.queryDomicile(e.getIdCard())); - comEldersAuthElderlyDO.setIsExist(Objects.equals("是",e.getIsExist())?1:2); - comEldersAuthElderlyDO.setIsBigAge(Objects.equals("是",e.getIsExist())?1:2); - listDO.add(comEldersAuthElderlyDO); + String idCardProto = e.getIdCard(); + if(idCardProto!=null && idCardProto.contains("x")){ + idCardProto = idCardProto.replaceAll("x", "X"); + } + String idCardEncrypted = idCardProto; + try { + idCardEncrypted = AESUtil.encrypt128(idCardEncrypted, aesKey); + } catch (Exception exp) { + exp.printStackTrace(); + } + List<ComEldersAuthElderlyDO> comEldersAuthElderlyDOList = + comEldersAuthElderlyMapper.selectList(new LambdaQueryWrapper<ComEldersAuthElderlyDO>().eq(ComEldersAuthElderlyDO::getIdCard, idCardEncrypted) + .orderByDesc(ComEldersAuthElderlyDO::getCreateAt)); + + if(comEldersAuthElderlyDOList!=null && comEldersAuthElderlyDOList.size()>0){ + ComEldersAuthElderlyDO lastestOne = comEldersAuthElderlyDOList.get(0); + lastestOne.setName(e.getName()); + lastestOne.setCommunityId(communityId); + lastestOne.setUpdateBy(createBy); + lastestOne.setIdCard(null); + lastestOne.setDomicile(eldersAuthService.queryDomicile(e.getIdCard())); + lastestOne.setIsExist(Objects.equals("是",e.getIsExist())?1:2); + lastestOne.setIsBigAge(Objects.equals("是",e.getIsExist())?1:2); + lastestOne.setUpdateAt(new Date()); + listUpdateDO.add(lastestOne); + }else{ + ComEldersAuthElderlyDO comEldersAuthElderlyDO = new ComEldersAuthElderlyDO(); + comEldersAuthElderlyDO.setName(e.getName()); + comEldersAuthElderlyDO.setIdCard(e.getIdCard()); + comEldersAuthElderlyDO.setCommunityId(communityId); + comEldersAuthElderlyDO.setCreateBy(createBy); + comEldersAuthElderlyDO.setDomicile(eldersAuthService.queryDomicile(e.getIdCard())); + comEldersAuthElderlyDO.setIsExist(Objects.equals("是",e.getIsExist())?1:2); + comEldersAuthElderlyDO.setIsBigAge(Objects.equals("是",e.getIsExist())?1:2); + comEldersAuthElderlyDO.setBirthday(e.getBirthday()); + comEldersAuthElderlyDO.setLevel(e.getLevel()); + listNewDO.add(comEldersAuthElderlyDO); + } + }); - this.saveBatch(listDO); + boolean noImport = (listNewDO==null || listNewDO.size()==0) && (listUpdateDO==null || listUpdateDO.size()==0); + if(noImport){ + throw new ServiceException("未发现高龄老人数据"); + } + if(listNewDO!=null && listNewDO.size()>0) { + boolean batchAdd = this.saveBatch(listNewDO); + if (!batchAdd) { + throw new ServiceException("批量插入失败"); + } + } + if(listUpdateDO!=null && listUpdateDO.size()>0) { + boolean batchUpdate = this.updateBatchById(listUpdateDO); + if (!batchUpdate) { + throw new ServiceException("批量更新失败"); + } + } + return R.ok("共计导入高龄老人数量:" + list.size()); } @@ -72,6 +135,9 @@ @Override public R getEldersAuthElderlyById(Long id) { ComEldersAuthElderlyDO comEldersAuthElderlyDO = this.baseMapper.selectById(id); + if(comEldersAuthElderlyDO==null){ + return R.fail("记录不存在"); + } ComEldersAuthElderlyVO comEldersAuthElderlyVO = new ComEldersAuthElderlyVO(); BeanUtils.copyProperties(comEldersAuthElderlyDO,comEldersAuthElderlyVO); return R.ok(comEldersAuthElderlyVO); @@ -83,6 +149,10 @@ if(!ObjectUtils.isEmpty(eldersAuthElderlyDTO.getName())){ comEldersAuthElderlyDO.setName(eldersAuthElderlyDTO.getName()); } + if(eldersAuthElderlyDTO.getIsExist()!=null&& + eldersAuthElderlyDTO.getIsExist().intValue()!=1 && eldersAuthElderlyDTO.getIsExist()!=2){ + return R.fail("参数错误,是否健在只能为1或2"); + } comEldersAuthElderlyDO.setIsExist(eldersAuthElderlyDTO.getIsExist()); comEldersAuthElderlyDO.setIsBigAge(eldersAuthElderlyDTO.getIsBigAge()); baseMapper.updateEldersAuthElderly(comEldersAuthElderlyDO); @@ -91,7 +161,11 @@ @Override public R deleteEldersAuthElderly(Long id) { - this.baseMapper.deleteById(id); - return R.ok(); + if(this.baseMapper.deleteById(id) > 0){ + //删除用户关联的老人信息 + this.baseMapper.deleteEldersAuthUserById(id); + return R.ok(); + } + return R.fail(); } } -- Gitblit v1.7.1