From 088a3fdd39dafd647b229cef328b5c6faba50a1b Mon Sep 17 00:00:00 2001 From: Jackwang Date: Mon, 6 Dec 2021 18:29:15 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BF=97=E6=84=BF=E8=80=85=E5=9B=A2=E9=98=9F?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/VolunteerTeamController.java | 12 +++ .../elink/esua/epdc/dto/VolunteerInfoDTO.java | 5 ++ .../controller/VolunteerInfoController.java | 1 + .../epdc/dao/VlounteerTeamRealationDao.java | 18 +++++ .../impl/VolunteerInfoServiceImpl.java | 74 ++++++++++++++++--- .../mapper/VlounteerTeamRealationDao.xml | 11 +++ 6 files changed, 111 insertions(+), 10 deletions(-) diff --git a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/volunteer/controller/VolunteerTeamController.java b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/volunteer/controller/VolunteerTeamController.java index 4da3e9ed..84ea3271 100644 --- a/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/volunteer/controller/VolunteerTeamController.java +++ b/esua-epdc/epdc-module/epdc-heart/epdc-heart-server/src/main/java/com/elink/esua/epdc/modules/volunteer/controller/VolunteerTeamController.java @@ -152,4 +152,16 @@ public class VolunteerTeamController { return volunteerTeamService.getAllTeamListByName(dto); } + /** + * @describe: 后台管理-根据名称获取所有志愿团队列表 + * @author wangtong + * @date 2021/12/6 16:59 + * @params [dto] + * @return com.elink.esua.epdc.commons.tools.utils.Result + */ + @GetMapping("getSysAllTeamListByName") + public Result getSysAllTeamListByName(VolunteerUnionFormDTO dto){ + return volunteerTeamService.getAllTeamListByName(dto); + } + } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/VolunteerInfoDTO.java b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/VolunteerInfoDTO.java index 2a96262f..cfbba596 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/VolunteerInfoDTO.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/VolunteerInfoDTO.java @@ -238,4 +238,9 @@ public class VolunteerInfoDTO implements Serializable { * 志愿团队id */ private List teamIds; + + /** + * 后台管理-志愿团队id + */ + private List teamIdList; } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/VolunteerInfoController.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/VolunteerInfoController.java index d35ec90d..d6dc885e 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/VolunteerInfoController.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/controller/VolunteerInfoController.java @@ -133,6 +133,7 @@ public class VolunteerInfoController { dto.setVolunteerOrder(formDto.getVolunteerOrder()); dto.setId(formDto.getId()); dto.setTagId(formDto.getTagId()); + dto.setTeamIdList(formDto.getTeamIdList()); volunteerInfoService.update(dto); return new Result(); } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VlounteerTeamRealationDao.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VlounteerTeamRealationDao.java index 10a55916..6d0bbbde 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VlounteerTeamRealationDao.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/dao/VlounteerTeamRealationDao.java @@ -91,4 +91,22 @@ public interface VlounteerTeamRealationDao extends BaseDao selectVolunteerByTeamId(VolunteerUnionFormDTO dto); + + /** + * @describe: 通过志愿者id获取信息 + * @author wangtong + * @date 2021/12/6 17:54 + * @params [volunteerId] + * @return java.util.List + */ + List selectByVolunteerId(@Param("volunteerId") String volunteerId); + + /** + * @describe: 查询志愿者下的所有团队id + * @author wangtong + * @date 2021/12/6 18:12 + * @params [volunteerId] + * @return java.util.List + */ + List selectIdsByVoId(@Param("volunteerId") String volunteerId); } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java index b0571c10..a696aba7 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/VolunteerInfoServiceImpl.java @@ -19,7 +19,6 @@ package com.elink.esua.epdc.service.impl; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.map.MapUtil; -import com.alibaba.nacos.client.naming.utils.CollectionUtils; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.elink.esua.epdc.async.NewsTask; @@ -126,7 +125,9 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl havedInfo = vlounteerTeamRealationDao.selectByVolunteerId(entity.getId()); + //删除未选中的团队 + for(VlounteerTeamRealationEntity have : havedInfo){ + Boolean isHave = false; + for(String teamId : dto.getTeamIdList()){ + if(have.getTeamId().equals(teamId)){ + isHave = true; + break; + } + } + if(!isHave){ + vlounteerTeamRealationDao.deleteById(have.getId()); + } + } + // 新增录入的团队 + for(String teamId : dto.getTeamIdList()){ + Boolean isHave = false; + for(VlounteerTeamRealationEntity have : havedInfo){ + if(have.getTeamId().equals(teamId)){ + isHave = true; + break; + } + } + if(!isHave){ + VlounteerTeamRealationEntity newEntity = new VlounteerTeamRealationEntity(); + newEntity.setTeamId(teamId); + newEntity.setVolunteerId(entity.getId()); + vlounteerTeamRealationDao.insert(newEntity); + } + } } @Override @@ -482,16 +516,36 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl entityList = new ArrayList(); + //查询已加入的团队 + List havedInfo = vlounteerTeamRealationDao.selectByVolunteerId(volunteerEntity.getId()); + //删除未选中的团队 + for(VlounteerTeamRealationEntity have : havedInfo){ + Boolean isHave = false; for(String teamId : dto.getTeamIdList()){ - VlounteerTeamRealationEntity entity = new VlounteerTeamRealationEntity(); - entity.setVolunteerId(volunteerEntity.getId()); - entity.setTeamId(teamId); - entityList.add(entity); + if(have.getTeamId().equals(teamId)){ + isHave = true; + break; + } + } + if(!isHave){ + vlounteerTeamRealationDao.deleteById(have.getId()); + } + } + // 新增录入的团队 + for(String teamId : dto.getTeamIdList()){ + Boolean isHave = false; + for(VlounteerTeamRealationEntity have : havedInfo){ + if(have.getTeamId().equals(teamId)){ + isHave = true; + break; + } + } + if(!isHave){ + VlounteerTeamRealationEntity newEntity = new VlounteerTeamRealationEntity(); + newEntity.setTeamId(teamId); + newEntity.setVolunteerId(volunteerEntity.getId()); + vlounteerTeamRealationDao.insert(newEntity); } - vlounteerTeamRealationService.insertBatch(entityList); } } diff --git a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/VlounteerTeamRealationDao.xml b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/VlounteerTeamRealationDao.xml index 5197c83c..02c7090b 100644 --- a/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/VlounteerTeamRealationDao.xml +++ b/esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/resources/mapper/VlounteerTeamRealationDao.xml @@ -78,6 +78,17 @@ select * from epdc_vlounteer_team_realation where TEAM_ID=#{id} AND DEL_FLAG='0' + +