liujie
2025-06-09 70d2a5d0f9c6951b2d4cac954041ed73582ff7eb
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComMngVolunteerMngServiceImpl.java
@@ -10,6 +10,7 @@
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.service.user.UserService;
import com.panzhihua.common.utlis.StringUtils;
import com.panzhihua.service_community.dao.ComMngVolunteerOrgTeamMapper;
import com.panzhihua.service_community.dao.ComMngVolunteerSkillMapper;
@@ -34,6 +35,8 @@
import com.panzhihua.service_community.model.dos.ComMngVolunteerMngDO;
import com.panzhihua.service_community.service.ComMngVolunteerMngService;
import static java.util.Objects.nonNull;
/**
 * @program: springcloud_k8s_panzhihuazhihuishequ
 * @description: 志愿者
@@ -48,6 +51,8 @@
    private ComMngVolunteerOrgTeamMapper comMngVolunteerOrgTeamMapper;
    @Resource
    private ComMngVolunteerSkillMapper comMngVolunteerSkillMapper;
    @Resource
    private UserService userService;
    /**
     * 增加志愿者
@@ -291,34 +296,34 @@
            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;
            }
//            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;
            }
                    .eq(ComMngVolunteerOrgTeam::getParentId, nonNull(orgVo) ? orgVo.getId() : null));
//            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;
            }
//            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));
@@ -326,9 +331,9 @@
                if(comMngVolunteerMngDO.getState().equals(1)){
                    BeanUtils.copyProperties(excel,comMngVolunteerMngDO);
                    comMngVolunteerMngDO.setState(2);
                    comMngVolunteerMngDO.setOrgId(orgVo.getId());
                    comMngVolunteerMngDO.setTeamId(teamVo.getId());
                    comMngVolunteerMngDO.setSkillId(skillVo.getId());
                    comMngVolunteerMngDO.setOrgId(nonNull(orgVo) ? orgVo.getId() : null);
                    comMngVolunteerMngDO.setTeamId(nonNull(teamVo) ? teamVo.getId() : null);
                    comMngVolunteerMngDO.setSkillId(nonNull(skillVo) ? skillVo.getId() : null);
                    comMngVolunteerMngDAO.updateById(comMngVolunteerMngDO);
                }else{
                    ComMngVolunteerErrorExcelVO errorExcelVO = new ComMngVolunteerErrorExcelVO();
@@ -341,9 +346,9 @@
                BeanUtils.copyProperties(excel,comMngVolunteerMngDO);
                comMngVolunteerMngDO.setCommunityId(communityId);
                comMngVolunteerMngDO.setState(2);
                comMngVolunteerMngDO.setOrgId(orgVo.getId());
                comMngVolunteerMngDO.setTeamId(teamVo.getId());
                comMngVolunteerMngDO.setSkillId(skillVo.getId());
                comMngVolunteerMngDO.setOrgId(nonNull(orgVo) ? orgVo.getId() : null);
                comMngVolunteerMngDO.setTeamId(nonNull(teamVo) ? teamVo.getId() : null);
                comMngVolunteerMngDO.setSkillId(nonNull(skillVo) ? skillVo.getId() : null);
                comMngVolunteerMngDO.setCreateAt(nowDate);
                //查询用户id,如果存在则需要绑定
                Long volunteerUserId = comMngVolunteerMngDAO.selectUserIdByIdCard(excel.getIdCard());
@@ -351,6 +356,7 @@
                    comMngVolunteerMngDO.setSubmitUserId(volunteerUserId);
                }
                comMngVolunteerMngDAO.insert(comMngVolunteerMngDO);
                userService.putUserIsVolunteer(comMngVolunteerMngDO.getPhone(), 1);
            }
        }
        if(errorList.size() > 0){