From 85cf42314fc04a637f1a44e78c1e476a445bf0f3 Mon Sep 17 00:00:00 2001 From: 101captain <237651143@qq.com> Date: 星期一, 14 三月 2022 13:29:18 +0800 Subject: [PATCH] Merge branch 'dev' --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVolunteerMngServiceImpl.java | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 108 insertions(+), 8 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVolunteerMngServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVolunteerMngServiceImpl.java index 7b5f28f..377e862 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVolunteerMngServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVolunteerMngServiceImpl.java @@ -1,12 +1,23 @@ package com.panzhihua.service_community.service.impl; +import java.util.ArrayList; import java.util.Arrays; +import java.util.Date; import java.util.List; import javax.annotation.Resource; +import cn.hutool.core.util.IdcardUtil; +import com.panzhihua.common.model.vos.community.volunteer.ComMngVolunteerErrorExcelVO; +import com.panzhihua.common.model.vos.community.volunteer.ComMngVolunteerExcelVO; +import com.panzhihua.common.utlis.StringUtils; +import com.panzhihua.service_community.dao.ComMngVolunteerOrgTeamMapper; +import com.panzhihua.service_community.dao.ComMngVolunteerSkillMapper; +import com.panzhihua.service_community.model.dos.ComMngVolunteerOrgTeam; +import com.panzhihua.service_community.model.dos.ComMngVolunteerSkill; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.ObjectUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -33,6 +44,10 @@ public class ComMngVolunteerMngServiceImpl implements ComMngVolunteerMngService { @Resource private ComMngVolunteerMngDAO comMngVolunteerMngDAO; + @Resource + private ComMngVolunteerOrgTeamMapper comMngVolunteerOrgTeamMapper; + @Resource + private ComMngVolunteerSkillMapper comMngVolunteerSkillMapper; /** * 增加志愿者 @@ -44,8 +59,10 @@ @Override public R addVolunteer(ComMngVolunteerMngVO comMngVolunteerMngVO) { String phone = comMngVolunteerMngVO.getPhone(); + String idCard = comMngVolunteerMngVO.getIdCard(); Integer integer = comMngVolunteerMngDAO.selectCount(new QueryWrapper<ComMngVolunteerMngDO>().lambda() - .eq(ComMngVolunteerMngDO::getPhone, phone).in(ComMngVolunteerMngDO::getState, Arrays.asList(1, 2))); + .and(wrapper -> wrapper.eq(ComMngVolunteerMngDO::getPhone, phone).or().eq(ComMngVolunteerMngDO::getIdCard, idCard)) + .in(ComMngVolunteerMngDO::getState, Arrays.asList(1, 2))); if (null != integer && integer.intValue() > 0) { return R.fail("请勿重复申请"); } @@ -116,7 +133,9 @@ page.setCurrent(pageNum); IPage<ComMngVolunteerMngVO> iPage = comMngVolunteerMngDAO.pageVolunteer(page, comMngVolunteerMngVO); iPage.getRecords().forEach(record -> { - record.setPhone(SensitiveUtil.desensitizedPhoneNumber(record.getPhone())); + if(StringUtils.isNotEmpty(record.getIdCard())){ + record.setAge(IdcardUtil.getAgeByIdCard(record.getIdCard())); + } }); return R.ok(iPage); } @@ -154,12 +173,7 @@ */ @Override public R detailVolunteerExamine(Long id) { - ComMngVolunteerMngDO comMngVolunteerMngDO = comMngVolunteerMngDAO.selectById(id); - if (ObjectUtils.isEmpty(comMngVolunteerMngDO)) { - return R.fail("审核不存在"); - } - ComMngVolunteerMngVO comMngVolunteerMngVO = new ComMngVolunteerMngVO(); - BeanUtils.copyProperties(comMngVolunteerMngDO, comMngVolunteerMngVO); + ComMngVolunteerMngVO comMngVolunteerMngVO = comMngVolunteerMngDAO.detailVolunteerExamine(id); // String phone = comMngVolunteerMngVO.getPhone(); // comMngVolunteerMngVO.setUserId(comMngVolunteerMngDAO.selectUserIdByPhone(phone)); return R.ok(comMngVolunteerMngVO); @@ -258,4 +272,90 @@ BeanUtils.copyProperties(comMngVolunteerMngDO, vo); return R.ok(vo); } + + /** + * 志愿者导入 + * + * @param list 志愿者数据列表 + * @param communityId 社区id + * @param userId 用户id + * @return 导入结果 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public R importVolunteerAdmin(List<ComMngVolunteerExcelVO> list, Long communityId, Long userId){ + //错误集合 + List<ComMngVolunteerErrorExcelVO> errorList = new ArrayList<>(); + for (ComMngVolunteerExcelVO excel : list) { + //查询组织 + ComMngVolunteerOrgTeam orgVo = comMngVolunteerOrgTeamMapper.selectOne(new QueryWrapper<ComMngVolunteerOrgTeam>().lambda() + .eq(ComMngVolunteerOrgTeam::getName,excel.getOrgName()).eq(ComMngVolunteerOrgTeam::getCommunityId,communityId) + .eq(ComMngVolunteerOrgTeam::getParentId,0)); + if(orgVo == null){ + ComMngVolunteerErrorExcelVO errorExcelVO = new ComMngVolunteerErrorExcelVO(); + BeanUtils.copyProperties(excel,errorExcelVO); + errorExcelVO.setError("该志愿者组织不存在,请先通过后台添加该志愿者组织"); + errorList.add(errorExcelVO); + continue; + } + //查询队伍 + ComMngVolunteerOrgTeam teamVo = comMngVolunteerOrgTeamMapper.selectOne(new QueryWrapper<ComMngVolunteerOrgTeam>().lambda() + .eq(ComMngVolunteerOrgTeam::getName,excel.getTeamName()).eq(ComMngVolunteerOrgTeam::getCommunityId,communityId) + .eq(ComMngVolunteerOrgTeam::getParentId,orgVo.getId())); + if(teamVo == null){ + ComMngVolunteerErrorExcelVO errorExcelVO = new ComMngVolunteerErrorExcelVO(); + BeanUtils.copyProperties(excel,errorExcelVO); + errorExcelVO.setError("该志愿者队伍不存在,请先通过后台添加该志愿者队伍"); + errorList.add(errorExcelVO); + continue; + } + //查询技能 + ComMngVolunteerSkill skillVo = comMngVolunteerSkillMapper.selectOne(new QueryWrapper<ComMngVolunteerSkill>().lambda() + .eq(ComMngVolunteerSkill::getName,excel.getSkillName()).eq(ComMngVolunteerSkill::getCommunityId,communityId)); + if(skillVo == null){ + ComMngVolunteerErrorExcelVO errorExcelVO = new ComMngVolunteerErrorExcelVO(); + BeanUtils.copyProperties(excel,errorExcelVO); + errorExcelVO.setError("该志愿者技能不存在,请先通过后台添加该志愿者技能"); + errorList.add(errorExcelVO); + continue; + } + Date nowDate = new Date(); + ComMngVolunteerMngDO comMngVolunteerMngDO = comMngVolunteerMngDAO.selectOne(new QueryWrapper<ComMngVolunteerMngDO>().lambda() + .eq(ComMngVolunteerMngDO::getIdCard,excel.getIdCard()).in(ComMngVolunteerMngDO::getState,1,2)); + if(comMngVolunteerMngDO != null){ + if(comMngVolunteerMngDO.getState().equals(1)){ + BeanUtils.copyProperties(excel,comMngVolunteerMngDO); + comMngVolunteerMngDO.setState(2); + comMngVolunteerMngDO.setOrgId(orgVo.getId()); + comMngVolunteerMngDO.setTeamId(teamVo.getId()); + comMngVolunteerMngDO.setSkillId(skillVo.getId()); + comMngVolunteerMngDAO.updateById(comMngVolunteerMngDO); + }else{ + ComMngVolunteerErrorExcelVO errorExcelVO = new ComMngVolunteerErrorExcelVO(); + BeanUtils.copyProperties(excel,errorExcelVO); + errorExcelVO.setError("该志愿者已存在,不可重复添加"); + errorList.add(errorExcelVO); + } + }else{ + comMngVolunteerMngDO = new ComMngVolunteerMngDO(); + BeanUtils.copyProperties(excel,comMngVolunteerMngDO); + comMngVolunteerMngDO.setCommunityId(communityId); + comMngVolunteerMngDO.setState(2); + comMngVolunteerMngDO.setOrgId(orgVo.getId()); + comMngVolunteerMngDO.setTeamId(teamVo.getId()); + comMngVolunteerMngDO.setSkillId(skillVo.getId()); + comMngVolunteerMngDO.setCreateAt(nowDate); + //查询用户id,如果存在则需要绑定 + Long volunteerUserId = comMngVolunteerMngDAO.selectUserIdByIdCard(excel.getIdCard()); + if(volunteerUserId != null){ + comMngVolunteerMngDO.setSubmitUserId(volunteerUserId); + } + comMngVolunteerMngDAO.insert(comMngVolunteerMngDO); + } + } + if(errorList.size() > 0){ + return R.fail(errorList); + } + return R.ok(); + } } -- Gitblit v1.7.1