From 412ed345ecf217516fa697f0a25cf7e67559958f Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期四, 12 十二月 2024 18:20:43 +0800 Subject: [PATCH] 修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TConsultationController.java | 77 +++++++++++++++++++++++++++++++++----- 1 files changed, 66 insertions(+), 11 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TConsultationController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TConsultationController.java index eb7cad7..3a754ed 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TConsultationController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TConsultationController.java @@ -20,9 +20,11 @@ import javax.annotation.Resource; import javax.validation.Valid; +import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Set; +import java.util.stream.Collectors; /** * <p> @@ -74,7 +76,6 @@ appUserQuery.setRegionId1(Long.valueOf(information.getRegionId())); appUserQuery.setLevelId1(information.getLevel()); - List<Long> newIds = appUserService.getNewIds(appUserQuery); for (Long newId : newIds) { redisCache.setCacheObject("ALLERT:"+newId,information.getClassificationId()); @@ -117,16 +118,70 @@ public R<Page<TConsultation>> list(@RequestBody ConsultationQuery informationQuery) { Long userId = tokenService.getLoginUser().getUserId(); - Page<TConsultation> page = informationService.lambdaQuery() - .like(!StringUtils.isEmpty(informationQuery.getClassificationName()), TConsultation::getClassificationName, informationQuery.getClassificationName()) - .eq(informationQuery.getRegionId() != null, TConsultation::getRegionId, informationQuery.getRegionId()) - .eq(informationQuery.getTechnicalId() != null, TConsultation::getTitleId, informationQuery.getTechnicalId()) - .eq(informationQuery.getClassificationId() != null, TConsultation::getClassificationId, informationQuery.getClassificationId()) - .eq(informationQuery.getMajorId() != null, TConsultation::getMajorId, informationQuery.getMajorId()) - .eq(informationQuery.getLevel() != null, TConsultation::getLevel, informationQuery.getLevel()) - .orderByDesc(TConsultation::getClassificationSort) - .orderByDesc(TConsultation::getPubTime) - .page(Page.of(informationQuery.getPageNum(), informationQuery.getPageSize())); + Page<TConsultation> page; + if(StringUtils.isEmpty(informationQuery.getProvinceName())){ + if(informationQuery.getSortType()==1){ + page = informationService.lambdaQuery() + .like(!StringUtils.isEmpty(informationQuery.getClassificationName()), TConsultation::getClassificationName, informationQuery.getClassificationName()) + .eq(informationQuery.getRegionId() != null, TConsultation::getRegionId, informationQuery.getRegionId()) + .eq(informationQuery.getTechnicalId() != null, TConsultation::getTitleId, informationQuery.getTechnicalId()) + .eq(informationQuery.getClassificationId() != null, TConsultation::getClassificationId, informationQuery.getClassificationId()) + .eq(informationQuery.getMajorId() != null, TConsultation::getMajorId, informationQuery.getMajorId()) + .eq(informationQuery.getLevel() != null, TConsultation::getLevel, informationQuery.getLevel()) + .orderByDesc(TConsultation::getCreateTime) + .orderByDesc(TConsultation::getPubTime) + .page(Page.of(informationQuery.getPageNum(), informationQuery.getPageSize())); + }else { + page = informationService.lambdaQuery() + .like(!StringUtils.isEmpty(informationQuery.getClassificationName()), TConsultation::getClassificationName, informationQuery.getClassificationName()) + .eq(informationQuery.getRegionId() != null, TConsultation::getRegionId, informationQuery.getRegionId()) + .eq(informationQuery.getTechnicalId() != null, TConsultation::getTitleId, informationQuery.getTechnicalId()) + .eq(informationQuery.getClassificationId() != null, TConsultation::getClassificationId, informationQuery.getClassificationId()) + .eq(informationQuery.getMajorId() != null, TConsultation::getMajorId, informationQuery.getMajorId()) + .eq(informationQuery.getLevel() != null, TConsultation::getLevel, informationQuery.getLevel()) + .orderByDesc(TConsultation::getClassificationSort) + .orderByDesc(TConsultation::getPubTime) + .page(Page.of(informationQuery.getPageNum(), informationQuery.getPageSize())); + } + }else { + List<TRegion> list; + // 查询省份下的市 + if(informationQuery.getProvinceName().equals("直辖市")){ + List<String> cityList = new ArrayList<>(); + cityList.add("北京市"); + cityList.add("天津市"); + cityList.add("重庆市"); + cityList.add("上海市"); + list = regionService.lambdaQuery().in(TRegion::getProvinceName, cityList).list(); + }else { + list = regionService.lambdaQuery().eq(TRegion::getProvinceName, informationQuery.getProvinceName()).list(); + } + List<Integer> ids = list.stream().map(TRegion::getId).collect(Collectors.toList()); + if(informationQuery.getSortType()==1){ + page = informationService.lambdaQuery() + .like(!StringUtils.isEmpty(informationQuery.getClassificationName()), TConsultation::getClassificationName, informationQuery.getClassificationName()) + .in( TConsultation::getRegionId, ids) + .eq(informationQuery.getTechnicalId() != null, TConsultation::getTitleId, informationQuery.getTechnicalId()) + .eq(informationQuery.getClassificationId() != null, TConsultation::getClassificationId, informationQuery.getClassificationId()) + .eq(informationQuery.getMajorId() != null, TConsultation::getMajorId, informationQuery.getMajorId()) + .eq(informationQuery.getLevel() != null, TConsultation::getLevel, informationQuery.getLevel()) + .orderByDesc(TConsultation::getCreateTime) + .orderByDesc(TConsultation::getPubTime) + .page(Page.of(informationQuery.getPageNum(), informationQuery.getPageSize())); + }else { + page = informationService.lambdaQuery() + .like(!StringUtils.isEmpty(informationQuery.getClassificationName()), TConsultation::getClassificationName, informationQuery.getClassificationName()) + .in( TConsultation::getRegionId, ids) + .eq(informationQuery.getTechnicalId() != null, TConsultation::getTitleId, informationQuery.getTechnicalId()) + .eq(informationQuery.getClassificationId() != null, TConsultation::getClassificationId, informationQuery.getClassificationId()) + .eq(informationQuery.getMajorId() != null, TConsultation::getMajorId, informationQuery.getMajorId()) + .eq(informationQuery.getLevel() != null, TConsultation::getLevel, informationQuery.getLevel()) + .orderByDesc(TConsultation::getClassificationSort) + .orderByDesc(TConsultation::getPubTime) + .page(Page.of(informationQuery.getPageNum(), informationQuery.getPageSize())); + } + } + Set<Long> cacheSet = redisCache.getCacheSet("Consultation:" + userId); -- Gitblit v1.7.1