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/TIndexMenuController.java | 57 ++++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 44 insertions(+), 13 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TIndexMenuController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TIndexMenuController.java index 3c5693b..888218f 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TIndexMenuController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TIndexMenuController.java @@ -311,10 +311,17 @@ @ApiOperation(value = "推荐资料",tags = {"web-首页"}) @PostMapping(value = "/information/list") - public R<List<TInformation>> information() { - //获取当前登录人id - Long userId = tokenService.getLoginUser().getUserId(); - TUserChange one = changeService.lambdaQuery().eq(TUserChange::getUserId, userId).orderByDesc(TUserChange::getCreateTime).last("limit 1").one(); + public R<List<TInformation>> information(@RequestParam(required = false) Integer regionId, HttpServletRequest request) { + String token = request.getHeader("Authorization"); + TUserChange one =null; + Long userId; + if(StringUtils.isNotEmpty(token)){ + //获取当前登录人id + userId = tokenService.getLoginUser().getUserId(); + one = changeService.lambdaQuery().eq(TUserChange::getUserId, userId).orderByDesc(TUserChange::getCreateTime).last("limit 1").one(); + }else { + userId = -1L; + } List<TInformation> notices = new ArrayList<>(); if (one!=null){ List<TUserChangeDetail> list = changeDetailService.lambdaQuery().eq(TUserChangeDetail::getChangeId, one.getId()).list(); @@ -323,10 +330,20 @@ notices.addAll(list1); } notices.sort(Comparator.comparing(TInformation::getCreateTime).reversed()); - } + }else { // 创建 LambdaQueryWrapper 并设置查询条件 - List<TInformation> list1 = informationService.lambdaQuery().last("ORDER BY RAND() LIMIT 16").list(); + TRegion region = regionService.getById(regionId); + List<TRegion> regions = regionService.list(Wrappers.lambdaQuery(TRegion.class) + .eq(TRegion::getProvinceName, region.getProvinceName())); + List<Integer> regionIds = regions.stream().map(TRegion::getId).collect(Collectors.toList()); + List<TInformation> list1 = informationService.lambdaQuery() + .in(TInformation::getRegionId,regionIds).list(); notices.addAll(list1); + notices.sort(Comparator.comparing(TInformation::getCreateTime).reversed()); + } + // 创建 LambdaQueryWrapper 并设置查询条件 +// List<TInformation> list1 = informationService.lambdaQuery().last("ORDER BY RAND() LIMIT 16").list(); +// notices.addAll(list1); if (notices.size() > 16) { // 只保留前 16 条记录 @@ -343,10 +360,18 @@ @ApiOperation(value = "推荐课程",tags = {"web-首页"}) @PostMapping(value = "/course/list") - public R<List<TCourse>> course() { - //获取当前登录人id - Long userId = tokenService.getLoginUser().getUserId(); - TUserChange one = changeService.lambdaQuery().eq(TUserChange::getUserId, userId).orderByDesc(TUserChange::getCreateTime).last("limit 1").one(); + public R<List<TCourse>> course(@RequestParam(required = false) Integer regionId, HttpServletRequest request) { + String token = request.getHeader("Authorization"); + TUserChange one =null; + Long userId; + if(StringUtils.isNotEmpty(token)){ + //获取当前登录人id + //获取当前登录人id + userId = tokenService.getLoginUser().getUserId(); + one = changeService.lambdaQuery().eq(TUserChange::getUserId, userId).orderByDesc(TUserChange::getCreateTime).last("limit 1").one(); + }else { + userId = -1L; + } List<TCourse> notices = new ArrayList<>(); if (one!=null){ List<TUserChangeDetail> list = changeDetailService.lambdaQuery().eq(TUserChangeDetail::getChangeId, one.getId()).list(); @@ -357,10 +382,16 @@ notices.sort(Comparator.comparing(TCourse::getCreateTime).reversed()); }else { // 创建 LambdaQueryWrapper 并设置查询条件 - + TRegion region = regionService.getById(regionId); + List<TRegion> regions = regionService.list(Wrappers.lambdaQuery(TRegion.class) + .eq(TRegion::getProvinceName, region.getProvinceName())); + List<Integer> regionIds = regions.stream().map(TRegion::getId).collect(Collectors.toList()); + List<TCourse> list1 = courseService.lambdaQuery().in(TCourse::getRegionId,regionIds).list(); + notices.addAll(list1); + notices.sort(Comparator.comparing(TCourse::getCreateTime).reversed()); } - List<TCourse> list1 = courseService.lambdaQuery().last("ORDER BY RAND() LIMIT 16").list(); - notices.addAll(list1); +// List<TCourse> list1 = courseService.lambdaQuery().last("ORDER BY RAND() LIMIT 16").list(); +// notices.addAll(list1); if (notices.size() > 16) { // 只保留前 16 条记录 notices = new ArrayList<>(notices.subList(0, 16)); -- Gitblit v1.7.1