From 0343073e12a23850bef7c2718950b995d1bd758e Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Fri, 31 Dec 2021 15:49:30 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=201.=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=BF=97=E6=84=BF=E8=80=85=E5=88=97=E8=A1=A8agencyId?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/resi/VolunteerCommonFormDTO.java | 4 +- .../controller/ResiVolunteerController.java | 8 +-- .../epmet/service/VolunteerInfoService.java | 12 ++++- .../impl/VolunteerInfoServiceImpl.java | 51 ++++++++++++------- .../service/impl/VolunteerServiceImpl.java | 4 +- 5 files changed, 50 insertions(+), 29 deletions(-) diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/VolunteerCommonFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/VolunteerCommonFormDTO.java index 9a5e2fdc7f..4a9973d735 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/VolunteerCommonFormDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/VolunteerCommonFormDTO.java @@ -20,9 +20,9 @@ public class VolunteerCommonFormDTO { private String customerId; /** - * 上级组织ID,使用PIDS like,查询该组织下所有志愿者,注意,是like 'agencyId:%' + * 组织ID */ - private String superiorAgencyId; + private String agencyId; private Integer pageNo = 0; diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiVolunteerController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiVolunteerController.java index ed5609eed3..39da0690af 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiVolunteerController.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiVolunteerController.java @@ -141,8 +141,8 @@ public class ResiVolunteerController { Integer pageNo = input.getPageNo(); Integer pageSize = input.getPageSize(); String customerId = input.getCustomerId(); - String superiorAgencyId = input.getSuperiorAgencyId(); - List l = volunteerInfoService.queryVolunteerPage(customerId, pageNo, pageSize, superiorAgencyId); + String agencyId = input.getAgencyId(); + List l = volunteerInfoService.queryVolunteerPage(customerId, pageNo, pageSize, agencyId); return new Result>().ok(l); } @@ -154,9 +154,9 @@ public class ResiVolunteerController { @PostMapping("count") public Result getVolunteerCount(@RequestBody VolunteerCommonFormDTO input) { String customerId = input.getCustomerId(); - String pidsPrefix = input.getSuperiorAgencyId(); + String agencyId = input.getAgencyId(); - Integer volunteerCount = volunteerInfoService.getVolunteerCount(customerId, pidsPrefix); + Integer volunteerCount = volunteerInfoService.getVolunteerCount(customerId, agencyId); return new Result().ok(volunteerCount); } } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/VolunteerInfoService.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/VolunteerInfoService.java index adf45e6437..f9db916bbe 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/VolunteerInfoService.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/VolunteerInfoService.java @@ -95,12 +95,20 @@ public interface VolunteerInfoService extends BaseService { */ List queryListVolunteer(String customerId,String staffId,String userRealName); - List queryVolunteerPage(String customerId, Integer pageNo, Integer pageSize, String superiorAgencyId); + /** + * @param customerId + * @param pageNo + * @param pageSize + * @param agencyId 组织ID,使用PIDS like,查询该组织"及下级"所有志愿者 + * @return + */ + List queryVolunteerPage(String customerId, Integer pageNo, Integer pageSize, String agencyId); /** * 查询志愿者数量 * @param customerId + * @param agencyId 组织ID,查询该组织"及下级"下所有的志愿者 * @return */ - Integer getVolunteerCount(String customerId, String pidsPrefix); + Integer getVolunteerCount(String customerId, String agencyId); } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/VolunteerInfoServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/VolunteerInfoServiceImpl.java index de63c1f712..ee7f66bc8a 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/VolunteerInfoServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/VolunteerInfoServiceImpl.java @@ -359,24 +359,11 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl queryVolunteerPage(String customerId, Integer pageNo, Integer pageSize, String superiorAgencyId) { + public List queryVolunteerPage(String customerId, Integer pageNo, Integer pageSize, String agencyId) { LambdaQueryWrapper query = new LambdaQueryWrapper<>(); Optional.ofNullable(customerId).ifPresent(cid -> query.eq(VolunteerInfoEntity::getCustomerId, cid)); - Optional.ofNullable(superiorAgencyId).ifPresent(cid -> { - - // 需要查询agency的pids:id,通过这个字符串去匹配志愿者的Pids字段来查询 - String errorMsg = "【分页查询志愿者列表】失败"; - CustomerAgencyDTO agencyInfo = getResultDataOrThrowsException(govOrgOpenFeignClient.getAgencyById(superiorAgencyId), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg); - if (agencyInfo == null) { - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg); - } - - String pidsAndAgencyIdPath = agencyInfo.getPids().concat(":").concat(superiorAgencyId); - if (pidsAndAgencyIdPath.startsWith(":")) { - pidsAndAgencyIdPath = pidsAndAgencyIdPath.replaceFirst(":", ""); - } - - query.likeRight(VolunteerInfoEntity::getPids, pidsAndAgencyIdPath); + Optional.ofNullable(agencyId).ifPresent(aid -> { + query.likeRight(VolunteerInfoEntity::getPids, getPidsByAgencyId(aid)); }); PageHelper.startPage(pageNo, pageSize); @@ -392,17 +379,43 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl query = new LambdaQueryWrapper<>(); Optional.ofNullable(customerId).ifPresent((cId) -> { query.eq(VolunteerInfoEntity::getCustomerId, cId); }); - Optional.ofNullable(pidsPrefix).ifPresent((pidsPrefixt) -> { - query.likeRight(VolunteerInfoEntity::getPids, pidsPrefixt); + Optional.ofNullable(agencyId).ifPresent((aid) -> { + query.likeRight(VolunteerInfoEntity::getPids, getPidsByAgencyId(aid)); }); return baseDao.selectCount(query); } + + /** + * 使用agencyId,获取pids(agencyPids:agencyId) + * @param agencyId + * @return + */ + private String getPidsByAgencyId(String agencyId) { + // 需要查询agency的pids:id,通过这个字符串去匹配志愿者的Pids字段来查询 + String errorMsg = "【分页查询志愿者列表】失败"; + CustomerAgencyDTO agencyInfo = getResultDataOrThrowsException(govOrgOpenFeignClient.getAgencyById(agencyId), + ServiceConstant.GOV_ORG_SERVER, + EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), + errorMsg, + errorMsg); + + if (agencyInfo == null) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg); + } + + String pidsAndAgencyIdPath = agencyInfo.getPids().concat(":").concat(agencyId); + if (pidsAndAgencyIdPath.startsWith(":")) { + pidsAndAgencyIdPath = pidsAndAgencyIdPath.replaceFirst(":", ""); + } + + return pidsAndAgencyIdPath; + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/VolunteerServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/VolunteerServiceImpl.java index 9aa05b6b27..a25f7d2ad7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/VolunteerServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/VolunteerServiceImpl.java @@ -103,7 +103,7 @@ public class VolunteerServiceImpl implements VolunteerService, ResultDataResolve String vcErrorMsg = "【志愿者分布】查询志愿者总数出错"; VolunteerCommonFormDTO volunteerCountForm = new VolunteerCommonFormDTO(); volunteerCountForm.setCustomerId(customerId); - volunteerCountForm.setSuperiorAgencyId(agencyId); + volunteerCountForm.setAgencyId(agencyId); Integer volunteerCount = getResultDataOrThrowsException(epmetHeartOpenFeignClient.getVolunteerCount(volunteerCountForm), ServiceConstant.EPMET_HEART_SERVER, EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), @@ -237,7 +237,7 @@ public class VolunteerServiceImpl implements VolunteerService, ResultDataResolve private List listVolunteersByPage(String customerId, String agencyId, Integer pageNo, Integer pageSize) { VolunteerCommonFormDTO volunteerForm = new VolunteerCommonFormDTO(); volunteerForm.setCustomerId(customerId); - volunteerForm.setSuperiorAgencyId(agencyId); + volunteerForm.setAgencyId(agencyId); volunteerForm.setPageNo(pageNo); volunteerForm.setPageSize(pageSize); From a9104ed36d002f5140dd7af5ecffa3d02b762034 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 31 Dec 2021 16:33:19 +0800 Subject: [PATCH 2/6] bug --- .../main/java/com/epmet/dao/ProjectDao.java | 2 +- .../service/impl/ProjectServiceImpl.java | 9 ++++---- .../src/main/resources/mapper/ProjectDao.xml | 22 +++++++++---------- 3 files changed, 16 insertions(+), 17 deletions(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java index 52fd49dcbb..0f91019b54 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/dao/ProjectDao.java @@ -265,6 +265,6 @@ public interface ProjectDao extends BaseDao { * @author zxc * @date 2021/12/10 10:31 上午 */ - List selectProjectCountByOrg(List orgIds,@Param("startDate")String startDate,@Param("endDate")String endDate); + List selectProjectCountByOrg(List orgIds,@Param("startDate")String startDate,@Param("endDate")String endDate); } \ No newline at end of file diff --git a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java index b5ec695203..7c72732c7c 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java +++ b/epmet-module/gov-project/gov-project-server/src/main/java/com/epmet/service/impl/ProjectServiceImpl.java @@ -25,8 +25,8 @@ import com.epmet.commons.rocketmq.messages.ProjectChangedMQMsg; import com.epmet.commons.tools.constant.*; import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult; import com.epmet.commons.tools.exception.EpmetErrorCode; -import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.EpmetException; +import com.epmet.commons.tools.exception.ExceptionUtils; import com.epmet.commons.tools.exception.RenException; import com.epmet.commons.tools.page.PageData; import com.epmet.commons.tools.redis.common.CustomerOrgRedis; @@ -58,11 +58,12 @@ import com.epmet.resi.mine.dto.from.MyPartProjectsFormDTO; import com.epmet.send.SendMqMsgUtil; import com.epmet.service.*; import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; import com.google.common.base.Joiner; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import org.apache.commons.collections4.CollectionUtils; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.ListUtils; import org.apache.commons.io.FilenameUtils; import org.apache.commons.lang3.StringUtils; @@ -76,7 +77,6 @@ import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.multipart.MultipartFile; - import javax.servlet.http.HttpServletRequest; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -2922,6 +2922,7 @@ public class ProjectServiceImpl extends BaseServiceImpl orgIds = sonOrgList.getData(); for (SonOrgResultDTO o : orgIds) { ProjectDistributionAnalysisRightDTO dto = new ProjectDistributionAnalysisRightDTO(); @@ -2930,7 +2931,7 @@ public class ProjectServiceImpl extends BaseServiceImpl dtos; if (!agencyInfo.getLevel().equals(ProjectConstant.ORG_LEVEL_COMMUNITY)){ - dtos = baseDao.selectProjectCountByOrg(orgIds.stream().map(m -> m.getOrgId()).collect(Collectors.toList()), formDTO.getStartDate(), formDTO.getEndDate()); + dtos = baseDao.selectProjectCountByOrg(orgIds, formDTO.getStartDate(),formDTO.getEndDate()); }else { Result> projectCountByGrid = govIssueOpenFeignClient.getProjectCountByGrid(formDTO); if (!projectCountByGrid.success()){ diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml index ee1bfdf8f4..4d8743c676 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml @@ -472,17 +472,15 @@ \ No newline at end of file From ad84e1728493869003c7aa765d736fd11ca91894 Mon Sep 17 00:00:00 2001 From: sunyuchao Date: Fri, 31 Dec 2021 16:33:28 +0800 Subject: [PATCH 3/6] =?UTF-8?q?bug=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/service/impl/CustomerGridServiceImpl.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java index f95eb8343a..03bb84ba0d 100644 --- a/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java +++ b/epmet-module/gov-org/gov-org-server/src/main/java/com/epmet/service/impl/CustomerGridServiceImpl.java @@ -771,6 +771,9 @@ public class CustomerGridServiceImpl extends BaseServiceImpl Date: Fri, 31 Dec 2021 16:41:12 +0800 Subject: [PATCH 4/6] =?UTF-8?q?bug=E4=B9=8B:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gov-project-server/src/main/resources/mapper/ProjectDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml index 4d8743c676..c614292f92 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml @@ -478,7 +478,7 @@ COUNT(ID) AS count FROM project WHERE DEL_FLAG = '0' - AND ORG_ID_PATH LIKE CONCAT(#{o.pids},#{o.orgId},'%') + AND ORG_ID_PATH LIKE CONCAT(#{o.pids},':',#{o.orgId},'%') AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') >= #{startDate} AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') #{endDate} From b83d07bfb3d43551af05c483b5e82fb008bdf593 Mon Sep 17 00:00:00 2001 From: zxc <1272811460@qq.com> Date: Fri, 31 Dec 2021 16:46:42 +0800 Subject: [PATCH 5/6] =?UTF-8?q?bug=E4=B9=8B=E8=8B=B1=E6=96=87:?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gov-project-server/src/main/resources/mapper/ProjectDao.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml index c614292f92..a43a05d0b8 100644 --- a/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml +++ b/epmet-module/gov-project/gov-project-server/src/main/resources/mapper/ProjectDao.xml @@ -478,7 +478,7 @@ COUNT(ID) AS count FROM project WHERE DEL_FLAG = '0' - AND ORG_ID_PATH LIKE CONCAT(#{o.pids},':',#{o.orgId},'%') + AND ORG_ID_PATH LIKE CONCAT(#{o.pids},':',#{o.orgId},'%') AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') >= #{startDate} AND DATE_FORMAT(CREATED_TIME,'%Y-%m-%d') #{endDate} From a2ef3a9668107e913861f88bed9027e4569b30ad Mon Sep 17 00:00:00 2001 From: wangxianzhang Date: Fri, 31 Dec 2021 17:43:45 +0800 Subject: [PATCH 6/6] =?UTF-8?q?=E4=BF=AE=E6=94=B9=EF=BC=9A=201.=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E5=BF=97=E6=84=BF=E8=80=85=E5=88=97=E8=A1=A8agencyId?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/form/resi/VolunteerCommonFormDTO.java | 4 +- .../controller/ResiVolunteerController.java | 8 +-- .../epmet/service/VolunteerInfoService.java | 12 ++++- .../impl/VolunteerInfoServiceImpl.java | 51 ++++++++++++------- .../service/impl/VolunteerServiceImpl.java | 4 +- 5 files changed, 50 insertions(+), 29 deletions(-) diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/VolunteerCommonFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/VolunteerCommonFormDTO.java index 9a5e2fdc7f..4a9973d735 100644 --- a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/VolunteerCommonFormDTO.java +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/resi/VolunteerCommonFormDTO.java @@ -20,9 +20,9 @@ public class VolunteerCommonFormDTO { private String customerId; /** - * 上级组织ID,使用PIDS like,查询该组织下所有志愿者,注意,是like 'agencyId:%' + * 组织ID */ - private String superiorAgencyId; + private String agencyId; private Integer pageNo = 0; diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiVolunteerController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiVolunteerController.java index ed5609eed3..39da0690af 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiVolunteerController.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiVolunteerController.java @@ -141,8 +141,8 @@ public class ResiVolunteerController { Integer pageNo = input.getPageNo(); Integer pageSize = input.getPageSize(); String customerId = input.getCustomerId(); - String superiorAgencyId = input.getSuperiorAgencyId(); - List l = volunteerInfoService.queryVolunteerPage(customerId, pageNo, pageSize, superiorAgencyId); + String agencyId = input.getAgencyId(); + List l = volunteerInfoService.queryVolunteerPage(customerId, pageNo, pageSize, agencyId); return new Result>().ok(l); } @@ -154,9 +154,9 @@ public class ResiVolunteerController { @PostMapping("count") public Result getVolunteerCount(@RequestBody VolunteerCommonFormDTO input) { String customerId = input.getCustomerId(); - String pidsPrefix = input.getSuperiorAgencyId(); + String agencyId = input.getAgencyId(); - Integer volunteerCount = volunteerInfoService.getVolunteerCount(customerId, pidsPrefix); + Integer volunteerCount = volunteerInfoService.getVolunteerCount(customerId, agencyId); return new Result().ok(volunteerCount); } } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/VolunteerInfoService.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/VolunteerInfoService.java index adf45e6437..f9db916bbe 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/VolunteerInfoService.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/VolunteerInfoService.java @@ -95,12 +95,20 @@ public interface VolunteerInfoService extends BaseService { */ List queryListVolunteer(String customerId,String staffId,String userRealName); - List queryVolunteerPage(String customerId, Integer pageNo, Integer pageSize, String superiorAgencyId); + /** + * @param customerId + * @param pageNo + * @param pageSize + * @param agencyId 组织ID,使用PIDS like,查询该组织"及下级"所有志愿者 + * @return + */ + List queryVolunteerPage(String customerId, Integer pageNo, Integer pageSize, String agencyId); /** * 查询志愿者数量 * @param customerId + * @param agencyId 组织ID,查询该组织"及下级"下所有的志愿者 * @return */ - Integer getVolunteerCount(String customerId, String pidsPrefix); + Integer getVolunteerCount(String customerId, String agencyId); } diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/VolunteerInfoServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/VolunteerInfoServiceImpl.java index 0713d4bfdd..e66b5734fb 100644 --- a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/VolunteerInfoServiceImpl.java +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/VolunteerInfoServiceImpl.java @@ -352,24 +352,11 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl queryVolunteerPage(String customerId, Integer pageNo, Integer pageSize, String superiorAgencyId) { + public List queryVolunteerPage(String customerId, Integer pageNo, Integer pageSize, String agencyId) { LambdaQueryWrapper query = new LambdaQueryWrapper<>(); Optional.ofNullable(customerId).ifPresent(cid -> query.eq(VolunteerInfoEntity::getCustomerId, cid)); - Optional.ofNullable(superiorAgencyId).ifPresent(cid -> { - - // 需要查询agency的pids:id,通过这个字符串去匹配志愿者的Pids字段来查询 - String errorMsg = "【分页查询志愿者列表】失败"; - CustomerAgencyDTO agencyInfo = getResultDataOrThrowsException(govOrgOpenFeignClient.getAgencyById(superiorAgencyId), ServiceConstant.GOV_ORG_SERVER, EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg); - if (agencyInfo == null) { - throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg); - } - - String pidsAndAgencyIdPath = agencyInfo.getPids().concat(":").concat(superiorAgencyId); - if (pidsAndAgencyIdPath.startsWith(":")) { - pidsAndAgencyIdPath = pidsAndAgencyIdPath.replaceFirst(":", ""); - } - - query.likeRight(VolunteerInfoEntity::getPids, pidsAndAgencyIdPath); + Optional.ofNullable(agencyId).ifPresent(aid -> { + query.likeRight(VolunteerInfoEntity::getPids, getPidsByAgencyId(aid)); }); PageHelper.startPage(pageNo, pageSize); @@ -385,17 +372,43 @@ public class VolunteerInfoServiceImpl extends BaseServiceImpl query = new LambdaQueryWrapper<>(); Optional.ofNullable(customerId).ifPresent((cId) -> { query.eq(VolunteerInfoEntity::getCustomerId, cId); }); - Optional.ofNullable(pidsPrefix).ifPresent((pidsPrefixt) -> { - query.likeRight(VolunteerInfoEntity::getPids, pidsPrefixt); + Optional.ofNullable(agencyId).ifPresent((aid) -> { + query.likeRight(VolunteerInfoEntity::getPids, getPidsByAgencyId(aid)); }); return baseDao.selectCount(query); } + + /** + * 使用agencyId,获取pids(agencyPids:agencyId) + * @param agencyId + * @return + */ + private String getPidsByAgencyId(String agencyId) { + // 需要查询agency的pids:id,通过这个字符串去匹配志愿者的Pids字段来查询 + String errorMsg = "【分页查询志愿者列表】失败"; + CustomerAgencyDTO agencyInfo = getResultDataOrThrowsException(govOrgOpenFeignClient.getAgencyById(agencyId), + ServiceConstant.GOV_ORG_SERVER, + EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), + errorMsg, + errorMsg); + + if (agencyInfo == null) { + throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), errorMsg, errorMsg); + } + + String pidsAndAgencyIdPath = agencyInfo.getPids().concat(":").concat(agencyId); + if (pidsAndAgencyIdPath.startsWith(":")) { + pidsAndAgencyIdPath = pidsAndAgencyIdPath.replaceFirst(":", ""); + } + + return pidsAndAgencyIdPath; + } } diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/VolunteerServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/VolunteerServiceImpl.java index 9aa05b6b27..a25f7d2ad7 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/VolunteerServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/VolunteerServiceImpl.java @@ -103,7 +103,7 @@ public class VolunteerServiceImpl implements VolunteerService, ResultDataResolve String vcErrorMsg = "【志愿者分布】查询志愿者总数出错"; VolunteerCommonFormDTO volunteerCountForm = new VolunteerCommonFormDTO(); volunteerCountForm.setCustomerId(customerId); - volunteerCountForm.setSuperiorAgencyId(agencyId); + volunteerCountForm.setAgencyId(agencyId); Integer volunteerCount = getResultDataOrThrowsException(epmetHeartOpenFeignClient.getVolunteerCount(volunteerCountForm), ServiceConstant.EPMET_HEART_SERVER, EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), @@ -237,7 +237,7 @@ public class VolunteerServiceImpl implements VolunteerService, ResultDataResolve private List listVolunteersByPage(String customerId, String agencyId, Integer pageNo, Integer pageSize) { VolunteerCommonFormDTO volunteerForm = new VolunteerCommonFormDTO(); volunteerForm.setCustomerId(customerId); - volunteerForm.setSuperiorAgencyId(agencyId); + volunteerForm.setAgencyId(agencyId); volunteerForm.setPageNo(pageNo); volunteerForm.setPageSize(pageSize);