From 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期一, 09 六月 2025 11:54:00 +0800 Subject: [PATCH] 6.9新增登录失败冻结逻辑 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComEldersAuthElderlyServiceImpl.java | 145 +++++++++++++++++++++++++++++++++++++---------- 1 files changed, 113 insertions(+), 32 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..37f987b 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,11 +1,27 @@ package com.panzhihua.service_community.service.impl; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +import javax.annotation.Resource; + +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 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; @@ -13,15 +29,8 @@ 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.springframework.beans.BeanUtils; -import org.springframework.stereotype.Service; -import org.springframework.util.ObjectUtils; -import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.List; -import java.util.Objects; +import lombok.extern.slf4j.Slf4j; /** * 高龄老人库 serviceImpl @@ -30,68 +39,140 @@ * @version 1.0 * @since 1.0 * @date 2021-06-09 - * */ + */ @Slf4j @Service -public class ComEldersAuthElderlyServiceImpl extends ServiceImpl<ComEldersAuthElderlyMapper, ComEldersAuthElderlyDO> implements ComEldersAuthElderlyService { +public class ComEldersAuthElderlyServiceImpl extends ServiceImpl<ComEldersAuthElderlyMapper, ComEldersAuthElderlyDO> + implements ComEldersAuthElderlyService { @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); + BeanUtils.copyProperties(pageEldersAuthElderlyDTO, pageComEldersAuthElderlyDTO); + IPage<ComEldersAuthElderlyVO> page = comEldersAuthElderlyMapper.findByPage( + new Page(pageEldersAuthElderlyDTO.getPageNum(), pageEldersAuthElderlyDTO.getPageSize()), + pageComEldersAuthElderlyDTO); return R.ok(page); } @Override - public R batchSave(List<EldersAuthElderlyExcelVO> list,Long communityId,Long createBy) { - List<ComEldersAuthElderlyDO> listDO = 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); + @Transactional(rollbackFor = Exception.class) + public R batchSave(List<EldersAuthElderlyExcelVO> list, Long communityId, Long createBy) { + List<ComEldersAuthElderlyDO> listNewDO = new ArrayList<>(); + List<ComEldersAuthElderlyDO> listUpdateDO = new ArrayList<>(); + list.forEach(e -> { + 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.getIsBigAge()) ? 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.getIsBigAge()) ? 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()); } - @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); + BeanUtils.copyProperties(comEldersAuthElderlyDO, comEldersAuthElderlyVO); return R.ok(comEldersAuthElderlyVO); } @Override public R updateEldersAuthElderly(EldersAuthElderlyDTO eldersAuthElderlyDTO) { - ComEldersAuthElderlyDO comEldersAuthElderlyDO = this.baseMapper.selectById(eldersAuthElderlyDTO.getId()); - if(!ObjectUtils.isEmpty(eldersAuthElderlyDTO.getName())){ + ComEldersAuthElderlyDO comEldersAuthElderlyDO = this.baseMapper.selectById(eldersAuthElderlyDTO.getId()); + if(comEldersAuthElderlyDO == null){ + return R.fail("未查询到该老人信息"); + } + if (!ObjectUtils.isEmpty(eldersAuthElderlyDTO.getName())) { comEldersAuthElderlyDO.setName(eldersAuthElderlyDTO.getName()); } comEldersAuthElderlyDO.setIsExist(eldersAuthElderlyDTO.getIsExist()); comEldersAuthElderlyDO.setIsBigAge(eldersAuthElderlyDTO.getIsBigAge()); + comEldersAuthElderlyDO.setIdCard(eldersAuthElderlyDTO.getIdCard()); +// if (!ObjectUtils.isEmpty(eldersAuthElderlyDTO.getIdCard())) { +// try { +// String idCard = AESUtil.encrypt128(eldersAuthElderlyDTO.getIdCard(), aesKey); +// comEldersAuthElderlyDO.setIdCard(idCard); +// } catch (Exception exp) { +// log.error("身份证转义失败"); +// } +// } baseMapper.updateEldersAuthElderly(comEldersAuthElderlyDO); return R.ok(); } @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