From 381bd9f6a9525b11d574b4a4f79925d99d3ad626 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期五, 13 十二月 2024 22:05:59 +0800 Subject: [PATCH] 修改 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TConsultationController.java | 79 ++++++++++++++++++++++++++++++++++----- 1 files changed, 68 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 dcaf558..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); @@ -157,6 +212,8 @@ @PostMapping(value = "/detail") public R<TConsultation> detail(@RequestParam Long id ) { TConsultation byId = informationService.getById(id); + byId.setWatchNum(byId.getWatchNum()+1); + informationService.updateById(byId); TTechnicalTitle byId1 = tTechnicalTitleService.getById(byId.getTitleId()); byId.setTechnicalName(byId1.getTitileName()); TTitleMajor byId2 = majorService.getById(byId.getMajorId()); -- Gitblit v1.7.1